Claudeの入力と出力トークン料金の差を計算
Claudeは出力トークンが入力の5倍です。PrefillとDecodingの速度差を解説し、60,000入力・800出力のエージェントが月額に与える影響を計算します。
入力トークンより出力トークンのコストが高い理由
現在のカタログにあるすべての Claude モデルで、出力トークンの料金は入力トークンの5倍です。原因は計算処理の形にあります。プロンプトの読み取りは、モデル全体に対する1回の処理で完了します。返信の生成は、トークンごとに1回ずつ処理され、各処理は直前の処理が終わるまで待つ必要があります。
この比率は料金表のすべての行で同じです。そのため、選択するモデルによって請求額に占める出力の割合は変わりません。割合を決めるのは、ワークロードの構成です。60,000トークンを読み取り、800トークンで回答するエージェントのステップでは、出力コストはほとんど発生しません。2,000トークンを読み取り、12,000トークンを書き出す下書き処理では、入力コストはほとんど発生しません。以下では、どちらのケースも Anthropic が公開している August 2026 の料金に基づいて計算します。
Prefill は 1 回実行し、Decoding はトークンごとに 1 回実行します
推論サーバーは、コストが大きく異なる 2 つのフェーズでリクエストを処理します。Prefill はプロンプトを読み込みます。Decoding は応答を書き出します。
Prefill では、プロンプト全体を一度に処理します。すべてのプロンプトトークンが同じ forward pass でネットワークに入力されるため、attention と feed-forward の処理は、一度に数千トークンを対象とする少数の大規模な行列乗算になります。モデルの重みをメモリから 1 回読み出すだけで、プロンプト全体を処理できます。アクセラレーターの行列演算ユニットは常に稼働するため、Prefill は compute-bound です。上限を決めるのは、チップが乗算を実行する速度です。
Decoding はこの方法では処理できません。トークン 2 はトークン 1 に依存するためです。モデルが直前のステップで生成したトークンは、次のステップの入力の一部になります。そのため、各ステップを同時には実行できません。出力トークンごとに独自の forward pass が必要であり、各 pass で high-bandwidth memory からモデルの全重みを読み出して、1 つのトークンを生成します。したがって Decoding は memory-bound です。上限を決めるのは重みを乗算する速度ではなく、重みを移動する速度です。Prefill でプロンプト全体の処理に使ったのと同じ重みの転送量で、Decoding では 1 トークンしか生成できません。
Serving system は batching でこの問題に対処します。複数のリクエストをまとめて Decoding することで、重みを 1 回読み出すだけで、バッチ内の各リクエストにつき 1 トークンを生成できます。Decoding が実用的なコストで処理できるのは、このためです。ただし、上限を決めるのはここでもメモリです。処理中の各リクエストは KV cache(key/value cache。これまでの各トークンに対応する保存済みの attention 状態)を保持します。この cache はトークンを生成するたびに大きくなります。cache がアクセラレーターを満たすと、バッチをこれ以上大きくできません。
これらの説明から正確な数値が得られるわけではありません。また、5x をハードウェアで測定した比率と解釈すべきでもありません。これは Anthropic が設定した価格であり、この非対称性を踏まえたものです。自分で確認できるのは方向性であり、確認には約 1 分かかります。
入力と出力の間隔を自分で測定する
任意の Ubuntu ホストにツールをインストールします。
sudo apt update && sudo apt install -y curl jq moreutils次に、長い回答を求める短いプロンプトをストリーミングし、到着した各行に時刻を付けます。
curl -sN https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","max_tokens":1000,"stream":true,
"messages":[{"role":"user","content":"Count from 1 to 300, one number per line."}]}' \
| ts -s '%.s'ts -s は、コマンド開始からの経過秒数を各行の先頭に付けます。この出力から読み取るべき点は2つあります。最初の content_block_delta 行までが Time to First Token です。その行の中で prefill がすべて完了しています。それ以降の各行はデコードの小さな1ステップに対応し、message_stop が到着するまで時刻表示が増え続けます。
次に、形を逆にします。プロンプトに長いドキュメントを入れ、回答を数トークンに制限します。
curl -sN https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d "$(jq -n --rawfile doc ./long-document.txt \
'{model:"claude-sonnet-5", max_tokens:16, stream:true,
messages:[{role:"user", content:("Answer in one word. Is this document about networking?\n\n" + $doc)}]}')" \
| ts -s '%.s'最初の差分は短いプロンプトの場合より長くなります。prefill で読み取るテキストが大幅に増えるためです。最初の出力が到着すると、デコードするトークンが数個しか残っていないため、応答はほぼすぐに終了します。数万トークンを入力しても、時計はほとんど進みません。数百トークンを出力すると、時計は処理中ずっと進み続けます。
ストリーミングを使用しない応答はすべて、課金対象となる数値で終了します。
{
"usage": {
"input_tokens": 41283,
"output_tokens": 6,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}リクエストごとに4つのフィールドをすべて記録します。output_tokens には extended thinking が含まれるため、回答前に思考するモデルでは、その思考分も出力レートで課金されます。送信前にプロンプトの料金を見積もるには、POST /v1/messages/count_tokens に同じリクエストボディを渡します。モデルを実行せずに {"input_tokens": N} を返し、無料で利用できます。
2026年8月時点の Claude の100万トークンあたりの料金
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5,
"output_multiple": 5
},
{
"label": "Sonnet 5 (to 31 Aug)",
"input_usd": 2,
"output_usd": 10,
"output_multiple": 5
},
{
"label": "Sonnet 5 (from 1 Sep)",
"input_usd": 3,
"output_usd": 15,
"output_multiple": 5
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25,
"output_multiple": 5
},
{
"label": "Fable 5",
"input_usd": 10,
"output_usd": 50,
"output_multiple": 5
}
]最後の列は出力を入力で割った値で、すべての行で 5 となっています。Haiku 4.5 は入力が $1、出力が $5 です。Opus 5 は入力が $5、出力が $25 です。最も高価な Fable 5 は、入力が $10、出力が $50 です。価格帯を上げると、入力側と出力側の両方が同じ倍率で増えるため、合計料金は変わりますが、入力と出力の比率は変わりません。
Sonnet 5 が2回表示されるのは、導入料金の適用期間が終了するためです。2026年8月31日までは、入力が $2、出力が $10 です。2026年9月1日以降は、入力が $3、出力が $15 の標準料金になります。入力側と出力側のどちらも50%高くなります。以下の計算例では、すべて8月の料金を使用しています。
料金は変更されるため、このページで確認しないでください。claude.com/pricing が正確な情報源です。料金が変更されても、計算方法は変わりません。
料金表には示されない注意点が1つあります。Anthropic のドキュメントによると、Claude 4.7 以降のモデルでは新しい tokenizer が使用されます。この tokenizer は、Sonnet 4.6 以前の tokenizer と比べて、同じテキストからおよそ30%多くのトークンを生成します。100万トークンあたりの料金だけで2つのモデルを比較すると、新しいモデルが実際より有利に見えます。同じドキュメントでも、新しいモデルではトークン数が増えるためです。完了したタスク1件あたりの料金で比較し、実際に使用するモデルに対して実際のプロンプトを計測してください。実際のテキストで見る100万 Claude トークンの分量では、このトークン量が実際にどの程度の分量になるかを説明しています。
請求額で出力コストが支配的になるのはいつですか?
出力の単価が入力の 5 倍なら、損益分岐点は簡単に覚えられます。入力トークンを I、出力トークンを O とします。入力コストは I です。出力コストは O の 5 倍です。5 倍の O が I を上回ると、支出の半分を出力が占めます。トークン比率では、入力 5 に対して出力 1 です。
つまり、プロンプトが返信の 5 倍を超える場合は、入力のほうが大きな費目です。それを下回ると、出力のほうが大きくなります。
The data behind this chart
[
{
"label": "100:1",
"input_share_pct": 95.2,
"output_share_pct": 4.8
},
{
"label": "75:1",
"input_share_pct": 93.75,
"output_share_pct": 6.25
},
{
"label": "20:1",
"input_share_pct": 80,
"output_share_pct": 20
},
{
"label": "10:1",
"input_share_pct": 66.7,
"output_share_pct": 33.3
},
{
"label": "5:1",
"input_share_pct": 50,
"output_share_pct": 50
},
{
"label": "1:1",
"input_share_pct": 16.7,
"output_share_pct": 83.3
},
{
"label": "1:6",
"input_share_pct": 3.2,
"output_share_pct": 96.8
}
]100 対 1 では、出力が支出の 4.8% を占めるため、取り組む価値があるのはプロンプトを短くすることだけです。5 対 1 では、両者は同額です。1 対 6 では、出力が 96.8% を占め、プロンプトの影響は丸め誤差にすぎません。多くの人は自分の比率を誤って見積もるため、最適化する前にログから確認してください。
エージェントのワークロード:長い入力から短い回答へ
エージェントの検索ステップを1回実行するとします。取得したドキュメントと会話履歴の入力が60,000トークン、回答が800トークンです。これは75対1の比率であり、書き込む前に読み込む処理では一般的です。
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_cost": 0.06,
"output_cost": 0.004,
"total_cost": 0.064
},
{
"label": "Sonnet 5 (Aug)",
"input_cost": 0.12,
"output_cost": 0.008,
"total_cost": 0.128
},
{
"label": "Opus 5",
"input_cost": 0.3,
"output_cost": 0.02,
"total_cost": 0.32
},
{
"label": "Fable 5",
"input_cost": 0.6,
"output_cost": 0.04,
"total_cost": 0.64
}
]すべてのモデルで、出力はこの呼び出しの6.25%を占めます。価格表全体で比率が固定されているためです。この呼び出しの料金は、Opus 5で$0.32、8月の料金におけるSonnet 5で$0.128、Haiku 4.5で$0.064です。Opus 5でこのステップを1日に200回実行すると、1日あたり$64かかります。
内訳を見ると、最適化すべき箇所は明確です。回答を800トークンから400トークンに削減しても、呼び出し全体の約3%しか節約できません。プロンプトから古くなったコンテキストを20,000トークン削減すれば、約3分の1を節約できます。読み込みが中心のエージェントで出力長を厳しく制限するのは、ほとんど効果がありません。コーディングエージェントのトークンの実際の用途では、そもそもプロンプトを何が埋めているのかを詳しく説明しています。
生成処理: 短いプロンプトと長いドラフト
今度は構成を逆にします。2,000 トークンの概要に対して、12,000 トークンのドラフトです。比率は 1 対 6 です。
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_cost": 0.002,
"output_cost": 0.06,
"total_cost": 0.062,
"batch_total_cost": 0.031
},
{
"label": "Sonnet 5 (Aug)",
"input_cost": 0.004,
"output_cost": 0.12,
"total_cost": 0.124,
"batch_total_cost": 0.062
},
{
"label": "Opus 5",
"input_cost": 0.01,
"output_cost": 0.3,
"total_cost": 0.31,
"batch_total_cost": 0.155
},
{
"label": "Fable 5",
"input_cost": 0.02,
"output_cost": 0.6,
"total_cost": 0.62,
"batch_total_cost": 0.31
}
]出力がこの請求額の 96.8% を占めます。Opus 5 はドラフト 1 件あたり $0.31 で、Haiku 4.5 の $0.062 と比べて高額です。この 5 倍の差はほぼすべて出力側から生じています。つまり、ここで安価なモデルを使うと最も大きく節約できます。
最後の列は、同じ処理を Batch API で実行した場合です。Batch API では入力と出力が 50% 割引されます。Opus 5 はドラフト 1 件あたり $0.155 になります。Batch は結果を即時ではなく 24 時間以内に返すため、夜間のレポート生成や大量分類に適しています。人が処理の完了を待っている用途には適していません。
ここでは、エージェント処理の段階とは異なり、モデルのルーティングが有効です。処理の中で冗長な部分が機械的な作業、たとえば承認済みのテキストの再フォーマットやアウトラインの展開である場合、安価なモデルならそのトークンを 5 分の 1 の価格で生成できます。Opus、Sonnet、Haiku の選び方では、品質の境界が実際にどこにあるかを説明しています。
入力だけを割り引くキャッシュ
プロンプトキャッシュは、プロンプトの先頭部分をサーバーに保存し、再度読み込む際の入力料金を一部だけ請求します。2026年8月時点では、5分間のキャッシュを書き込む料金は基準入力料金の1.25倍、1時間のキャッシュを書き込む料金は2倍、キャッシュヒットを読み込む料金は0.1倍です。
出力はこの料金体系の対象外です。キャッシュされた出力はありません。モデルが生成するすべてのトークンは、プロンプトのどれだけがキャッシュヒットしたかに関係なく、毎回、通常の出力料金で請求されます。
Opus 5で同じエージェントステップを実行し、入力トークン60,000個のうち55,000個がウォームキャッシュから提供された場合を考えます。
The data behind this chart
[
{
"label": "No cache",
"input_cost": 0.3,
"output_cost": 0.02,
"total_cost": 0.32
},
{
"label": "55k prefix cache read",
"input_cost": 0.0525,
"output_cost": 0.02,
"total_cost": 0.0725
}
]この呼び出しの料金は、$0.32 から $0.0725 に下がります。出力分の金額は変わりません。実行前は $0.02、実行後も $0.02 です。キャッシュにより請求額が下がるだけでなく、内訳も変わります。その呼び出しでは、出力が全体の 6.25% を占めていました。現在は全体の4分の1を超えており、次にどの要素を削減する価値があるかが変わります。
最初の呼び出しでは書き込み料金が発生します。5分間のキャッシュ書き込みは基準入力料金の1.25倍なので、1回のキャッシュヒットで元が取れます。1時間の書き込みは2倍なので、2回のキャッシュヒットが必要です。書き込みと読み込みの倍率、およびキャッシュが採算に合わなくなる条件では、この計算と採算が合わなくなる条件を詳しく説明します。
管理できる4つの対策
max_tokensはモデルの最大値ではなく、出力長の p95 に設定します。- 詳細な手順は、より安価なモデルに振り分けます。
- 誰も待っていない処理は、すべてバッチ処理にします。
- 返信を長くする指示を削除します。
max_tokensは厳格な上限です。上限を高く設定しても、それ自体に費用はかかりません。課金対象は生成されたトークンであり、上限値には課金されないためです。十分に高い上限を設定すると、返信が想定外に長くなった場合でも途中で制限されなくなります。ログから output_tokens の分布を取得し、上限を95パーセンタイルより少し高く設定します。stop_reason: "max_tokens"はコードで処理し、応答を継続するか、再試行します。検出可能な途中切れは、料金を支払ったうえで破棄する4,000トークンの長文よりも低コストです。拡張思考も output_tokens に含まれるため、同じ根拠からその予算を設定します。
ルーティングは、ステップの高コストな部分が判断ではなく処理量である場合に効果を発揮します。判断は高性能なモデルに任せ、文章の生成はより安価なモデルに委ねます。まず独自の評価セットで、ルーティング後の構成を測定してください。安価なモデルで2回試行する必要がある場合、高価なモデルで1回試行するよりもコストが高くなるためです。
バッチ処理は、出力料金を割り引ける唯一の対策です。両方の料金が50%割引になり、24時間以内に結果が返され、スケジュール実行が条件を満たします。
最後の対策は、見落とされがちです。「be thorough」や「explain your reasoning」のような表現は、今後行うすべての呼び出しで出力を長くします。代わりに、必要な形式を明示します。たとえば、「3文以内で回答する」や「前置きなしで JSON オブジェクトのみを返す」と指定します。システムプロンプトによってすべての返信に300トークンが追加されると、同じ300トークンでもプロンプト内で追加する場合の5倍の費用になります。実行中のエージェントのコストを継続的に管理する方法では監視について説明しています。また、サブスクリプションが吸収できるトークン単価の支出を1週間かけて調整する前に、利用パターンでは API と定額サブスクリプションのどちらが安いかを決めておく価値があります。
FAQ
出力トークンはなぜ入力トークンより高いのですか?
出力トークンの生成には、トークンごとに大幅に多くのアクセラレーター時間が必要です。プロンプトは全体を 1 回の forward pass で処理するため、モデルの重みを 1 回読み込むだけで数千トークンを処理でき、ハードウェアの制約は乗算スループットになります。これに対して、応答は 1 トークンずつ生成されます。各トークンでモデルの重み全体を再度読み込む forward pass が必要なため、ハードウェアの制約はメモリ帯域幅になります。Anthropic は現在の全カタログで、Haiku 4.5 から Fable 5 まで、出力を入力の 5 倍の価格に設定しています。
prompt caching により出力トークンは安くなりますか?
いいえ。prompt caching の対象は入力だけです。2026 年 8 月時点では、cache read は基本入力料金の 0.1 倍です。cache write は、5 分間の有効期間では 1.25 倍、1 時間の有効期間では 2 倍です。キャッシュの状態にかかわらず、出力は毎回通常料金で請求されます。そのため、キャッシュは請求額だけでなく、請求の内訳も変えます。入力側のコストが下がると、削減効果を検討すべき割合は出力側になります。
max_tokens が大きくても、応答が短ければ料金は発生しますか?
いいえ。実際にモデルが生成したトークン数に対して請求されるため、max_tokens は上限であり、予約数ではありません。ただし、制御不能に長くなる応答に対する唯一のハードリミットなので重要です。観測した output_tokens の 95 パーセンタイルを少し上回る値に設定し、stop_reason: "max_tokens" は、応答を気付かないまま途中で切り詰めて提供するのではなく、コードで処理してください。
自分の入力トークンと出力トークンの比率はどのように確認できますか?
すべての応答の usage オブジェクトから input_tokens、output_tokens、cache_read_input_tokens、cache_creation_input_tokens をログに記録し、1 週間分の合計を割り算してください。入力 5 に対して出力 1 を上回る場合、コストの中心はプロンプトです。そのため、安定した部分をキャッシュし、残りを削減してください。それを下回る場合、コストの中心は応答です。そのため、応答の長さに上限を設定し、出力トークンを最も多く生成する処理を、より安価なモデルまたは Batch API に移してください。