「キャッシュをONにすれば9割引き」は本当? ClaudeとGeminiで割引が効く範囲と、モデル・API・設定の変更で外れる条件【2026年10月版】
「プロンプトキャッシュで入力が9割引き」は半分だけ本当です。割引されるのは、キャッシュを読めた入力の部分だけ。2026年10月26日の公式料金表で、Claude・Geminiの割引率(5〜97.5%)、書込の割増、保存料、元が取れる回数、出力が多いと全体の削減率が5割以下になる理由、モデル・API・設定の変更でどこまで外れるかを計算つきで整理しました。
文・ニコ

「プロンプトキャッシュをONにすると、入力が9割引き」。
よく聞く話ですよね。でも、自分のAPI請求書を見ても、9割も下がっていない。そんな経験はありませんか?
実は、この話は半分だけ本当です。9割引きになるのは「キャッシュを読めた入力」の単価だけ。請求書の総額が9割下がるわけではないんです。
ClaudeとGeminiの公式料金表を一つずつ見ながら、次の3つを確かめていきましょう。
- 割引はいくらで、どこに効くのか
- 何回使うと元が取れるのか
- どんな変更で割引が外れるのか
先に結論
- 割引率はモデルで違います。 Claudeの読込は通常入力の10%(90%引き)が標準ですが、Sonnet 5.5とOpus 5.5は5%、Fable 5.1は2.5%。Geminiも10%が多い中、Gemini 4 Argonは5%です。
- 割引されるのは「保存点までの先頭部分を、キャッシュから読めた入力」だけです。 出力、保存点より後ろの新規入力、読めなかった入力は割引されません。
- 全体の削減率は出力の量で大きく変わります。 固定部分50,000 tokensの例では、出力が500 tokensなら約89%減。出力が10,000 tokensなら約47%減です。
- Claudeは「書込」に割増があります。 5分で通常入力の1.25倍、1時間で2倍。1回しか使わないなら、キャッシュしない方が安くなります。
- Geminiの明示キャッシュは「保存料」が別にかかります。 保存料を回収できる読込回数は、モデルによって約1〜4回/時間です。
- 外れると、割引がなくなるだけでは済みません。 Claudeで保存点を付けたまま外れ続けると、毎回1.25倍の書込料金を払うことになります。ヒット率が約2割を切ると、付けない方が安くなる計算です。
- モデル・API・ツール定義・thinking・effortなどを変えると、外れます。 変更ごとにどの範囲が外れるかを、後半の表にまとめました。
誰向けの記事?
ClaudeかGeminiのAPIを使っていて、「キャッシュで安くなる」と聞いて導入した人、これから導入を考えている人向けです。
非エンジニアの人は、「割引は入力の一部だけ」「1回しか使わないなら得にならない」の2つを持ち帰れば十分です。エンジニアの人は、後半の表と電卓スクリプトをそのまま使ってください。
ClaudeアプリやGeminiアプリ、Claude Codeの定額枠の話は扱いません。API課金のキャッシュだけです。
「そもそもキャッシュが当たらない」原因の切り分けは、姉妹記事で詳しく書きました。この記事は当たったときにいくら安くなるのかに絞ります。
まず確認:何が割引されるキャッシュ?
ここで言うキャッシュは「入力キャッシュ」です。入力の先頭部分をモデルが読み込んだ結果を取っておきます。次のリクエストで同じ先頭部分を使うときは、読み直しを省く仕組みです。
回答を使い回す仕組みではありません。 新しい質問への出力は毎回ちゃんと生成します。だから出力の料金はキャッシュがあっても変わりません。
割引率は、モデルで違う
まずは単価です。2026年10月26日時点の公式料金表(Claude API、Gemini Developer APIの有料・Standard)から、読込の単価を通常入力と比べました。
Claude
| モデル | 通常入力 | 5分書込 | 1時間書込 | キャッシュ読込 | 読込の割引 |
|---|---|---|---|---|---|
| Fable 5.1 | $10 | $12.50 | $20 | $0.25 | 97.5%引き |
| Opus 5.5 | $4 | $5 | $8 | $0.20 | 95%引き |
| Sonnet 5.5 | $2 | $2.50 | $4 | $0.10 | 95%引き |
| Sonnet 5 | $2 | $2.50 | $4 | $0.20 | 90%引き |
| Sonnet 4.6 | $3 | $3.75 | $6 | $0.30 | 90%引き |
| Opus 5 / 4.8 / 4.7 / 4.6 / 4.5 | $5 | $6.25 | $10 | $0.50 | 90%引き |
| Haiku 5.5(〜100,000 tokens) | $0.10 | $0.125 | $0.20 | $0.01 | 90%引き |
| Haiku 4.5 | $1 | $1.25 | $2 | $0.10 | 90%引き |
単位は百万tokensあたりのUSDです。書込は通常入力の1.25倍(5分)か2倍(1時間)。どのモデルでも共通です。読込だけがモデルによって0.025倍・0.05倍・0.1倍に分かれます。
Gemini
| モデル | 通常入力 | キャッシュ読込 | 読込の割引 | 明示キャッシュの保存料 |
|---|---|---|---|---|
| Gemini 4 Argon | $2.00 | $0.10 | 95%引き | 非対応(暗黙のみ) |
| Gemini 3.8 Flash | $0.75 | $0.075 | 90%引き | $0.50 / 時 |
| Gemini 3.6 Flash | $0.75 | $0.075 | 90%引き | $0.50 / 時 |
| Gemini 3.1 Pro Preview(〜200k) | $2.00 | $0.20 | 90%引き | $4.50 / 時 |
| Gemini 2.5 Pro(〜200k) | $1.25 | $0.125 | 90%引き | $4.50 / 時 |
| Gemini 2.5 Flash | $0.30 | $0.03 | 90%引き | $1.00 / 時 |
Geminiには書込の割増がありません。暗黙キャッシュなら、何もしなくても当たったぶんだけ割引されます。そのかわり、明示キャッシュには保存料がかかります。
ちなみにGoogle Cloud側のGeminiも、暗黙・明示とも「90%引き」と書かれています。ただし最小入力などの条件はDeveloper APIと違うので、数字を混ぜないでください。
単価が変わる予定に注意
料金表には、Gemini 4 Argonは2026年12月1日から入力$4.00、キャッシュ$0.20へ上がると書かれています。3.8 Flashと3.6 Flashも、2027年1月1日から入力$1.50、キャッシュ$0.15、保存料$1.00/時へ上がると書かれています。
倍になっても、読込の割合(5%・10%)は変わりません。 割引率の話はこの日付をまたいでもそのまま使えます。金額を書いたメモは日付つきで残しておきましょう。
割引されるのは、どこ?
1リクエストの料金は3つに分けられます。
- 固定部分の入力:保存点までの、毎回同じ先頭
- 新規入力:保存点より後ろ。今回の質問など
- 出力
キャッシュが割引するのは、1のうち「読めた部分」だけです。
Sonnet 5.5で、固定部分50,000 tokens、新規入力1,000 tokens、出力2,000 tokensの例です。
- キャッシュなし:50,000 × $2 + 1,000 × $2 + 2,000 × $10(百万tokensあたり)で$0.122
- キャッシュを読めた:50,000 × $0.10 + 1,000 × $2 + 2,000 × $10で$0.027
固定部分だけ見れば95%減。でも1リクエスト全体では78%減です。この差は、出力が増えるほど広がります。
出力が多いほど、「9割」から遠ざかる
ほかの条件は同じにして、出力の量だけ変えるとどうなるでしょう? キャッシュを読めたときの全体の削減率を計算しました。
| モデル | 出力500 tokens | 出力2,000 | 出力10,000 |
|---|---|---|---|
| Claude Fable 5.1 | 91% | 80% | 48% |
| Claude Sonnet 5.5 | 89% | 78% | 47% |
| Claude Sonnet 4.6 | 84% | 74% | 45% |
| Gemini 4 Argon(暗黙) | 89% | 78% | 47% |
| Gemini 3.8 Flash(暗黙) | 84% | 74% | 45% |
固定部分50,000 tokens+新規入力1,000 tokensの1リクエストが、すべてキャッシュを読めた場合です。
「長い資料を渡して、短く答えてもらう」使い方なら、9割に近づきます。「長い資料を渡して、長いコードやレポートを書かせる」使い方では、5割を切ります。thinking(考える)トークンも出力として課金されるので、考え込むモデルほど、割引の効きは薄まります。
図の計算はこの記事の末尾に載せた電卓で再現できます。
元が取れるのは、何回目から?
「ヒットすれば安い」のは分かりました。では、何回使えば得なのでしょう?
Claude:書込の割増を、読込で取り返す
Claudeでは、キャッシュに保存する最初のリクエストで、固定部分に通常の1.25倍(5分)か2倍(1時間)の料金がかかります。公式の料金ページにはこう書かれています。
caching pays off after one cache read for the 5-minute duration (1.25x write), or after two cache reads for the 1-hour duration (2x write).
つまり、5分なら読込1回で、1時間なら読込2回で元が取れます。
Sonnet 5.5、固定部分50,000 tokens、出力2,000 tokensで、2回目以降がすべてヒットした場合の合計です。1回しか使わないと、-20%(5分書込の1.25倍ぶん高くなる)。2回で29%、10回で68%、50回で76%まで上がります。
「9割引き」に近づくのは、出力が小さくて、同じ固定部分を何十回も使うときだけです。
ヒット率が低いと、逆に高くつく
もう一つ、見落としやすい点があります。
Claudeで保存点を付けると、外れたリクエストでも、その固定部分に書込単価がかかります。 外れたぶんだけ、キャッシュなしより高くなるわけです。お得にするつもりが、まさかの割増です。
通常入力を1として固定部分だけで比べると、1リクエストあたりの期待コストは次のとおりです。
- 5分書込、読込0.1倍:
ヒット率 × 0.1 + (1 − ヒット率) × 1.25 - これが1を下回る境目は、ヒット率 約22%
- 読込0.05倍(Sonnet 5.5など)なら、約21%
ヒット率が2割を切るなら、保存点を付けない方が安い計算です。「入れておけば損はない」は、Claudeでは成り立ちません。
なお、これは「外れるたびに書込が走る」と仮定した、固定部分だけの単純な計算です。ヒット率を予測する式ではありません。
Gemini:保存料を、読込の差額で回収する
Geminiの暗黙キャッシュには書込の割増も保存料もありません。当たれば安く、当たらなければ通常価格です。
一方、明示キャッシュは保存料がかかります。1時間保存したときの保存料を、読込1回あたりの節約額で割ると、1時間に何回読まれれば回収できるかが分かります(単位はどれも百万tokensあたり)。
| モデル | 読込1回の節約額 | 保存料(1時間) | 回収に必要な読込 |
|---|---|---|---|
| Gemini 3.8 Flash | $0.675 | $0.50 | 約0.7回 |
| Gemini 3.1 Pro Preview(〜200k) | $1.80 | $4.50 | 約2.5回 |
| Gemini 2.5 Pro(〜200k) | $1.125 | $4.50 | 4回 |
| Gemini 2.5 Flash | $0.27 | $1.00 | 約3.7回 |
つまり、Proや2.5 Flashを明示キャッシュで1時間保存するなら、1時間に数回以上読まれないと、保存料の方が高くつきます。読込単価が安いから得、とは言い切れません。
この表は保存料と読込の差額だけを比べた、ざっくりした目安です。キャッシュを作るときの処理に通常入力の料金がかかるかどうかは、公式ガイドでは確認できなかったので、含めていません。保存の課金単位(1時間未満を按分するか)も未確認です。実際に使うモデルで、作成直後の請求とusageを確かめてください。
割引が効く範囲:これが揃ったときだけ
割引されるのは「キャッシュを読めた」ときだけ。では、何が揃えば読めるのでしょう? 条件は大きく4つあります。
- 同じモデル・同じAPIで、先頭が同じ。 Claudeは
tools → system → messagesの順で、保存点までが一字一句同じ。 - 長さが足りている。 Claudeは512〜4,096 tokens(モデル別)、Gemini暗黙は2,048〜4,096 tokens。足りないと、エラーなしで黙ってキャッシュされません。
- 期限内。 Claudeは既定5分(読むたびに更新)か、指定した1時間。Gemini明示は既定1時間。Gemini暗黙には固定の保証期間がありません。
- そのAPIが方式に対応している。 Gemini明示は
generateContentの対応モデルだけ。
くわしい条件、保存点の置き方、usageの見方は、姉妹記事にまとめています。
Geminiの暗黙キャッシュは「ヒット保証なし」と公式に書かれています。明示キャッシュは「cost saving guarantee」付きですが、約束されているのは、参照した入力の割引です。請求の総額が下がる約束ではありません。
モデル・API・設定を変えると、どこまで外れる?
ここからは、タイトルの後半の話です。キャッシュは請求の割引率ではなく、入力の同一性で決まります。何かを変えると、その位置から後ろが外れます。
Claudeで変えると外れるもの
| 変更 | 外れる範囲 | 備考 |
|---|---|---|
| モデルの切替 | すべて | モデルごとに別のキャッシュ。ルーターのfallbackやA/B割当にも注意 |
| ツール定義(名前・説明・schema・順序) | tools以降=すべて | 配列の順番を変えるだけでも外れ得る |
| Web検索・citationsのON/OFF | systemとmessages | toolsは残る |
| fast/standard(speed)の切替 | systemとmessages | toolsは残る |
tool_choiceの変更 | messages | toolsとsystemは残る |
| 画像の追加・削除 | messages | toolsとsystemは残る |
thinkingのモード・budget、effort | messages(toolsとsystemはモデル依存) | 「出力の設定だから無関係」ではない |
| 過去のmessagesの編集・削除・並べ替え | その位置以降 | 履歴の要約への置換や、過去のツール結果の再整形も同じ |
出典はClaudeの「What invalidates the cache」の表です。このうち、設定だけを変えて「messagesだけ外れる」ものは、保存点を tools や system の末尾にも置いておくと、そこまでは読めます。
Geminiで変えると外れるもの
| 変更・状態 | 何が起きるか |
|---|---|
| 明示キャッシュを別のモデルで使う | 使えない。キャッシュは作成時のモデルに固定。モデルごとに作り直す |
| system instruction・tools・資料を変える | 同じキャッシュは使えない。作り直して、新しいnameを使う(作成後は変更できない内容) |
| InteractionsやGemini 4 Argon以降で明示キャッシュを使いたい | 非対応。暗黙キャッシュだけ。generateContentの3 / 2.5系で使う |
| 期限切れ・削除済み | 参照できない。expireTimeを確認 |
| 暗黙:先頭に毎回変わる値(時刻・ID)を入れる | 先頭の共通性を失う。共通の長い内容を先頭に置く |
| 暗黙:共通部分が短い | 最小入力(モデル別2,048〜4,096 tokens)未満だと対象外 |
Gemini 4 Argon以降のエージェントループには、もう一つ条件があります。新しいリクエストで追加される入力が2,050 tokens未満だと、前回リクエストの末尾2,050 tokensを通常の入力料金で処理し直します。追加量には出力・thought・ツール結果も含まれます。公式の説明では、多くのエージェントのターンはこの閾値を超えるとのことです。
「外れた」あとの請求は、Claudeの方が痛い
外れたときの料金も比べてみましょう。
| 外れたときの請求 | |
|---|---|
| Claude(保存点あり) | 通常入力ではなく書込単価(1.25倍や2倍)になる |
| Gemini 暗黙 | 通常入力のまま。割増なし |
| Gemini 明示 | 参照した名前が有効なら読込。保存料は、キャッシュが存在する時間ぶん発生 |
Claudeでは「ツールの順番を変えただけで、請求が上がった」ということも起こり得ます。外れたときに書込単価になるためです。逆にGeminiの暗黙は外れても損はしません。そのかわり、当たる保証もありません。
料金表で見落としやすい、3つの落とし穴
1. 長さで単価が変わるモデル
Claude Haiku 5.5は、プロンプトが100,000 tokensを超えると、単価の階層が上がります(通常入力$0.10→$0.50、読込$0.01→$0.05)。この判定にはキャッシュの読込・書込のtokensも含まれます。
Gemini 3.1 Pro Previewと2.5 Proも、プロンプトが200k tokensを超えると、入力もキャッシュも単価が2倍になります。
「キャッシュしたから、長くても安い」とは限りません。長さの階層はキャッシュの前に決まります。
2. 割引は他の割引と重なる
Claudeの公式料金表には、キャッシュの倍率がBatch APIの割引やデータ所在地指定(US限定の1.1倍)と重なると書かれています。Batch中のキャッシュは順序も同時実行も保証されないので、ヒットはベストエフォートです。通常のリクエストで効果を確かめてから、Batchに移しましょう。
3. 提供面が変わると、数字も変わる
Amazon BedrockやGoogle Cloud経由のClaude、Google Cloud側のGeminiは、この記事の数字を当てはめられません。たとえばGoogle CloudのGeminiの暗黙キャッシュは、3.8 Flashなどで最小入力が6,144 tokensと、Developer APIの4,096と違います。使う提供面の料金表と仕様で、数字を確認し直してください。
手元で計算する:電卓スクリプト
この記事の数字は次のスクリプトで再現できます。単価は上の表と同じです。自分のモデル・固定部分・出力量に書き換えて使ってください。
# 名前: (通常入力, キャッシュ読込, 出力, 5分書込 or None) 単位: USD / 百万tokens
PRICES = {
"Claude Sonnet 5.5": (2.00, 0.10, 10.00, 2.50),
"Claude Sonnet 4.6": (3.00, 0.30, 15.00, 3.75),
"Claude Fable 5.1": (10.00, 0.25, 50.00, 12.50),
"Gemini 3.8 Flash(暗黙)": (0.75, 0.075, 3.75, None),
"Gemini 4 Argon(暗黙)": (2.00, 0.10, 10.00, None),
}
def request_cost(price, fixed, fresh, out, hit):
"""1リクエストの費用。fixed=保存点までの固定部分、fresh=その後ろの新規入力。"""
inp, read, outp, _ = price
fixed_price = read if hit else inp
return (fixed * fixed_price + fresh * inp + out * outp) / 1e6
def saving_when_hit(price, fixed, fresh, out):
base = request_cost(price, fixed, fresh, out, hit=False)
hit = request_cost(price, fixed, fresh, out, hit=True)
return 1 - hit / base
def claude_total_saving(price, fixed, fresh, out, n):
"""Claude:1回目に5分書込、残りn-1回は全部ヒットしたときの、n回合計の削減率。"""
inp, read, outp, write = price
base = n * request_cost(price, fixed, fresh, out, hit=False)
first = (fixed * write + fresh * inp + out * outp) / 1e6
rest = (n - 1) * request_cost(price, fixed, fresh, out, hit=True)
return 1 - (first + rest) / base
fixed, fresh = 50_000, 1_000
for name, p in PRICES.items():
row = [f"{saving_when_hit(p, fixed, fresh, o):.0%}" for o in (500, 2_000, 10_000)]
print(name, "出力500/2,000/10,000 →", row)
実行すると、出力500・2,000・10,000のときの削減率が、本文の表と同じ値で出ます(Sonnet 5.5なら89%・78%・47%)。この電卓でやるのは、料金表の単価を使った計算だけ。APIは呼びません。
実際のアプリではusageの値(Claudeならcache_read_input_tokensとcache_creation_input_tokens、GeminiならcachedContentTokenCount)を使って、自分の請求を計算し直してください。見方は姉妹記事と、usageを請求に直す記事にあります。
この記事で確かめたこと・確かめていないこと
確かめたこと
- Claude・Geminiの公式料金表と、キャッシュの公式ガイドを、2026年10月26日に取り直して照合しました。単価、倍率、最小入力、無効化の表、公式の「元が取れる回数」の説明です。
- 表と図の数字は、上の電卓を実行して出しました。Sonnet 5.5の5分書込・全ヒットの計算は、手計算でも確かめています。
- Google Cloud側のGeminiが「90%引き」と書いていること、最小入力が違うことを、公式ページで確認しました。
確かめていないこと
- 実際のAPIを呼んでの、ヒット率や請求の実測はしていません。表の削減率は「全部ヒットした場合」の計算で、実際の削減率ではありません。
- Gemini明示キャッシュの作成時の課金と、保存料の課金単位。
- Amazon Bedrockなど、他の提供面の料金。
- 回答の品質やレイテンシへの影響。
料金は動きます。上の単価は2026年10月26日の値です。使う前に、必ず最新の料金表を見てください。
今日からやること
- 自分の使い方を3つに分けます。 固定部分は何tokens? 新規入力は? 出力は? 出力が固定部分より大きいなら、キャッシュの効果は小さめです。
- 固定部分を何回使うか数えます。 Claudeなら、5分以内に2回以上使うかどうか。使うなら保存点を付ける価値があります。
- 自分のモデルの割引率を確認します。 上の表で、読込が何%か。Geminiの明示キャッシュなら、保存料の回収回数も見ます。
- usageを見ます。 書込と読込の量が出ているか。ヒット率が2割以下なら、Claudeでは保存点を外す方が安いかもしれません。
- モデル・ツール・設定を変える前に、キャッシュを失うことを思い出します。 変更の直後だけ書込が増えるのは普通ですが、変更が毎回起きるなら、毎回書込料金を払うことになります。
参考にした一次資料
いずれも2026年10月26日に取得しました。
- Claude Pricing:モデル別単価、書込・読込の倍率
- Claude Prompt caching:保存点、最小長、TTL、What invalidates the cache
- Gemini API Pricing:モデル別のキャッシュ単価と保存料
- Gemini API Caching:暗黙キャッシュ、最小入力、Argon以降の条件
- Gemini API generateContent Caching:明示キャッシュ、TTL
- Google Cloud context caching overview:Cloud側の割引と最小入力