3.7 KiB
OpenAI Responses API — max_output_tokens Parameter
- Source: https://platform.openai.com/docs/api-reference/responses/create
- Retrieved: 2026-04-28
1. パラメータ名
max_output_tokens — 正しい。Chat Completions API の max_tokens / max_completion_tokens とは別物。
2. 必須 / 任意
任意 (optional)。省略時のデフォルトは inf(モデルが許容する最大出力トークン数)。
3. 型と範囲
| 項目 | 値 |
|---|---|
| 型 | integer または文字列 "inf" |
| 最小値 | 1 |
| 最大値 | モデルごとの最大出力トークン数(例: gpt-4.1 系は 32,768) |
| デフォルト | inf |
上限に達した場合、レスポンスの status が "incomplete" になり、incomplete_details.reason が "max_output_tokens" にセットされる。
4. Reasoning tokens との関係 / Reasoning モデルとの組合せ制約
max_output_tokens は reasoning tokens を含む 合計生成トークン数の上限として機能する。
公式ガイド (https://platform.openai.com/docs/guides/reasoning) には以下の記述がある:
"You can limit the total number of tokens the model generates (including both reasoning and final output tokens) by using the max_output_tokens parameter."
実用上の注意点:
- モデルが内部思考に多数の reasoning tokens を消費した後に上限に達すると、visible output が一切返らずに打ち切られる場合がある。
- コスト制御目的には
reasoning.effort("low"など) の使用が推奨される。max_output_tokensはあくまで暴走抑止のガードとして位置づける。 - o シリーズなど reasoning モデルでは
reasoning.max_tokens(別パラメータ) で reasoning 専用の上限を設定できる場合もある。
5. Codex CLI 互換 Responses 経路における取り扱い
この経路は公式 Responses API のパラメータをすべて受け付けるわけではなく、max_output_tokens を サポートしないパラメータとして 400 エラーで拒否する。
LiteLLM の調査 (https://github.com/BerriAI/litellm/issues/21193) によれば、この経路が受け付けるパラメータは以下に限られる:
model, input, instructions, stream, store, include,
tools, tool_choice, reasoning, previous_response_id, truncation
max_output_tokens, max_tokens, max_completion_tokens, temperature, top_p, user, metadata, context_management はすべて拒否される(実観測でも temperature 同梱リクエストは {"detail":"Unsupported parameter: temperature"} を返す)。
Codex CLI 自身も config.toml の model_max_output_tokens を API リクエストに載せない実装になっており (https://github.com/openai/codex/issues/4138)、これはバグではなく ChatGPT backend の制約に対する回避策と解釈できる。同 CLI は temperature / top_p も送出しない。
本リポジトリでは OpenAIResponsesScheme の send_max_output_tokens / send_sampling_params フラグでこれらの送出を一括制御し、provider/src/lib.rs 内で AuthRef::CodexOAuth 指定時に両方 false にする。
6. ドキュメント URL
- 公式 API リファレンス: https://platform.openai.com/docs/api-reference/responses/create
- Reasoning ガイド: https://platform.openai.com/docs/guides/reasoning
- Codex CLI issue (max_output_tokens 未送信): https://github.com/openai/codex/issues/4138
- LiteLLM issue (ChatGPT backend 拒否パラメータ一覧): https://github.com/BerriAI/litellm/issues/21193
- OpenAI Community (reasoning tokens 上限): https://community.openai.com/t/limiting-maximum-number-of-reasoning-tokens/1285430