SpyBara
Go Premium

Documentation 2026-10-21 23:02 UTC to 2026-10-22 23:59 UTC

8 files changed +32 −15. View all changes and history on the product overview
2026
Sat 31 23:59 Fri 30 23:58 Thu 29 23:01 Wed 28 23:01 Tue 27 23:58 Mon 26 22:57 Sun 25 22:58 Sat 24 23:59 Fri 23 23:57 Thu 22 23:59 Wed 21 23:02 Tue 20 23:01 Mon 19 23:59 Sun 18 23:57 Sat 17 23:58 Fri 16 22:57 Thu 15 23:58 Wed 14 23:01 Tue 13 23:59 Mon 12 23:02 Sun 11 23:58 Sat 10 23:59 Fri 9 23:59 Thu 8 23:58 Wed 7 23:59 Tue 6 22:57 Mon 5 22:59 Sun 4 23:58 Sat 3 23:58 Fri 2 23:57 Thu 1 23:57
Details

271 271 

272### Enterprise Compliance & Security272### Enterprise Compliance & Security

273 273 

274The SpaceXSI Voice APIs are built for production workloads with strict security and compliance requirements. All audio data is processed in real time and never stored or used for training.274The SpaceXSI Voice APIs are built for production workloads with strict security and compliance requirements. With [Zero Data Retention (ZDR)](/developers/faq/security#what-is-zero-data-retention-zdr), all audio data is processed in real time and never stored or used for training.

275 275 

276* **SOC 2 Type II** — Audited controls for security, availability, and confidentiality276* **SOC 2 Type II** — Audited controls for security, availability, and confidentiality

277 277 

Details

268>268>

269> Set `temperature` to 0.7 and `top_p` to 0.95, and don't deviate far from these values. Grok models don't respond well to other sampling settings, and quality usually drops when you change them.269> Set `temperature` to 0.7 and `top_p` to 0.95, and don't deviate far from these values. Grok models don't respond well to other sampling settings, and quality usually drops when you change them.

270 270 

271On [`POST /v1/chat/completions`](/developers/rest-api-reference/inference/chat-completions) and [`POST /v1/responses`](/developers/rest-api-reference/inference/responses), sampling uses at most `temperature` 1 and at most the model's default `top_p`. Current Grok text models default `top_p` to 0.95. The API accepts `temperature` from 0 to 2 and `top_p` up to 1, and a value above a cap is sampled as that cap. The Responses API echoes the values you sent on the response, including values above the cap. Omitting a field uses the model's default for that field.

272 

271Set both values explicitly on every request so your results don't depend on server defaults, and use the same values for every model you compare.273Set both values explicitly on every request so your results don't depend on server defaults, and use the same values for every model you compare.

272 274 

273### Errors, retries, and rate limits275### Errors, retries, and rate limits

rate-limits.md +3 −3

Details

41| grok-4.20-0309-non-reasoning | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |41| grok-4.20-0309-non-reasoning | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |

42| grok-build-0.1 | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |42| grok-build-0.1 | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |

43| grok-4.20-multi-agent-0309 | T0: 9, T1: 12, T2: 18, T3: 31, T4: 56 | T0: 2.5M, T1: 3.7M, T2: 6.2M, T3: 11M, T4: 21M |43| grok-4.20-multi-agent-0309 | T0: 9, T1: 12, T2: 18, T3: 31, T4: 56 | T0: 2.5M, T1: 3.7M, T2: 6.2M, T3: 11M, T4: 21M |

44| grok-imagine-image-quality | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

44| grok-imagine-image | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |45| grok-imagine-image | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

45| grok-imagine-image-2.0 | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |46| grok-imagine-image-2.0 | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

46| grok-imagine-image-quality | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

47| grok-imagine-video | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

48| grok-imagine-video-1.5-lite | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

49| grok-imagine-video-1.5 | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |47| grok-imagine-video-1.5 | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

48| grok-imagine-video-1.5-lite | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

49| grok-imagine-video | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

50 50 

51**Voice & Audio**51**Voice & Audio**

52 52 

Details

336 336 

337 * `include_usage` (boolean, required) — Set an additional chunk to be streamed before the \`data: \[DONE]\` message. The other chunks will return \`null\` in \`usage\` field.337 * `include_usage` (boolean, required) — Set an additional chunk to be streamed before the \`data: \[DONE]\` message. The other chunks will return \`null\` in \`usage\` field.

338 338 

339 * `temperature` (number | null) — What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.339 * `temperature` (number | null) — What sampling temperature to use, between 0 and 2. Values above 1 are sampled as 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.

340 340 

341 * `tool_choice` (string | object)341 * `tool_choice` (string | object)

342 342 


344 344 

345 * `top_logprobs` (integer | null) — An integer between 0 and 8 specifying the number of most likely tokens to return at each token position, each with an associated log probability. logprobs must be set to true if this parameter is used.345 * `top_logprobs` (integer | null) — An integer between 0 and 8 specifying the number of most likely tokens to return at each token position, each with an associated log probability. logprobs must be set to true if this parameter is used.

346 346 

347 * `top_p` (number | null) — An alternative to sampling with \`temperature\`, called nucleus sampling, where the model considers the results of the tokens with \`top\_p\` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. It is generally recommended to alter this or \`temperature\` but not both.347 * `top_p` (number | null) — An alternative to sampling with \`temperature\`, called nucleus sampling, where the model considers the results of the tokens with \`top\_p\` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. Values above the model's default \`top\_p\` are sampled as that default. It is generally recommended to alter this or \`temperature\` but not both.

348 348 

349 * `user` (string | null) — A unique identifier representing your end-user, which can help xAI to monitor and detect abuse.349 * `user` (string | null) — A unique identifier representing your end-user, which can help xAI to monitor and detect abuse.

350 350 

Details

4 4 

5The Chat Completions API is the stateless, OpenAI-compatible predecessor of the [Responses API](/developers/rest-api-reference/inference/responses). New integrations should use Responses; see [Migrating from Chat Completions](/developers/model-capabilities/text/comparison).5The Chat Completions API is the stateless, OpenAI-compatible predecessor of the [Responses API](/developers/rest-api-reference/inference/responses). New integrations should use Responses; see [Migrating from Chat Completions](/developers/model-capabilities/text/comparison).

6 6 

7Sampling uses at most `temperature` 1 and at most the model's default `top_p`. Requests may send `temperature` from 0 to 2 and `top_p` up to 1; a value above a cap is sampled as that cap. See [Sampling parameters](/developers/model-capabilities/text/best-practices#sampling-parameters).

8 

7***9***

8 10 

9## POST /v1/chat/completions11## POST /v1/chat/completions

Details

24 image: the list length must equal \`n\` (default 1). Each PUT sends a24 image: the list length must equal \`n\` (default 1). Each PUT sends a

25 \`Content-Type\` equal to the image's \`mime\_type\` in the response25 \`Content-Type\` equal to the image's \`mime\_type\` in the response

26 (\`image/jpeg\` unless the requested quality produces PNG), so sign the26 (\`image/jpeg\` unless the requested quality produces PNG), so sign the

27 URL for that type or without a Content-Type constraint.27 URL for that type or without a Content-Type constraint. Azure Blob SAS

28 URLs also get \`x-ms-blob-type: BlockBlob\`.

28 29 

29* `prompt` (string) — Prompt for image generation.30* `prompt` (string) — Prompt for image generation.

30 31 


215 image: the list length must equal \`n\` (default 1). Each PUT sends a216 image: the list length must equal \`n\` (default 1). Each PUT sends a

216 \`Content-Type\` equal to the image's \`mime\_type\` in the response217 \`Content-Type\` equal to the image's \`mime\_type\` in the response

217 (\`image/jpeg\` unless the requested quality produces PNG), so sign the218 (\`image/jpeg\` unless the requested quality produces PNG), so sign the

218 URL for that type or without a Content-Type constraint.219 URL for that type or without a Content-Type constraint. Azure Blob SAS

220 URLs also get \`x-ms-blob-type: BlockBlob\`.

219 221 

220* `prompt` (string, required) — Prompt for image editing.222* `prompt` (string, required) — Prompt for image editing.

221 223 

Details

4 4 

5The Responses API is the primary interface for text generation, reasoning, and tool use. See the [Text Generation guide](/developers/model-capabilities/text/generate-text) for usage.5The Responses API is the primary interface for text generation, reasoning, and tool use. See the [Text Generation guide](/developers/model-capabilities/text/generate-text) for usage.

6 6 

7Sampling uses at most `temperature` 1 and at most the model's default `top_p`. Requests may send `temperature` from 0 to 2 and `top_p` up to 1, and the response echoes the values you sent. A value above a cap is sampled as that cap. See [Sampling parameters](/developers/model-capabilities/text/best-practices#sampling-parameters).

8 

7***9***

8 10 

9## POST /v1/responses11## POST /v1/responses


164 166 

165* `store` (boolean, required) — Whether to store the input message(s) and model response for later retrieval.167* `store` (boolean, required) — Whether to store the input message(s) and model response for later retrieval.

166 168 

167* `temperature` (number | null) — What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.169* `temperature` (number | null) — Sampling temperature echoed from the request, or the model's default when the request omits it. Between 0 and 2. Sampling uses at most 1, so a sent value above 1 is echoed here and sampled as 1.

168 170 

169* `text` (object, required)171* `text` (object, required)

170 172 


180 182 

181* `top_logprobs` (integer, required) — An integer between 0 and 8 specifying the number of most likely tokens to return at each token position.183* `top_logprobs` (integer, required) — An integer between 0 and 8 specifying the number of most likely tokens to return at each token position.

182 184 

183* `top_p` (number | null) — An alternative to sampling with \`temperature\`, called nucleus sampling, where the model considers the results of the tokens with \`top\_p\` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. It is generally recommended to alter this or \`temperature\` but not both.185* `top_p` (number | null) — Nucleus sampling \`top\_p\` echoed from the request, or the model's default when the request omits it. Sampling uses at most the model's default \`top\_p\`, so a higher sent value is echoed here and sampled as that default.

184 186 

185* `truncation` (string, required) — The truncation strategy to use for the model response.187* `truncation` (string, required) — The truncation strategy to use for the model response.

186 188 


424 426 

425* `store` (boolean, required) — Whether to store the input message(s) and model response for later retrieval.427* `store` (boolean, required) — Whether to store the input message(s) and model response for later retrieval.

426 428 

427* `temperature` (number | null) — What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.429* `temperature` (number | null) — Sampling temperature echoed from the request, or the model's default when the request omits it. Between 0 and 2. Sampling uses at most 1, so a sent value above 1 is echoed here and sampled as 1.

428 430 

429* `text` (object, required)431* `text` (object, required)

430 432 


440 442 

441* `top_logprobs` (integer, required) — An integer between 0 and 8 specifying the number of most likely tokens to return at each token position.443* `top_logprobs` (integer, required) — An integer between 0 and 8 specifying the number of most likely tokens to return at each token position.

442 444 

443* `top_p` (number | null) — An alternative to sampling with \`temperature\`, called nucleus sampling, where the model considers the results of the tokens with \`top\_p\` probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. It is generally recommended to alter this or \`temperature\` but not both.445* `top_p` (number | null) — Nucleus sampling \`top\_p\` echoed from the request, or the model's default when the request omits it. Sampling uses at most the model's default \`top\_p\`, so a higher sent value is echoed here and sampled as that default.

444 446 

445* `truncation` (string, required) — The truncation strategy to use for the model response.447* `truncation` (string, required) — The truncation strategy to use for the model response.

446 448 

Details

45 45 

46* `output` (object)46* `output` (object)

47 47 

48 * `upload_url` (string, required) — Signed URL to upload the generated video via HTTP PUT.48 * `upload_url` (string, required) — Signed URL to upload the generated video via HTTP PUT, e.g. an S3 / GCS

49 presigned URL or an Azure Blob SAS URL. The PUT sends

50 \`Content-Type: video/mp4\`, plus \`x-ms-blob-type: BlockBlob\` for Azure

51 Blob Storage hosts.

49 52 

50* `prompt` (string) — Prompt for video generation. Required for text-to-video (T2V) and53* `prompt` (string) — Prompt for video generation. Required for text-to-video (T2V) and

51 reference-to-video (R2V). Optional for image-to-video (I2V) — when54 reference-to-video (R2V). Optional for image-to-video (I2V) — when


166 169 

167* `output` (object)170* `output` (object)

168 171 

169 * `upload_url` (string, required) — Signed URL to upload the generated video via HTTP PUT.172 * `upload_url` (string, required) — Signed URL to upload the generated video via HTTP PUT, e.g. an S3 / GCS

173 presigned URL or an Azure Blob SAS URL. The PUT sends

174 \`Content-Type: video/mp4\`, plus \`x-ms-blob-type: BlockBlob\` for Azure

175 Blob Storage hosts.

170 176 

171* `prompt` (string, required) — Prompt for video editing.177* `prompt` (string, required) — Prompt for video editing.

172 178 


277 283 

278* `output` (object)284* `output` (object)

279 285 

280 * `upload_url` (string, required) — Signed URL to upload the generated video via HTTP PUT.286 * `upload_url` (string, required) — Signed URL to upload the generated video via HTTP PUT, e.g. an S3 / GCS

287 presigned URL or an Azure Blob SAS URL. The PUT sends

288 \`Content-Type: video/mp4\`, plus \`x-ms-blob-type: BlockBlob\` for Azure

289 Blob Storage hosts.

281 290 

282* `prompt` (string, required) — Prompt describing what should happen next in the video.291* `prompt` (string, required) — Prompt describing what should happen next in the video.

283 292