LLM models
Grok 4.7
On this page
xAI's Grok 4.7 — their frontier model for coding, agentic tasks and knowledge work, with a 500K-token context window.
| modelId | grok-4-7 |
| Modality | text |
| Pricing | See this model on the Pricing page for the current per-call price (with your markup). |
Operations
| Operation | modelId | Endpoint | Required input |
|---|---|---|---|
| Default | grok-4-7 | POST /api/v1/generate | prompt |
| Poll task | — | GET /api/v1/task/{id}?model=grok-4-7 | — |
Input parameters
| Field | Type | Required | Values / example |
|---|---|---|---|
| prompt | string | Yes | Text value (example: Explain why a queue with plenty of spare capacity can still develop a growing backlog, using one everyday analogy and one worked example with numbers. Then… — full value in the request example) |
| structured_outputs | boolean | No | Generate structured outputs (true/false) (example: false) |
| stream | boolean | No | Send true to receive the reply as an event stream (Content-Type: text/event-stream). Omit it and you get a single JSON response — streaming is opt-in on this endpoint. (true/false) (example: true) |
| images | string[] | No | Up to 4 images per message — JPEG, PNG, GIF or WebP, 5 MB each. Send each one as a data: URL or an https URL. Images are billed as input tokens. (image URL) |
| web_search | boolean | No | Web search feeds the results back as input tokens, so a searched turn typically costs many times a normal turn (measured: 6–87×). Billed per token as usual — nothing extra per search. (true/false) (example: false) |
| system | string | No | System instruction for the model. Defaults to "You are Grok 4.7, developed by Grok." when omitted. |
| messages | array | No | A conversation instead of a single prompt: an array of { "role", "content" } objects, where role is user, assistant or system. Send the whole conversation — we do not limit how many messages it has, and we do not drop old ones; the model's context window is the limit. Send prompt or messages, not both. Do not flatten a conversation into one prompt with "User:" / "Assistant:" labels — the model reads that as a single message, and a model using web search then searches for the whole block instead of your question. |
Example request
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"grok-4-7","input":{"prompt":"Explain why a queue with plenty of spare capacity can still develop a growing backlog, using one everyday analogy and one worked example with numbers. Then give the two measurements that tell you which of the two causes you are looking at. Under 250 words, no formulas heavier than multiplication.","structured_outputs":false,"stream":true,"images":["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAFklEQVR4nGP8z4AATAxIHFQeMg8OAgB1yQIDpk8YwwAAAABJRU5ErkJggg=="],"web_search":false}}'