Skip to main content

クイック回答

max_tokens は、モデルが1回の応答で生成できる最大 token 数を制御します。APIYI は max_tokens に対して追加の制限を設けません — このパラメータは上流モデルに直接渡されます。ご自身で設定できます。設定しない場合は、モデルのデフォルト値が適用されます。
APIYI の方針: 私たちは max_tokens の制限を設けません。完全に制御できます。未設定の場合は、各モデルのデフォルトの出力動作が使用されます。

max_tokens の役割

max_tokens(最大出力 token 数)は、LLM API を呼び出す際によく使われるパラメータの1つです。モデルには次のように伝えます。応答で生成する token はこの数までにする
  • 低く設定しすぎる: モデルの応答が途中で切れる場合があります(finish_reason: "length" を返します)
  • 高く設定しすぎる: モデルはその数の token を必ず生成するわけではありませんが、コストが高くなる可能性があります(出力 token ごとに課金するモデルがあります)
  • 未設定: モデルのデフォルト値が使われます(プロバイダによって異なります — 下の表を参照してください)
Token ≠ 文字。英語では、おおよそ 1語 ≈ 1〜1.5 token です。中国語では、おおよそ 1文字 ≈ 1〜2 token です。4,096 token は約 3,000 英単語に相当します。

OpenAI のパラメータ命名の変遷

OpenAI は、API や時期によって異なるパラメータ名を使っており、混乱の原因になることがあります。

なぜ名称が変わったのか?

OpenAI が 2024年9月に o1 推論モデルをリリースした際、「隠れた推論 token」が導入されました。これは、モデルが内部で大量の推論 token を生成しますが、レスポンスには表示されません 元の max_tokens は「生成された token 数」と「受け取る token 数」の両方を意味していましたが、推論モデルではこの 2 つはもはや同じではありません。そこで OpenAI は、「レスポンスで受け取る token の上限」 を明示するために max_completion_tokens を導入しました。 その後、Responses API では、より直感的な名前である max_output_tokens に統一されました。
重要: Chat Completions API で OpenAI の oシリーズ推論モデル(例: o3, o4-mini)を使う場合は、max_completion_tokens を使用する必要があります。max_tokens を使うとエラーになります。

max_tokens を設定しないとどうなりますか?

プロバイダによって動作が異なります。
特記事項: Anthropic Claude API の max_tokens必須パラメータ です。これを含めない場合、API はエラーを返します。Claude モデルを使用するときは、必ず設定してください。

最大出力 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

推奨事項

ベストプラクティス: すべての API 呼び出しで max_tokens を明示的に設定する ことを推奨します。理由は次のとおりです:
  • 異なるモデル/プロバイダーでは既定値が異なるため、予期しない切り捨てが発生することがあります
  • 出力長を制御し、不要な token 消費を防ぎます
  • Claude API では必須です — 一貫した習慣にするとエラーを減らせます
  • 典型的な設定: 一般的なチャット 2048-4096, 長文生成 8192-16384, コード生成 4096-8192

よくある質問

いいえ。APIYI は max_tokens パラメータを追加の制限なしでそのまま上流モデルに渡します。設定した内容がそのまま上流モデルに渡されます。制限はモデル自身の最大出力token上限のみです。
エラーは発生しません。モデルは自分自身の最大値まで生成するだけです。たとえば、GPT-4o の最大出力は 16,384 tokens です。max_tokens: 100000 を設定しても、出力は最大でも 16,384 tokens になります。
どちらも出力tokens を制限するという同じ目的を持っています。違いは名称です。
  • max_tokens: OpenAI の元のパラメータ名で、GPT シリーズの非推論モデルで使われます
  • max_completion_tokens: 2024 年 9 月以降、OpenAI の o-series 推論モデルで使われます
  • max_output_tokens: OpenAI の Responses API における統一されたパラメータ名です
APIYI 経由で呼び出す場合は、使用しているモデルと API 形式に応じて適切なパラメータ名を使ってください。
これは、モデルの出力が max_tokens の上限に達したことを意味します。解決策は次のとおりです。
  1. max_tokens の値を増やす
  2. より簡潔な応答が得られるよう prompt を最適化する
  3. 正しいパラメータ名を使っているか確認する(o-series モデルでは max_completion_tokens が必要です)

関連ドキュメント

適切な AI モデルの選び方は?

用途に最適なモデルを選択します

API 同時実行数の制限

各モデルの同時実行数制限について学びます

Base URL 設定ガイド

さまざまなツールで APIYI の Base URL を設定する方法

APIYI トークン管理

APIキーを管理し、使用状況と残高を確認します