Claudeの1M tokensはいくら?料金の計算方法
Claude APIの1M tokens料金はモデルと入出力で異なります。Haiku 4.5、Sonnet 5、Opus 5の単価と、outputがinputの5倍になる請求額の計算方法を解説します。
Claude における 1M tokens の料金はいくらですか?
1M tokens は 1000000 tokens を意味し、Claude API(application programming interface)モデルの料金表示に使われる単位です。単一の料金はありません。入力と出力では請求レートが異なり、モデルごとにそれぞれのレートが設定されているためです。Claude Haiku 5.5 には、100000 tokens 以下のプロンプト向けと、それを超えるプロンプト向けの、2 組の料金があります。2026 年 10 月時点では、1000000 input tokens の料金は Claude Haiku 4.5 で $1、Claude Sonnet 5 で $2、Claude Opus 5 で $5 です。
出力は高額な側です。現在のすべてのモデルで、出力レートは入力レートの 5 倍です。そのため、見出しの料金よりも、入力と出力の内訳が請求額を大きく左右します。長い文書を送って短い回答を返すアプリと、短いプロンプトから長い回答を生成するアプリでは、料金の動きが大きく異なります。
このページでは単位のコストと、構築前に請求額を見積もる方法を説明します。作業中に tokens が実際にどこで消費されるかについては、Claude Code セッション内で tokens が消費される場所を参照してください。
1M トークンの規模
トークンは、モデルが読み書きするテキストのまとまりです。Anthropic の用語集では、Claude 4.7 より前のモデルでは、1 トークンはおよそ 3.5 個の英字に相当すると説明されています。Anthropic のモデル概要によると、これらのモデルでは 100 万トークンで約 750,000 語を扱えます。1 トークンが 3.5 文字だとすると、これは約 350 万文字、プレーンな英語テキストで約 3.5 MB に相当します。Claude Opus 4.7 で導入された新しい tokenizer では、同じ 100 万トークンで約 555,000 語、または約 250 万文字を扱えます。
一般的な入力について公開されている推定値を見ると、この規模をより具体的に把握できます。
このグラフのデータ
[
{
"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 トークンに含まれる語数が少なくなるため、これらの語数は楽観的な上限です。もう 1 つ、カウントに影響する点があります。Claude Opus 4.7 以降には Opus 5 と Sonnet 5 が含まれますが、これらは新しい tokenizer を使用するため、同じテキストでも Sonnet 4.6 以前より約 30 パーセント多くのトークンが生成されます。Claude Haiku 4.5 は古い tokenizer を使用します。そのため、Haiku 4.5 で測定したカウントは、同じ入力を Sonnet 5 に渡した場合のカウントを過小評価します。つまり、その境界をまたいだ単純な 100 万トークンあたりの料金比較は公平ではありません。判断する前に、同じプロンプトを両方のモデルでカウントしてください。
Claude の 100 万トークンあたりの料金
このグラフのデータ
[
{
"label": "Haiku 4.5",
"input_usd": 1,
"output_usd": 5
},
{
"label": "Sonnet 5",
"input_usd": 2,
"output_usd": 10
},
{
"label": "Sonnet 4.6",
"input_usd": 3,
"output_usd": 15
},
{
"label": "Opus 5",
"input_usd": 5,
"output_usd": 25
}
]Claude Sonnet 5 の料金は、入力が $2、出力が $10 です。Anthropic は当初、この料金を 2026 年 8 月 31 日までの導入価格として提供していました。その後、標準料金に変更し、予定していた $3 と $15 への値上げを取りやめました。Claude Opus 5 は、入力が $5、出力が $25 です。Fable モデルはこれらを大きく上回ります。Claude Fable 5 と新しい Claude Fable 5.1 は、どちらも入力が $10、出力が $50 です。そのため、この料金を支払う価値があるかどうかは、実際にどの処理を割り当てるかによって決まります。
Anthropic の現在のラインアップは、このページで料金を計算したモデルより新しくなっています。Claude Opus 5.5 は入力が $4、出力が $20、Claude Sonnet 5.5 は入力が $2、出力が $10、Claude Haiku 5.5 は入力が $0.10、出力が $0.50 からです。Opus 5、Sonnet 5、Haiku 4.5、Fable 5 は、現在も利用できるレガシーモデルとして掲載されています。そのため、以下の計算例は記載どおり実行できます。Haiku 5.5 の料金と適した用途では、新しいモデルの中で最も安価なモデルを説明します。
料金は変動します。このページのすべての数値は、2026 年 10 月時点の計算例として扱ってください。予算を確定する前に、公式料金ページで最新の数値を確認してください。
これらの料金から Claude の費用は分かりますが、使用するワークロードにとって安価な選択肢かどうかは分かりません。Claude と ChatGPT の両方で計算した 3 つの処理では、それぞれの API のどちらが有利になるかを示します。
例外を除き、コンテキスト長は料金を変えません。Claude 4.6 以降のモデルでは、Claude Haiku 5.5 を除き、1M トークンのコンテキストウィンドウ全体に標準料金が適用されます。そのため、900,000 トークンのリクエストも、9,000 トークンのリクエストと 1 トークンあたりの料金は同じです。長いプロンプトの料金が高くなるのは、トークン数が多いからです。長いコンテキスト専用の別料金はありません。Claude Haiku 5.5 は、プロンプトの長さに応じて料金が決まります。プロンプトが 100,000 トークンを超えるリクエストでは、入力が 100 万トークンあたり $0.50、出力が $2.50 となり、入力 $0.10、出力 $0.50 の料金は適用されません。キャッシュの読み取りと書き込みも、このしきい値の判定対象です。
価格変更後も有効な計算
すべての請求額は、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, October 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 個消費します。そのため、「1M トークン」は 6 時間未満のトラフィックで使い切ります。
このグラフのデータ
[
{
"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 の選択で説明しています。
繰り返し部分を削減する Prompt caching
その 4,000 トークンのプレフィックスはすべてのリクエストで同一ですが、毎回入力料金を全額支払います。Prompt caching は処理済みのプレフィックスを保存し、再利用時には割引料金を適用します。
このページの料金表と計算例にあるモデル(Haiku 4.5、Sonnet 5、Sonnet 4.6、Opus 5)と Fable 5 では、キャッシュ読み取りの料金は基本入力料金の 0.1 倍です。新しい一部のモデルでは読み取り料金がさらに安く、Opus 5.5 と Sonnet 5.5 は 0.05 倍、Fable 5.1 と Mythos 5.1 は 0.025 倍です。キャッシュへの書き込みは、保持期間が 5 分の場合は基本料金の 1.25 倍、1 時間の場合は 2 倍です。そのため、0.1 倍のモデルでは、5 分キャッシュは 1 回読み取れば元が取れます。書き込みによる追加料金は 0.25 で、読み取り 1 回につき 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 倍を支払い、1 回も読み取りが発生しません。症状としては cache_creation_input_tokens が高いままになり、cache_read_input_tokens が 0 のままになります。cache_control は、リクエスト間で内容が同じ最後のブロックに配置し、変化するものはすべてその後に置きます。tools の定義を変更すると、その下にあるキャッシュ全体が無効になります。無効化は order tools、次に system、次に messages の順に適用されるためです。
プレフィックスは十分な長さが必要です。 キャッシュ可能な最小長は、Opus 5 では 512 トークン、Sonnet 5 では 1,024 トークン、Haiku 4.5 では 4,096 トークンです。これより短い prompt はキャッシュされず、エラーも返されません。上の例にある 4,000 トークンのプレフィックスは Sonnet 5 ではキャッシュされますが、Haiku 4.5 ではキャッシュされません。4,000 はそのモデルの下限を下回るためです。両方のカウンターが 0 の場合、何もキャッシュされていません。
バッチ処理で料金が半分になる
Batch API はリクエストを非同期で処理し、入力と出力の料金がそれぞれ 50 percent 割引になります。上の例では、1,000 リクエストあたり $12.60 が $6.30 になります。この割引はプロンプトキャッシュとも併用できるため、キャッシュを使用するバッチジョブは、大量処理を実行する最も安価な方法です。
失うのはレイテンシです。そのため、人が処理結果を待つ用途にはバッチは適しません。夜間の分類処理や、文書データのバックフィルに適しています。
1 つの会話内でチャットのコストが増える理由
API は状態を保持しないため、クライアントはターンごとに会話全体を再送します。そのため、1 つのチャット内のトークン使用量は直線的ではなく、会話の長さの 2 乗に比例して増えます。
平均 500 トークンのターンを考えます。Turn 1 では入力トークンを 500 個送信します。Turn 2 では 1,000 個、Turn 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 とツール定義に、代表的なユーザーメッセージを加えて指定し、その数値を前述のコスト関数に入力します。このエンドポイントはメッセージリクエストと同じ body を受け取るため、base64 で送信した画像や PDF も正しくカウントされます。web search や web fetch などのサーバーツール、および URL やファイル参照で渡した画像やドキュメントには対応していません。注意点は2つあります。カウントは推定値であり、請求対象の数値とわずかに異なる場合があります。また、指定した model の tokenizer で測定されるため、実際に実行する model を指定してください。
出力トークンは、まだ存在していないため事前に数えられません。max_tokens で上限を設定し、実際のトラフィック上で usage.output_tokens から実際の分布を測定します。
請求額に加算されるその他の項目
請求額の大半を占めるのはトークンです。ただし、トークン以外にもいくつか項目があり、予想外に感じる人もいます。
- ツール定義は、リクエストごとに入力トークンになります。ツール使用のシステムプロンプトだけで、独自のスキーマを含める前に、Opus 5 では 286 から 406 トークンが追加されます。冗長なツールの説明を 10 個指定すると、小さなプロンプトのサイズが 2 倍になることがあります。
- Web search は、検索 1,000 回あたり $10 が、検索結果をコンテキストに取り込む際に消費されるトークンの料金に加えて請求されます。
- Web fetch 自体には追加料金はありません。ただし、取得したページは入力トークンになります。100 kB のドキュメントページでは、およそ 25,000 トークンを消費します。
- Claude 4.6 以降で
inference_geoを指定して US-only inference を要求すると、キャッシュの読み取りと書き込みを含むすべてのトークン区分に 1.1 倍の乗数が適用されます。
API を購入すること自体が適切かどうかは、利用量によって決まります。通常、この問題を考え始めるきっかけは、プランの利用上限に達することです。上限に達した場合の選択肢には、ウィンドウがリセットされるまで待つ方法から、その処理を従量制の API 呼び出しへ移す方法まであります。一定水準未満の利用量であれば、定額の月額プランが明確に有利です。API と Claude サブスクリプションの比較では、実際の数値を使って比較しています。
FAQ
Claude における 1M tokens の料金はいくらですか?
モデルと、tokens が入力か出力かによって異なります。2026 年 10 月時点では、1000000 input tokens の料金は Claude Haiku 4.5 で $1、Claude Sonnet 5 で $2、Claude Opus 5 で $5 です。新しい Claude Haiku 5.5 は、100000 tokens 以下のプロンプトでは 1000000 input tokens あたり $0.10 から始まり、それを超える部分では $0.50 です。これらのモデルでは、出力料金はいずれも入力レートの 5 倍です。料金は変更されるため、予算に金額を記載する前に公式の pricing page で確認してください。
1M tokens は 1M words と同じですか?
いいえ。Claude Opus 4.7 より前のモデルでは、Anthropic は 1 token をおよそ 3.5 個の英語文字に相当するとしており、1000000 tokens には約 750000 words が含まれると説明しています。Claude Opus 4.7 以降が使用する新しい tokenizer では、1000000 tokens に含まれる words は約 555000 です。同一テキストに対して、この tokenizer が Claude Sonnet 4.6 以前よりおよそ 30 percent 多くの tokens を生成するためです。これらの比率はあくまで目安です。code、JSON、英語以外の言語では 1 word あたりの tokens が多くなり、モデル世代が異なるとカウントをそのまま比較できません。実行予定の model を指定して、無料の /v1/messages/count_tokens endpoint で測定してください。
Prompt caching は常に費用を削減しますか?
いいえ。5 分 cache の write には基本入力レートの 1.25 倍がかかります。そのため、write したまま一度も read しないプレフィックスでは、通常どおり送信する場合より 25 percent 高くなります。1 回 read すれば元が取れます。cache が機能しない原因は 2 つあり、どちらもエラーを出しません。cache されたプレフィックスがリクエスト間で変わると、完全一致のプレフィックス検索で一致しないため、read は発生しません。プレフィックスが model の cache 可能な最小長より短い場合も、cache されず、エラーは返されません。最小長は Sonnet 5 では 1024 tokens、Haiku 4.5 では 4096 tokens です。cache_creation_input_tokens と cache_read_input_tokens が両方 0 の場合、cache は機能していません。
メッセージ数よりも速く請求額が増えたのはなぜですか?
各ターンで会話全体が再送信されるためです。Messages API は状態を保持しません。そのため、チャットの 20 ターン目では、それ以前の 19 ターンすべてが再び入力として送信されます。各ターンが平均 500 tokens の場合、20 ターンの会話では、transcript 自体は 10000 tokens しかなくても、約 105000 input tokens が送信されます。すべての tool result が履歴に残るため、agent loop でも同じことが起きます。安定したプレフィックスを cache するか、古いターンを要約してリクエストから削除してください。