3行でいうと
- Anthropicの公式は、バッチの50%割引とキャッシュの倍率は「重ねて効く」と書いています。式にすると、単価の半分に、書き込みなら1.25倍(5分)か2倍(1時間)、読み取りなら0.1倍など(モデルで違う)を掛けるだけです。
- ただしバッチの中のキャッシュ読み取りは「できれば当たる」扱いで、公式は当たる割合を30〜98%と書いています。書き込みは割増なので、当たる割合が低いと、キャッシュを付けたほうが高くつく場合があります。損益分岐の式も書きました。
- OpenAIとGeminiでは、バッチとキャッシュの併用が明記されていない点があり、同じ式を当てはめるには条件の確認が要ります。各社の読めた範囲を分けて書きました。
この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書を読んでまとめたもので、実際に使って確かめた記録ではありません。料金は2026年10月22日に確認した値で、よく変わります。計算例は式の練習で、実際の請求額ではありません。
先に結論
- 1件の費用は、「前置きの部分」「毎回違う部分」「出力」の3つに分けて足すと書けます。バッチはその全部を半分にし、キャッシュは「前置き」の単価だけを変えます。
- 計算例(Claude Sonnet 5.5、10万件)では、バッチだけなら通常の半分、キャッシュが十分に当たる条件でバッチと重ねると、通常の約1割になりました。一方、当たる割合が低い条件では、バッチだけのほうが安い計算になりました。
- 前置きが短い、または毎回変わる処理では、キャッシュの効果は小さくなります。式の中の「前置きの割合」と「当たる割合」の2つが、結果をほぼ決めます。
式を作る:数えるのは4種類のトークン
AnthropicのAPIは、入力側のトークンを3種類に分けて数えます。使用量の欄の名前で言うと、次の3つです。
cache_read_input_tokens:キャッシュから読んだ分。cache_creation_input_tokens:キャッシュに書き込んだ分。input_tokens:最後のキャッシュ区切りより後の、キャッシュされていない分。総入力ではありません。
公式は、総入力を「この3つの合計」と書いています。4つ目は出力トークン(output_tokens)です。
単価を、入力はP_in、出力はP_out(どちらも100万トークンあたりのドル)とします。書き込みの倍率をw、読み取りの倍率をrとし、バッチなら全体に0.5を掛けます。そうすると、1件の費用は次のようになります。
1件の費用 = b × ( U×P_in + W×w×P_in + R×r×P_in + O×P_out ) ÷ 1,000,000
U: キャッシュされない入力 W: 書き込んだ入力 R: 読んだ入力 O: 出力
b: バッチなら0.5、同期なら1
wとrは公式の表で決まります。Anthropicでは、5分のキャッシュの書き込みが1.25倍、1時間が2倍で、読み取りは通常0.1倍です。ただしClaude Opus 5.5とSonnet 5.5は0.05倍、Fable 5.1とMythos 5.1は0.025倍と書かれています。
月額は、この1件の費用に件数を掛け、前置きが当たる確率を入れて期待値にします。当たる割合(ヒット率)をhとすると、前置きの費用は「h × 読み取り + (1−h) × 書き込み」です。ここで僕らは、外れた件は新しくキャッシュを書き込む、と置いています。これは僕らの置いた前提です。
計算例:Claude Sonnet 5.5で10万件
公式の料金表(2026年10月22日確認)では、Claude Sonnet 5.5は入力が1MTokあたり2ドル、出力が10ドル、5分の書き込みが2.5ドル、1時間の書き込みが4ドル、読み取りが0.10ドルです。バッチの料金は入力1ドル、出力5ドルと載っています。「バッチと重ねたときの書き込み・読み取りの価格」は、表には載っていません。公式の「倍率は重ねて効く」という文から、僕らが掛け算で出しました(バッチの5分書き込み1.25ドル、1時間2ドル、読み取り0.05ドル)。
仮の処理を置きます。1件あたり、共通の前置きが20,000トークン、毎回違う入力が1,000トークン、出力が500トークン。これを月に10万件です。
| 条件 | 1件 | 10万件 |
|---|---|---|
| A:同期、キャッシュなし | 0.047ドル | 4,700ドル |
| B:バッチのみ | 0.0235ドル | 2,350ドル |
キャッシュを付けた場合は、ヒット率hで変わります。10万件あたりの合計です。
| ヒット率 | 同期+5分キャッシュ | バッチ+5分キャッシュ | バッチ+1時間キャッシュ |
|---|---|---|---|
| 30% | 4,260ドル | 2,130ドル | 3,180ドル |
| 70% | 2,340ドル | 1,170ドル | 1,620ドル |
| 98% | 996ドル | 498ドル | 528ドル |
| 100%(理論上の下限) | 900ドル | 450ドル | 450ドル |
読み方です。ヒット率が98%でバッチと重ねると、Aの約1割です。ところが、ヒット率30%では、1時間キャッシュ(3,180ドル)はバッチのみ(2,350ドル)より高くなります。書き込みが外れるたびに、その時の入力単価の2倍(バッチなら、バッチの入力単価1ドルの2倍で2ドル)を払うからです。
損益分岐:何%当たれば、キャッシュは元が取れるか
前置きの部分だけを比べると、「キャッシュなし」の単価を1として、h×r + (1−h)×w = 1 を解いて、次の式になります。
h* = (w − 1) ÷ (w − r)
Sonnet 5.5(r = 0.05)では、5分キャッシュ(w = 1.25)が約20.8%、1時間キャッシュ(w = 2)が約51.3%です。バッチかどうかで、この比は変わりません。公式の料金ページは、読み取りが0.1倍の場合、5分の書き込みは読み取り1回、1時間の書き込みは読み取り2回で元が取れる、と書いています(Opus 5.5とSonnet 5.5は読み取りが0.05倍ですが、回数は同じです)。書き込み1回につき読み取り1回(ヒット率50%)が5分の分岐点20.8%を超え、読み取り2回(約67%)が1時間の分岐点51.3%を超える、という僕らの式と同じ向きです。
ここで注意が3つあります。
- 前置きが最小の長さに足りないと、キャッシュは効きません。Sonnet 5.5は512トークンで、モデルによって違います。
- 前置きに毎回変わる値が入ると、毎回外れます。公式は、キャッシュの区切りを「リクエスト間で変わらない最後のブロック」に置くよう勧めています。
- バッチの中のキャッシュ読み取りは「できれば当たる」扱いなので、先に書き込まれたキャッシュを後の件が読めるとは限りません。バッチの文書は、バッチの処理が5分より長くかかることがあるので、共通の文脈には1時間のキャッシュを検討するよう書いています。あわせて、全件に同じ
cache_controlを入れることと、5分で切れないようリクエストを切らさず流すことも勧めています。「1件だけ先に送って完了を待つ」という手順は、バッチの文書には見つかりませんでした。プロンプトキャッシュの文書には、並列のリクエストでキャッシュを当てたいなら最初の応答を待つ、という注意があります(バッチの外の話として読めます)。
Anthropicの公式の数字(2026年10月22日確認)
料金(1MTokあたり、キャッシュの書き込みは5分/1時間、読み取りの順)
| モデル | 入力 | 出力 | 書込5分 | 書込1時間 | 読み取り |
|---|---|---|---|---|---|
| Fable 5.1 | 10ドル | 50ドル | 12.50ドル | 20ドル | 0.25ドル |
| Opus 5.5 | 4ドル | 20ドル | 5ドル | 8ドル | 0.20ドル |
| Sonnet 5.5 | 2ドル | 10ドル | 2.50ドル | 4ドル | 0.10ドル |
| Haiku 5.5(100K以下) | 0.10ドル | 0.50ドル | 0.125ドル | 0.20ドル | 0.01ドル |
- Haiku 5.5は、プロンプトが10万トークンを超える件だけ、入力0.50ドル・出力2.50ドルなどの高い料金になります。
- バッチ:入力・出力とも50%引き。1バッチは最大10万件または256MB。結果は全件完了か24時間の早いほうで取れ、ほとんどは1時間以内に終わる、とあります。24時間で終わらない件は期限切れで、課金されません。失敗・取り消し・期限切れの件も課金されません。
- バッチとキャッシュのヒットは「できれば当たる」で、典型的には30〜98%。
max_tokens: 0と、stream: true、高速モード(speed)はバッチで使えません。 - キャッシュの保持時間は、既定が5分で、使われるたびに無料で延びます。5分は「リクエストの開始」から数えます。1時間のキャッシュは追加の費用がかかります。
- 米国内に処理を限る設定(
inference_geo: "us")は、Claude 4.6以降で全トークンに1.1倍がかかり、キャッシュの倍率とも重なります。 - キャッシュは組織をまたいで共有されず、Claude APIでは作業スペースごとに分かれます。
OpenAIとGeminiに当てはめるとき
同じ式は、「各社の倍率」と「併用できるか」を入れ替えれば使えます。ただし、公式の文書から読み取れる範囲に差があります。
| Anthropic | OpenAI | Google(Gemini) | |
|---|---|---|---|
| バッチの割引 | 50%(明記) | 50%安い(モデルのページに記載) | バッチの料金表がある(gemini-3.6-flashでは標準の半分に見える) |
| キャッシュの書き込み | 1.25倍/2倍 | GPT-5.6以降は1.25倍。それ以前は追加の書き込み料金なし | 暗黙のキャッシュは自動。料金表に「保存」の時間単価がある行がある |
| キャッシュの読み取り | 0.1倍など | 0.1倍(GPT-6.1 Solは0.05倍) | 割引率は明記されず、料金表の値で見る |
| バッチとキャッシュの併用 | 重なると明記 | 読めた文書には書かれていません | 料金表にはバッチ側のキャッシュ単価が載るが、バッチ内で当たるかの説明は読めていません |
OpenAIとGeminiの、読めた範囲の数字
OpenAI(2026年10月22日確認)
- gpt-6.1-solの標準の料金は、入力2ドル、キャッシュされた入力0.10ドル、キャッシュ書き込み2.50ドル、出力10ドル(1MTokあたり)。モデルのページは、BatchとFlexはこれより50%安い、と書いています。
- 料金ページには、標準の半分に見える表(入力1ドル、キャッシュ0.05ドル、書き込み1.25ドル、出力5ドル)もありました。ただし、僕らが10月16日に読んだ文章では、表の見出し(Batch、Flexなど)が消えていて、どの段が何なのかは公式の文章だけでは確認できません(この料金ページは10月22日には読み直していません)。
- キャッシュの文書は、入力の1つ1つが「通常・キャッシュ読み取り・キャッシュ書き込み」のどれか1つの単価で課金される、と書いています。GPT-5.6以降の保持は30分です。
- バッチの文書は、1バッチ最大5万件、入力ファイル200MB、完了期間は24時間のみ、と書いています。キャッシュの割引がバッチにかかるかは、書いていません。
- 長いプロンプト(gpt-6.1-solは272Kトークン超)は、入力とキャッシュが2倍、出力が1.5倍と書かれています。
Google(2026年10月22日確認)
- gemini-3.6-flashの標準:入力0.75ドル、出力3.75ドル、キャッシュ0.075ドル、保存は1MTokあたり1時間0.50ドル。バッチ:入力0.375ドル、出力1.875ドル、キャッシュ0.0375ドル。出力の値に思考分を含みます。
- ただし同じ料金ページには、今後の値上げの予定が載っています。上の値には「2026年12月31日まで」、倍の値には「2027年1月1日から」と、日付が書かれています。
- キャッシュの文書:暗黙のキャッシュはGemini 2.5以降で既定で有効。最小のトークン数は、Gemini 3.6 Flashなどで4,096。割引率、保存の費用、保持時間は、この文書には書かれていませんでした。
見積もりの手順(僕らの整理)
- 自分の処理から、1件あたりの「前置き」「毎回違う入力」「出力」のトークン数を、使用量の欄から読みます。
- 前置きが、モデルごとの最小の長さを超えているかを見ます。
- バッチにできるか(24時間待てるか)を決めます。
- ヒット率を、いきなり高く見積もらず、30%と70%の2通りで計算します。公式の30〜98%という幅も、その範囲の目安です。
- 損益分岐の式で、5分と1時間のどちらが外れたときに痛いかを確かめます。
- 実際の請求は、使用量の欄の3種類の入力と出力を上の式に入れ直して、請求書の数字と照らし合わせます。
気をつけること
- 計算例の前置き・入力・出力の大きさと、件数は、僕らが決めた仮の値です。実際の処理では違います。ヒット率は、この記事では測っていません。
- バッチ内のキャッシュの単価(0.05ドルなど)は、公式の表の値ではなく、「重ねて効く」という文からの僕らの掛け算です。実際の請求で確かめてください。
- OpenAIとGeminiの併用の可否は、読んだ文書の範囲では確認できていません。「できない」と断定するものでもありません。
- Googleの料金ページは、将来の日付つきの価格を載せています。上の数字は、ページが「2026年12月31日まで」としている値を書き写したもので、2027年1月1日からは別の値になると書かれています。
- WebFetchは要約を返すので、原文の言葉そのままではなく言い換えています。要約に混じった推論は使っていません。OpenAIの料金ページ(10月16日に読んだもの)は、表の見出しが抜けていたため、段ごとの対応は確認できませんでした。
- モデル名、料金、倍率は、よく変わります。個別の見積もりは、必ず公式の料金ページで最新を確認してください。助言ではありません。
- 別の記事で扱っている話題(キャッシュの条件・保持時間、バッチの対象と上限)は、ここでは式に必要な点だけに絞りました。
出典
- Pricing(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Batch processing(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Prompt caching(Claude Platform Docs、Anthropic、2026年10月22日確認)
- Batch API(OpenAI API、OpenAI、2026年10月22日確認)
- Prompt caching(OpenAI API、OpenAI、2026年10月22日確認)
- gpt-6.1-sol(OpenAI API、OpenAI、2026年10月22日確認)
- Gemini Developer API pricing(Google AI for Developers、Google、2026年10月22日確認)
- Context caching(Gemini API、Google AI for Developers、Google、2026年10月22日確認)
更新履歴
-
2026年10月25日 書き方を直しました。
- 前:運営者が使っていないと読める書き方 → いま:「この記事は、実際に使って確かめた記録ではありません」。公式の資料を読んでまとめた記事で、使い心地は書いていない、という意味に直した
-
2026年10月22日 公式の資料を読み直して、次の点を直しました。
- 前:公式は、共通の前置きを1時間キャッシュにして1件だけ先に送る方法を勧めている → いま:バッチの文書に、その手順は見つからなかった。1時間キャッシュの検討と、全件に同じcache_controlを入れることを勧めている
- 前:書き込みが外れるたびに、通常入力の2倍を払う → いま:その時の入力単価の2倍。バッチなら、バッチの入力単価1ドルの2倍で2ドル
- 前:公式は、5分の書き込みは読み取り1回、1時間は2回で元が取れると書く → いま:読み取りが0.1倍の場合の話。Opus 5.5とSonnet 5.5は0.05倍だが、回数は同じ
- 前:OpenAIの料金ページの表は、見出しが消えて段の対応が確認できない → いま:10月16日に読んだ文章の話で、この料金ページは10月22日には読み直していない
