Claudeの100万トークンはいくら?料金の計算方法
Claude APIの1M tokensは入力と出力で料金が異なり、出力は現在すべてのモデルで入力の5倍です。モデル別の単価と請求額の計算方法を、2026年8月時点の料金で解説します。
Claude の 1M tokens はいくらですか?
1M tokens は 1000000 tokens を意味し、Claude API(application programming interface)の料金表示に使われる単位です。料金は一律ではありません。入力と出力で料金が異なり、モデルごとにそれぞれの料金が設定されています。2026 年 8 月時点では、1000000 input tokens の料金は Claude Haiku 4.5 で $1、Claude Sonnet 5 で $2、Claude Opus 5 で $5 です。
出力の料金は高く設定されています。現在のすべてのモデルで、output の料金は input の 5 倍です。そのため、表示上の単価よりも input と output の比率が請求額に大きく影響します。長いドキュメントを送って短い回答を返すアプリと、短いプロンプトから長い回答を生成するアプリでは、料金の構成が大きく異なります。
このページでは、token の単価と、構築前に料金を見積もる方法を説明します。作業中に token が実際にどこで消費されるかについては、Claude Code セッション内で token が消費される場所を参照してください。
1M トークンの規模
トークンは、モデルが読み書きするテキストのまとまりです。Anthropic の概算では、英語の場合、1 トークンは 4 文字、または約 0.75 語に相当します。したがって、1M トークンは約 750,000 語、プレーンテキストではおよそ 4 MB です。
一般的な入力について公開されている推定値を見ると、この規模を把握しやすくなります。
The data behind this chart
[
{
"label": "Average web page (10 kB)",
"tokens": "2,500"
},
{
"label": "Documentation page (100 kB)",
"tokens": "25,000"
},
{
"label": "Research paper PDF (500 kB)",
"tokens": "125,000"
}
]この換算では、1M トークンは、平均的な Web ページを約 400 ページ分、各ページを 1 回読んだ量に相当します。同じ規模の研究論文なら 8 本分です。中規模のコードベースを 1 回読み込む量、または 1 人が 1 か月間軽くチャットを利用する量でもあります。
これらはすべて概算として扱ってください。コード、JSON、英語以外の言語のテキストでは、1 トークンに含まれる語数が少なくなるため、0.75 という比率は多めに見積もった場合の値です。もう 1 つ、トークン数を変える要因があります。Claude Opus 4.7 以降(Opus 5 と Sonnet 5 を含みます)は新しい tokenizer を使用するため、同じテキストでも Sonnet 4.6 以前より約 30 パーセント多くのトークンが生成されます。Claude Haiku 4.5 は古い tokenizer を使用します。そのため、Haiku 4.5 で測定したトークン数は、同じ入力を Sonnet 5 に与えた場合のトークン数を過小評価します。この境界をまたいで、単純に 1M トークンあたりの価格を比較するのは適切ではありません。利用を決める前に、同じプロンプトを両方のモデルで計測してください。
Claude の 100 万トークンあたりの料金
The data behind this chart
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5 (to 31 Aug 2026)",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 5 (from 1 Sep 2026)",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5 は、2026 年 8 月 31 日まで、入力が $2、出力が $10 の導入料金です。2026 年 9 月 1 日からは標準料金が適用され、入力が $3、出力が $15 になります。Claude Opus 5 は、入力が $5、出力が $25 です。さらに高いモデルとして Claude Fable 5 があり、入力は $10、出力は $50 です。そのため、これらの料金を支払う価値があるかどうかは、実際にどの作業へ割り当てるかによって決まります。
料金は変動します。このページの数値はすべて、2026 年 8 月時点の例として扱ってください。予算を確定する前に、公式の料金ページで最新の数値を確認してください。
コンテキスト長によって料金単価が変わることはありません。Claude 4.6 以降では、1M トークンのコンテキストウィンドウ全体に標準料金が適用されます。そのため、900,000 トークンのリクエストも、トークンあたりの料金は 9,000 トークンのリクエストと同じです。長いプロンプトの料金が高くなるのは、トークン数が多いためです。長いコンテキスト専用の料金はありません。
価格変更後も成り立つ計算
すべての請求額は、2回の乗算と1回の加算で求められます。
cost = (input_tokens / 1,000,000) * input_rate
+ (output_tokens / 1,000,000) * output_rate実行可能なコードで書くと、次のようになります。
INPUT_RATE = 2.00 # USD per million input tokens, Sonnet 5, August 2026
OUTPUT_RATE = 10.00 # USD per million output tokens
def cost(input_tokens, output_tokens):
return (input_tokens * INPUT_RATE + output_tokens * OUTPUT_RATE) / 1_000_000
print(f"{cost(4300, 400):.4f}")0.0126が出力されます。入力トークンを4,300個送信し、出力トークンを400個受け取るリクエストの料金は、Sonnet 5では約1.3セントです。2つの料金はコード内の1か所にまとめてください。料金が変更された場合は2行を編集するだけで、システム内のすべての見積もりに変更が反映されます。
実際のアプリでの試算
サポートアシスタントを例にします。システムプロンプトと製品ドキュメントを合わせて 4,000 トークンとし、Messages API はステートレスで、呼び出し間でモデルが何も記憶しないため、すべてのリクエストで送信されるものとします。ユーザーの質問で約 300 トークン、回答で約 400 トークンを消費します。つまり、1 リクエストあたりの入力は 4,300 トークン、出力は 400 トークンです。
入力 1,000,000 トークンで、この構成のリクエストを約 232 回処理できます。1 日 1,000 リクエストなら、アプリは毎日 4.3 million input tokens を消費します。つまり、「1M tokens」は 6 時間未満のトラフィックで使い切ります。
The data behind this chart
[
{
"label": "Opus 5, list rates",
"cost_per_1k_usd": "31.50"
},
{
"label": "Sonnet 5, list rates",
"cost_per_1k_usd": "12.60"
},
{
"label": "Sonnet 5, Batch API",
"cost_per_1k_usd": "6.30"
},
{
"label": "Haiku 4.5, list rates",
"cost_per_1k_usd": "6.30"
},
{
"label": "Sonnet 5, warm prompt cache",
"cost_per_1k_usd": "5.40"
}
]Claude Opus 5 では、このトラフィックの料金は 1,000 リクエストあたり $31.50 です。Sonnet 5 では $12.60 です。Claude Haiku 4.5 に切り替えると $6.30 になり、Sonnet 5 でプロンプトキャッシュが有効な場合は、さらに安い $5.40 です。
このトラフィックを 1 か月続ける場合は 30 倍します。定価で Sonnet 5 を使うと、月額は約 $378 です。同じアプリでキャッシュを有効にすると、約 $162 になります。この利用量では、モデルの選択とキャッシュの判断のどちらも、料金交渉で得られる差額を上回る効果があります。どのモデルを使うかは別の問題です。評価を通過する最も安いモデルを選ぶのが適切です。Opus、Sonnet、Haiku の選択では、適切なテスト方法を説明しています。
プロンプトキャッシュで繰り返し部分のコストを削減する
この 4,000 トークンのプレフィックスはすべてのリクエストで同一ですが、毎回、入力料金を全額支払います。プロンプトキャッシュは処理済みのプレフィックスを保存し、再利用時の料金を引き下げます。
キャッシュの読み取り料金は、基本入力料金の 0.1 倍です。キャッシュへの書き込み料金は、5 分間の有効期間では基本料金の 1.25 倍、1 時間の有効期間では 2 倍です。そのため、5 分間のキャッシュは 1 回読み取るだけで元が取れます。書き込み時の追加料金は 0.25 倍で、読み取りごとに 0.9 倍分を節約できるためです。1 時間のキャッシュは、損益分岐点に達するまでに 2 回の読み取りが必要です。
有効化する最も簡単な方法は、トップレベルに 1 つのフィールドを追加することです。
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "You are a helpful assistant.",
"messages": [
{"role": "user", "content": "What are the key themes in Pride and Prejudice?"}
]
}'次に、返された usage ブロックを確認します。
{
"usage": {
"cache_creation_input_tokens": 5120,
"cache_read_input_tokens": 1800,
"input_tokens": 50,
"output_tokens": 503
}
}これら 3 つの入力カウンターにはそれぞれ異なる料金が適用され、合計すると実際の入力量になります: total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens。キャッシュ有効化後に input_tokens だけを使ってコストを見積もると、大きく誤ります。
キャッシュを有効にしても元が取れない原因は 2 つあります。どちらもエラーなしで発生します。
プレフィックスはバイト単位で完全に一致している必要があります。 キャッシュ検索はプレフィックス一致で行われるため、system prompt の先頭にタイムスタンプやユーザー名を含めると、リクエストごとに内容が変わります。その場合、毎回、基本入力料金の 1.25 倍を支払い、読み取りは一度も発生しません。症状は、cache_creation_input_tokens が高いままで cache_read_input_tokens が 0 のままになることです。cache_control は、リクエスト間で内容が同じ最後のブロックに設定し、変化する内容はその後ろに配置します。tools の定義を変更すると、その下にあるキャッシュ全体が無効になります。無効化は、tools、system、messages の順序に沿って下方向に適用されるためです。
プレフィックスは十分に長くする必要があります。 キャッシュ可能な最小長は、Opus 5 では 512 トークン、Sonnet 5 では 1,024 トークン、Haiku 4.5 では 4,096 トークンです。これより短いプロンプトはキャッシュされず、エラーも返されません。前述の 4,000 トークンのプレフィックスは Sonnet 5 ではキャッシュされますが、Haiku 4.5 ではキャッシュされません。4,000 はそのモデルの下限未満だからです。両方のカウンターが 0 の場合、何もキャッシュされていません。
バッチ処理で料金を半分にできます
Batch API はリクエストを非同期で処理します。入力と出力の料金がどちらも 50 percent 割引になるため、上記の例では 1,000 リクエストあたり $12.60 が $6.30 になります。割引は prompt caching と併用できるため、大量処理にはキャッシュ済みのバッチジョブが最も低コストです。
その代わり、レイテンシが長くなります。そのため、人が結果を待つ処理には適していません。夜間の分類処理やドキュメントのバックフィルに適しています。
1 つの会話内でチャットのコストが増える理由
API は状態を保持しないため、クライアントはターンごとに会話全体を再送信します。そのため、1 つのチャット内のトークン使用量は長さに比例して直線的に増えるのではなく、長さの 2 乗に比例して増加します。
各ターンが平均 500 トークンだとします。ターン 1 では入力トークンを 500 個送信します。ターン 2 では 1,000 個、ターン 20 では 10,000 個を送信します。これを n(n+1)/2 で合計すると、20 ターンの会話では入力トークンを約 105,000 個送信したことになります。一方、トランスクリプト自体の長さは 10,000 トークンにすぎません。
そのため、チャット機能のコストはトランスクリプトから想定される額を上回ります。また、長いスレッドでは、変化しないプレフィックスをキャッシュするか、古いターンを要約すると効果があります。ツール呼び出しを繰り返すエージェントも同じ増え方をしますが、さらに悪化します。すべてのツール結果が履歴に残り、その後のすべてのターンで再送信されるためです。自分で運用するエージェントに厳格な支出上限を設定することが特に重要なのはこのためです。この増加は自動的に発生し、監視されないためです。
推測する前にトークン数を数える
単語数からトークン数を推定するのはやめてください。API が無料でトークン数を計算します。この処理には、メッセージ作成とは別のレート制限が適用されます。
curl https://api.anthropic.com/v1/messages/count_tokens \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "content-type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5",
"system": "You are a scientist",
"messages": [{
"role": "user",
"content": "Hello, Claude"
}]
}'レスポンスには、1 つのフィールドが含まれます。
{ "input_tokens": 14 }実際の system prompt とツール定義に、代表的な user メッセージを含めて送信し、返された数値を上記のコスト関数に入れてください。このエンドポイントにはメッセージリクエストと同じ body を渡すため、画像と PDF も正しくカウントされます。注意点は 2 つあります。カウント値は推定値であり、請求時の数値とわずかに異なる場合があります。また、渡したモデルの tokenizer で測定されるため、実際に実行するモデルを渡してください。
出力トークンは、まだ存在しないため事前にカウントできません。max_tokens で上限を設定し、実際のトラフィックで usage.output_tokens から分布を測定してください。
請求額に加算されるもの
請求額の大半を占めるのはトークンです。トークン以外にもいくつか費用が発生し、予想外に感じることがあります。
- ツール定義は、リクエストのたびに入力トークンになります。ツール使用用のシステムプロンプトだけで、独自のスキーマを含める前に、Opus 5 では 286~406 トークンが追加されます。冗長なツールの説明を 10 個追加すると、小規模なプロンプトのトークン数が 2 倍になることがあります。
- Web 検索は 1,000 回あたり $10 です。検索結果がコンテキストに入る際に消費するトークンの料金は別途かかります。
- Web fetch 自体の追加料金はありません。ただし、取得したページは入力トークンになります。100 kB のドキュメントページは、およそ 25,000 トークンです。
- Claude 4.6 以降で
inference_geoを指定して US 限定の推論を要求すると、キャッシュの読み取りと書き込みを含むすべてのトークン区分に 1.1 倍の係数が適用されます。
API を購入すること自体が適切かどうかは、利用量によって決まります。通常、この問題を考えるきっかけになるのは、プランの利用上限に達したときです。上限を超えた場合の選択肢には、期間の終了を待つ方法から、その処理を従量課金の API 呼び出しに移す方法まであります。一定の利用量を下回る場合は、月額固定プランの方が明確に有利です。API と Claude サブスクリプションの比較では、実際の数値を使って比較しています。
FAQ
Claude で 1M tokens の料金はいくらですか?
モデルによって異なり、input tokens か output tokens かによっても変わります。2026 年 8 月時点では、1 million input tokens の料金は Claude Haiku 4.5 で $1、導入時の料金設定が適用される Claude Sonnet 5 で $2、Claude Opus 5 で $5 です。これらの各モデルでは、output の料金は input の 5 倍です。Sonnet 5 は 2026 年 9 月 1 日に、input が $3、output が $15 へ移行します。料金は変更されるため、予算に金額を計上する前に公式の料金ページで確認してください。
1M tokens は 1M words と同じですか?
いいえ。1 token は英語でおよそ 4 characters、または約 0.75 words です。そのため、1 million tokens は約 750,000 words に相当します。この比率は目安にすぎません。Code、JSON、英語以外の言語では、1 word あたりの tokens 数が多くなります。Claude Opus 4.7 以降では新しい tokenizer も使用されており、同一の text に対して Claude Sonnet 4.6 以前より約 30 percent 多くの tokens が生成されます。そのため、model generation をまたいで count をそのまま比較することはできません。実行する予定の model を指定して、無料の /v1/messages/count_tokens endpoint で測定してください。
Prompt caching は常に料金を節約できますか?
いいえ。5 minute の cache write には base input rate の 1.25 倍の料金がかかります。そのため、書き込まれたまま一度も読み取られない prefix は、通常どおり送信するより 25 percent 高くなります。1 回目の read で元が取れます。失敗する原因は 2 つあり、どちらも通知されません。request 間で cached prefix が変わると、完全一致する prefix が見つからないため lookup は一致しません。prefix が model の最小 cacheable length より短い場合も、何も cache されず、error も返されません。最小 cacheable length は Sonnet 5 で 1,024 tokens、Haiku 4.5 で 4,096 です。cache_creation_input_tokens と cache_read_input_tokens の両方が 0 の場合、cache は機能していません。
Message count よりも bill の増加が速いのはなぜですか?
各 turn で会話全体が再送信されるためです。Messages API は state を保持しないため、chat の turn 20 では、それ以前の 19 turns がすべて input として再び送信されます。各 turn が平均 500 tokens の場合、20 turn の会話では transcript 自体は 10,000 tokens でも、約 105,000 input tokens が送信されます。すべての tool result が history に残るため、agent loop でも同じことが起きます。安定した prefix を cache するか、古い turn を要約して request から削除してください。