Parameters by Upstream
Some request fields do not mean the same thing everywhere. This page states what the gateway does with each one on the way to each provider — passed through, translated into the provider's own equivalent, or dropped.
This is not a list of every accepted field; each endpoint page documents its own request body. Listed here are the fields where supported is not a yes or no, because the answer changes with the provider your model runs on.
reasoning_effort
Full guide, with values and cost impact →
| You call | Upstream | Behaviour | Descrizione |
|---|---|---|---|
/v1/chat/completions | OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) | inoltrato | Forwarded to the provider as sent — the gateway neither validates the value nor guarantees the provider honours it. Commonly minimal, low, medium and high, but the accepted set is the provider's: OpenAI also takes none, GLM takes up to max. |
/v1/chat/completions | Google Vertex — Gemini 3.x | convertito | Becomes Gemini's thinkingLevel: none and minimal both map to minimal, low/medium/high map straight across. An explicit google.thinking_config in the request wins over this mapping. |
/v1/chat/completions | Google Vertex — Gemini 2.5 | scartato | Gemini 2.5 only understands thinkingBudget and rejects thinkingLevel outright, so the gateway sends neither and leaves the model at its default thinking behaviour. Use google.thinking_config with thinking_budget to control 2.5. |
/v1/chat/completions | Anthropic (Claude) | scartato | Not forwarded. Anthropic does have an equivalent (thinking.budget_tokens) and the gateway maps it in the other direction, but this direction was never implemented — set thinking.budget_tokens with the Anthropic-native request shape instead. |
/v1/messages | OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) | convertito | Derived from thinking.budget_tokens by bucket, when extended thinking is enabled and the budget is above zero: up to 2,048 tokens becomes low, up to 8,192 becomes medium, above that becomes high. A zero or absent budget sends nothing. |
/v1/responses | OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) | convertito | Read out of the Responses-API reasoning.effort object and sent as the flat reasoning_effort field. |
Every row is transcribed from the converter that implements it and pinned by a Go test, so this table cannot drift from the running gateway without a build failing.