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 →

呼び出し先 アップストリーム 挙動 説明
/v1/chat/completions OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) そのまま転送 そのままプロバイダーへ転送されます。例外が 1 つあり、モデルのカタログ項目が受け付けるエフォート段階を宣言している場合は、最低段階より低い値はその段階に引き上げ、最高段階より高い値は引き下げます(GPT-6.1 Sol は推論をオフにできないため、none と minimal は low で実行されます)。それ以外では、ゲートウェイは値を検証せず、プロバイダーが従うことも保証しません。一般的な値は minimal・low・medium・high ですが、受け付ける範囲はプロバイダー次第です(OpenAI は多くのモデルで none も、GLM は max まで受け付けます)。
/v1/chat/completions Google Vertex - Gemini 4 変換 Gemini の thinkingLevel に変換され、Gemini 4 Argon が受け付ける 3 つのレベルに収められます。none と minimal は low で実行され(このモデルは思考をオフにできません)、low/medium/high はそのまま対応し、xhigh と max は high で実行されます。リクエストに明示的な google.thinking_config がある場合はそちらが優先されます。
/v1/chat/completions Google Vertex - Gemini 3.x 変換 Gemini の thinkingLevel に変換されます。none と minimal はどちらも minimal に、low/medium/high はそのまま対応します。リクエストに明示的な google.thinking_config がある場合はそちらが優先されます。
/v1/chat/completions Google Vertex - Gemini 2.5 破棄 Gemini 2.5 は thinkingBudget しか解釈せず、thinkingLevel は拒否します。そのためゲートウェイはどちらも送らず、モデルの既定の思考動作のままにします。2.5 を制御するには google.thinking_config の thinking_budget を使ってください。
/v1/chat/completions Anthropic (Claude) 変換 モデルが受け付ける形の Anthropic thinking に変換されます。アダプティブ思考のみに対応する Claude モデル(Claude Opus 4.7 以降、Sonnet 5 以降、Haiku 5.5)では、low/medium/high/xhigh/max は thinking:{"type":"adaptive"} となり、同じレベルが output_config.effort に入ります。minimal は low として扱います。none はモデル固有の形で思考をオフにします:多くのモデルでは {"type":"disabled"}、Sonnet 5.5 では {"type":"between_tools"}、思考をオフにできない Opus 5.5 では low のアダプティブで動作します。それ以外の値は転送されません。それより前の Claude モデルではバジェットに変換されます:none と minimal は思考をオフにし({"type":"disabled"})、low/medium/high/xhigh/max はそれぞれ 2,048 / 8,192 / 16,384 / 32,768 トークンのバジェットになります(逆方向のバケット対応の逆写像)。導出されたバジェットは max_tokens 未満に収まるよう調整され、max_tokens が Anthropic の最小値 1,024 トークンに満たない場合は送信されません。そのため effort を指定しても、動いていたリクエストがアップストリームの 400 になることはありません。
/v1/messages OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) 変換 拡張思考が有効かつ予算が 0 より大きい場合に、thinking.budget_tokens から段階的に導出されます:2,048 以下は low、8,192 以下は medium、それ以上は high。予算が 0 または未指定なら何も送りません。カタログ項目が受け付けるエフォート段階を宣言しているモデル(GPT-6.1 Sol)では、代わりにリクエストの意図に従います。thinking が disabled または between_tools なら、output_config.effort が同時に指定されていても最低段階(low)で実行し、それ以外は output_config.effort をそのままエフォートとして送ります。
/v1/responses OpenAI-compatible (GPT, GLM, DeepSeek, Qwen, Kimi…) 変換 Responses API の reasoning.effort オブジェクトから読み取り、フラットな reasoning_effort フィールドとして送信します。

thinking / thinking_budget / enable_thinking

呼び出し先 アップストリーム 挙動 説明
/v1/chat/completions Anthropic (Claude) 変換 これらは同じつまみに対する他ベンダーの名称で、ゲートウェイが正規化します。thinking:{"type":"disabled"}、enable_thinking:false、thinking_budget:0 はいずれも思考をオフにし、そのモデルでの reasoning_effort none と同じ扱いになります。それより前の Claude モデルでは、thinking_budget:N と thinking:{"type":"enabled","budget_tokens":N} のバジェットはそのまま転送されます。範囲外の値は黙って調整されず、アップストリームが拒否します。アダプティブ思考のみのモデルではバジェットは送信されず、output_config.effort に変換されます(2,048 以下は low、8,192 以下は medium、32,768 未満は high、32,768 以上は xhigh。max にはなりません)。thinking:{"type":"adaptive"} だけの場合は思考の設定を送信せず、モデルは既定の動作になります。
/v1/chat/completions Google Vertex - Gemini 4 変換 thinkingConfig.thinkingLevel に正規化されます。Gemini 4 Argon は thinkingBudget を拒否するためです。思考のオフは low で実行され、明示的な予算はレベルに換算されます(2,048 トークンまでは low、8,192 までは medium、それを超えると high)。リクエストに明示的な google.thinking_config があれば、そちらが優先されます。
/v1/chat/completions Google Vertex - Gemini 3.x 変換 thinkingConfig に正規化されます。思考のオフは thinkingLevel:"minimal"、明示的な予算は thinkingBudget になります。リクエストに明示的な google.thinking_config があれば、そちらが優先されます。
/v1/chat/completions Google Vertex - Gemini 2.5 変換 thinkingConfig.thinkingBudget に正規化されます——思考のオフは予算 0 を送信し、明示的な予算はそのまま渡します。2.5 は thinkingLevel を拒否するため、ここでは使いません。リクエストに明示的な google.thinking_config があれば、そちらが優先されます。

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.