xAI Grok
Last updated September 9, 2026
Parameter support, server-side tools and usage fields for Grok 4.6 / 4.5 / 4.3 / Build on Amux.
Grok models use the shared compatible endpoints — no dedicated interface: Chat Completions, Responses and Messages all work.
This page covers only what survives a trip through Amux — which parameters pass through, which get stripped, and which capabilities are reachable on which endpoint. For what the parameters mean upstream, see the xAI docs; we don't restate them.
Models
| Model | Context | Input | Aliases |
|---|---|---|---|
x-ai/grok-4.6 | 500K | text · image · file | grok-4.6 |
x-ai/grok-4.5 | 500K | text · image · file | grok-4.5 |
x-ai/grok-4.3 | 1M | text · image · file | grok-4.3 |
x-ai/grok-build-0.1 | 256K | text · image · file | grok-code-fast-1 · grok-code-fast · grok-code-fast-1-0825 |
Images can be base64 or a URL — with a URL the upstream fetches it, and returns
invalid_image if it can't. Files go through the Responses API as
input_file + file_url.
Parameter support
Four states: passed through reaches the upstream unchanged; stripped is
removed at the gateway and reported in the x-amux-dropped-params response
header; ignored is sent but the upstream does nothing with it;
rejected fails the request outright.
| Parameter | State | Notes |
|---|---|---|
temperature · top_p · top_k · min_p | passed through | temperature caps at 2; above that the upstream errors |
max_tokens · max_completion_tokens | passed through | |
seed · n · user · metadata · store | passed through | |
prompt_cache_key | passed through | Worth setting — it decides whether the cache hits |
tools (type: function) · tool_choice · parallel_tool_calls | passed through | Client-side function tools |
response_format | passed through | Both json_object and json_schema genuinely take effect |
reasoning_effort | passed through | low / medium / high / xhigh, defaults to high.grok-4.5 and grok-4.3 accept xhigh but run it as high;grok-build-0.1 does not support this parameter and it is stripped |
stop · presence_penalty · frequency_penalty | stripped | No Grok model supports them. Left in, the upstream returns 400 — so the gateway removes them and tells you in the response header |
logprobs · top_logprobs | ignored | Accepted upstream, never returned |
service_tier | not offered | See "Not supported" below |
grok-build-0.1 still produces reasoning tokens — it just doesn't let you
dial the effort.
Server-side tools
⚠️ Available only on the Responses endpoint.
Passing server-side tools to Chat Completions or Messages neither errors nor works — the upstream accepts them and then ignores them, answering from the model's own knowledge. The workbench playground can't use them either.
Declare them like this:
{
"model": "grok-4.6",
"input": "What's the AI news today?",
"tools": [{ "type": "web_search" }]
}| Tool | What it does |
|---|---|
web_search | Web search |
x_search | Search X (Twitter) |
code_execution (alias code_interpreter) | Run code in a sandbox |
image_generation | Generate an image mid-conversation, base64 inline in output[] |
mcp | Forward to your own MCP server; needs server_label and server_url |
Availability and rates for each tool are defined by the
model catalog; GET /v1/models returns them under pricing.tiers.
⚠️ The model decides how many times to call, and one request may call several times. A single "find me a recent post on X" triggered four
x_searchcalls in testing.usage.server_side_tool_usage_detailsbreaks down how many of each ran.One search also pours several thousand tokens into the context, and those count towards usage too.
Using mcp:
{
"model": "grok-4.6",
"input": "Use deepwiki to tell me what facebook/react is",
"tools": [
{ "type": "mcp", "server_label": "deepwiki", "server_url": "https://mcp.deepwiki.com/mcp" }
]
}Each MCP call the model makes leaves an mcp_call item in output[], and the
count lands in usage.server_side_tool_usage_details.mcp_calls.
grok-build-0.1 does not support the Responses endpoint, so it can't use
server-side tools.
Usage fields
Reasoning tokens are not inside completion_tokens. On Chat Completions,
completion_tokens does not include reasoning_tokens; add them together
for this call's output volume:
output = completion_tokens + completion_tokens_details.reasoning_tokens
The Responses endpoint's output_tokens already includes reasoning, so use it
as-is.
Every call carries a fixed prompt overhead. Grok ships with a system prompt
of its own — roughly 637 tokens on grok-4.6 and 495 on grok-4.5, most of
which usually hits the cache.
Long context is tiered. Once a single request's input reaches 200,000
tokens it moves to the upper tier. The threshold is 200K on all four models —
note that grok-build-0.1 tops out at 256K of context. The tiers themselves
are defined by the model catalog.
Not supported
service_tier and collections_search / file_search are not offered.
deferred and search_parameters are deprecated or inert upstream — passing
them has no effect.