クイック回答
max_tokens は、モデルが1回の応答で生成できる最大 token 数を制御します。APIYI は max_tokens に対して追加の制限を設けません — このパラメータは上流モデルに直接渡されます。ご自身で設定できます。設定しない場合は、モデルのデフォルト値が適用されます。
APIYI の方針: 私たちは max_tokens の制限を設けません。完全に制御できます。未設定の場合は、各モデルのデフォルトの出力動作が使用されます。
max_tokens の役割
max_tokens(最大出力 token 数)は、LLM API を呼び出す際によく使われるパラメータの1つです。モデルには次のように伝えます。応答で生成する token はこの数までにする。
- 低く設定しすぎる: モデルの応答が途中で切れる場合があります(
finish_reason: "length"を返します) - 高く設定しすぎる: モデルはその数の token を必ず生成するわけではありませんが、コストが高くなる可能性があります(出力 token ごとに課金するモデルがあります)
- 未設定: モデルのデフォルト値が使われます(プロバイダによって異なります — 下の表を参照してください)
OpenAI のパラメータ命名の変遷
OpenAI は、API や時期によって異なるパラメータ名を使っており、混乱の原因になることがあります。なぜ名称が変わったのか?
OpenAI が 2024年9月に o1 推論モデルをリリースした際、「隠れた推論 token」が導入されました。これは、モデルが内部で大量の推論 token を生成しますが、レスポンスには表示されません。 元のmax_tokens は「生成された token 数」と「受け取る token 数」の両方を意味していましたが、推論モデルではこの 2 つはもはや同じではありません。そこで OpenAI は、「レスポンスで受け取る token の上限」 を明示するために max_completion_tokens を導入しました。
その後、Responses API では、より直感的な名前である max_output_tokens に統一されました。
max_tokens を設定しないとどうなりますか?
プロバイダによって動作が異なります。最大出力 token 数の参照
以下は、よく使われるモデルの最大出力 token 制限です。最新の値は必ず公式ドキュメントで確認してください。モデルは頻繁に更新されるためです。公式ドキュメント(最新の値について):
- OpenAI:
platform.openai.com/docs/models - Anthropic Claude:
docs.anthropic.com/en/docs/about-claude/models - Google Gemini:
ai.google.dev/gemini-api/docs/models - DeepSeek:
api-docs.deepseek.com/api/create-chat-completion
推奨事項
よくある質問
APIYI は max_tokens に何らかの上限を設けていますか?
APIYI は max_tokens に何らかの上限を設けていますか?
いいえ。APIYI は
max_tokens パラメータを追加の制限なしでそのまま上流モデルに渡します。設定した内容がそのまま上流モデルに渡されます。制限はモデル自身の最大出力token上限のみです。max_tokens をモデルの最大値より高く設定したらどうなりますか?
max_tokens をモデルの最大値より高く設定したらどうなりますか?
エラーは発生しません。モデルは自分自身の最大値まで生成するだけです。たとえば、GPT-4o の最大出力は 16,384 tokens です。
max_tokens: 100000 を設定しても、出力は最大でも 16,384 tokens になります。max_tokens と max_completion_tokens の違いは何ですか?
max_tokens と max_completion_tokens の違いは何ですか?
どちらも出力tokens を制限するという同じ目的を持っています。違いは名称です。
max_tokens: OpenAI の元のパラメータ名で、GPT シリーズの非推論モデルで使われますmax_completion_tokens: 2024 年 9 月以降、OpenAI の o-series 推論モデルで使われますmax_output_tokens: OpenAI の Responses API における統一されたパラメータ名です
出力が途中で切れました(finish_reason が 'length')— どうすれば解決できますか?
出力が途中で切れました(finish_reason が 'length')— どうすれば解決できますか?
これは、モデルの出力が
max_tokens の上限に達したことを意味します。解決策は次のとおりです。max_tokensの値を増やす- より簡潔な応答が得られるよう prompt を最適化する
- 正しいパラメータ名を使っているか確認する(o-series モデルでは
max_completion_tokensが必要です)
関連ドキュメント
適切な AI モデルの選び方は?
用途に最適なモデルを選択します
API 同時実行数の制限
各モデルの同時実行数制限について学びます
Base URL 設定ガイド
さまざまなツールで APIYI の Base URL を設定する方法
APIYI トークン管理
APIキーを管理し、使用状況と残高を確認します