> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bettertoken.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# max_tokens とは？設定しないとどうなりますか？

> max_tokens、max_completion_tokens、max_output_tokens と、モデル呼び出しの出力 Token 上限を設定する方法を説明します。

## 短い答え

`max_tokens` は、モデルが 1 回のレスポンスで生成できる Token 数を制限します。API とモデルによって、項目名、必須設定、デフォルト動作が異なります。

安定した出力のために、長い回答、コード生成、ドキュメントタスクでは明示的な出力上限を設定します。Claude / Anthropic 互換 API 呼び出しでは、通常 `max_tokens` を明示的に送信する必要があります。

## 基本概念

| 概念              | 意味                               |
| --------------- | -------------------------------- |
| Input Token     | メッセージ、コンテキスト、ファイル内容、ツール結果、その他の入力 |
| Output Token    | モデルが生成する表示可能なレスポンス               |
| Reasoning Token | 一部の推論モデルが内部で使用する非表示の推論 Token     |
| コンテキストウィンドウ     | 入力、出力、一部の内部 Token が共有する上限        |
| 出力上限            | 1 回のレスポンスで生成する表示可能な出力の最大値        |

出力上限が小さすぎると、レスポンスが途中で切れる場合があります。非常に大きくしても、モデルが必ずその数の Token を生成するわけではありませんが、長い出力のタスクではコストが増える場合があります。

## 異なるパラメーター名

| パラメーター                  | 一般的な用途                                                    |
| ----------------------- | --------------------------------------------------------- |
| `max_tokens`            | Claude / Anthropic Messages API と、一部の Chat Completions 設定 |
| `max_completion_tokens` | Chat Completions 経由の一部 OpenAI 推論モデル                       |
| `max_output_tokens`     | OpenAI Responses API で一般的な出力上限項目                          |

Codex CLI または Responses API ベースの別のツールを使用する場合は、そのツールまたはプロバイダーが現在サポートする項目に従ってください。すべてのモデルに同じパラメーター名を固定しないでください。

## 設定しないとどうなるか

動作はプロバイダーと API によって異なります。

| シナリオ                       | 起こりうる結果                                    |
| -------------------------- | ------------------------------------------ |
| Claude / Anthropic 互換 API  | 明示的な `max_tokens` 値が必要になる場合がある             |
| OpenAI 互換 Chat Completions | モデルのデフォルト動作を使用する場合がある                      |
| OpenAI Responses API       | `max_output_tokens` またはツールのデフォルトを使用する場合がある |
| その他のモデル                    | 独自のデフォルト出力上限がある場合がある                       |

同じコードでも、モデルを切り替えると出力の長さが変わる場合があります。本番での想定外を減らすため、明示的な出力上限を設定してください。

## 推奨範囲

| タスク                 | 推奨範囲                         |
| ------------------- | ---------------------------- |
| 一般的な Q\&A           | `1024` - `4096`              |
| コード解説 / 小さな編集       | `4096` - `8192`              |
| 長文作成 / 複雑なコーディングタスク | モデル上限に応じて `8192` 以上          |
| バッチタスク              | 想定外に長いレスポンスを避けるため、小さい上限を使用する |

実際の最大値は、<a href={"https://bettertoken.ai/pricing"}>モデル広場</a>と上流のモデルドキュメントで確認してください。モデル出力上限はバージョンによって変わる場合があります。

## 出力が途中で切れたときの対処

レスポンスに `finish_reason: "length"` が含まれる場合、通常はモデルが出力上限に達しています。

次の順番でトラブルシューティングします。

1. 現在の API がサポートする出力上限項目を増やします。
2. 正しいパラメーター名を使用しているか確認します。
3. 不要な出力を減らすため、プロンプトをより具体的にします。
4. より大きい出力ウィンドウのモデルを使用します。
5. タスクを複数の手順に分割します。

## よくある間違い

* より大きい `max_tokens` 値を指定すれば、モデルが常により多く書くと考えること。
* `finish_reason` を確認せず、出力が途中で切れた後に再試行すること。
* 推論モデルで古い項目名を使用すること。
* コンテキストとコストの見積もりで非表示の Reasoning Token を無視すること。
* モデル自体の最大出力上限を無視すること。

## BetterToken について

BetterToken は API Key とモデルリクエストのレベルで使用量を記録します。ダッシュボードを使って、モデルやタスク間の Token 使用量を確認できます。

出力上限項目は、引き続き使用する API 形式とモデルによって決まります。設定時には、モデル、Base URL、API 形式、パラメーター名を合わせて確認してください。

## 関連ドキュメント

* [Claude Code が多くの Token を使用する理由](/ja/faq/token-cost/claude-code-token-usage)
* [適切な AI モデルを選ぶ方法](/ja/faq/model-calling/model-selection-guide)
* [Base URL の入力方法](/ja/faq/model-calling/base-url-config)
* [Codex CLI の review\_model と reasoning\_effort とは？](/ja/faq/codex/review-model-reasoning-effort)
