OpenAI API、プロンプトキャッシュを12時間保持できるように - 書き込みは入力単価の2.5倍
OpenAIが2026年10月20日、Responses APIで12時間のプロンプトキャッシュを選べるようにした。GPT-5.6以降のモデルが対象で、書き込みは既定の30分の1.25倍に対し入力単価の2.5倍、読み取り単価は同じ。30分の保持が切れる間隔で同じ前置きを3回以上使うなら、計算上は12時間のほうが安くなる。
OpenAIは2026年10月20日、APIのChangelogで12時間のプロンプトキャッシュを選べるようにしたと告知した1。対象はResponses APIで、共有の指示・ツール定義・コンテキストを長めにキャッシュしておき、リクエストの間隔が数時間あいてもキャッシュ入力の安い単価を受けられるようにするものだと説明している。代わりに、12時間の書き込みは入力単価の2.5倍になる。
既定の保持期間は30分で、12時間は明示的に指定したときだけ適用される2。同じ前置きをどのくらいの間隔で何回送るかによって、得になるか損になるかが分かれる。
30分と12時間で変わるのは書き込み単価だけ
公式ガイドによると、GPT-5.6以降のモデルではキャッシュの書き込みに入力単価の1.25倍(既定の30分)がかかり、Responses APIで12時間を選ぶと2.5倍になる。読み取りは多くのモデルで入力単価の0.1倍、GPT-6.1 Solは0.05倍で、どちらの保持期間を選んでも同じである2。
| 設定値 | 最短の保持期間 | 書き込み単価 | 読み取り単価 |
|---|---|---|---|
"30m"(既定) | 30分 | 入力の1.25倍 | 入力の0.1倍(GPT-6.1 Solは0.05倍) |
"12h" | 12時間 | 入力の2.5倍 | 同上 |
この倍率は通常の入力単価に上乗せされる料金ではなく、書き込みに使われるトークンの単価そのものだとガイドは断っている。設定はリクエストの prompt_cache_options.ttl で行い、明示的なブレークポイントごとに prompt_cache_breakpoint.ttl で上書きすることもできる。GPT-5.5以前のモデルで使う prompt_cache_retention とは別のパラメータで、今回の設定はそちらには影響しない。
料金表に載っている100万トークンあたりの単価(標準処理・短コンテキスト)は次のとおり3。
| モデル | 入力 | キャッシュ読み取り | 30分の書き込み | 12時間の書き込み |
|---|---|---|---|---|
| GPT-6 Astra | $10.00 | $1.00 | $12.50 | $25.00 |
| GPT-6.1 Sol | $2.00 | $0.10 | $2.50 | $5.00 |
| GPT-6 Luna | $0.10 | $0.01 | $0.125 | $0.25 |
GPT-6.1 Solで10万トークンの共通の前置きを書き込む場合、30分なら$0.25、12時間なら$0.50になり、以後の読み取りは1回$0.01で済む計算である。
分かれ目は「30分を超える間隔で何回使うか」
OpenAIはガイドで、12時間の高い書き込み単価と、30分の保持が切れたあとに前置きを書き直すコストとを比べるよう勧めている2。ガイドが30分の用途に挙げるのは、コンテキストを頻繁に再利用する会話やエージェントのステップである。30分の保持は読み取りのたびに、読み取り後30分以上へ延びる。
問題になるのは、30分以上あけて同じ前置きを送る使い方だ。入力単価を1として、30分の保持が切れる間隔で12時間以内に n 回送る場合をガイドの倍率から計算すると、30分のままでは毎回書き直しになり、12時間なら最初の1回だけが書き込みになる。
| 送る回数 | 30分のまま | 12時間を指定 |
|---|---|---|
| 1回 | 1.25 | 2.50 |
| 2回 | 2.50 | 2.60 |
| 3回 | 3.75 | 2.70 |
2回までは30分のほうが安く、3回以上で12時間のほうが安くなる。読み取りが0.05倍のGPT-6.1 Solでも、2回で2.50対2.55となり、分かれ目は変わらない。
ガイドは12時間の用途を「間隔をあけて再利用する安定した指示や参照資料」とし、1日を通して使う資料をプロンプトの先頭に置いてそのブレークポイントに12時間を、変わりやすいセッションの文脈には30分を付ける構成を例に挙げている2。業務時間中に断続的に呼ばれる社内アシスタントや、長い社内規程・製品資料を毎回先頭に積む構成が、これに当てはまると考えられる。
格上げは差し引きなし、保持期間は保証ではない
使う前に押さえておきたい条件がいくつかガイドに書かれている2。
- 30分から12時間への格上げは差し引きなし。有効な30分のキャッシュを12時間に格上げすると、前の書き込み分を差し引かずに、新たに12時間の書き込みとして課金される。12時間を付けるかどうかは、前置きを最初に書き込む時点で決めておくほうがよい
- 毎回変わる部分は書き込まない。明示モードでは、最後に指定したブレークポイントより後ろは書き込み料のかからない通常の入力として処理される。ユーザーの質問のように使い回さない部分まで書き込むと、割高な単価だけを払うことになる
- 最短の保持期間は再利用の保証ではない。保持期間が決めるのはキャッシュ読み取り単価の適用対象になるかどうかで、毎回キャッシュが再利用されることや遅延が短くなることは保証されない
- 12時間は削除の期限でもない。OpenAIは指定した最短期間より長くエントリーを保持する場合があり、
"12h"は削除期限を設けるものでもデータ保持の上限を変えるものでもない。キャッシュを手動で消す手段も現時点ではない
使用量のレスポンスでは、書き込みトークンが ttl_30m_tokens と ttl_12h_tokens に分けて返る。どちらの書き込みがどれだけ発生しているかは、8月に公開されたプロンプトキャッシュのダッシュボードとあわせて追える。
キャッシュの条件が請求額を左右する
OpenAIのAPIでは、キャッシュをめぐる変更がこの2か月ほど続いている。8月にダッシュボードでヒット率を見られるようになり、9月のGPT-6 SolとLunaの公開では、推論effortの変更やツールの有効・無効でキャッシュが壊れなくなった。GPT-6.1 Solではキャッシュ読み取りの単価が$0.20から$0.10に下がっている。今回の変更はそこに保持期間の選択肢を加えたものである。
入出力の単価表だけでは、こうした違いは見えにくい。同じ前置きをどのくらいの間隔で送っているかを使用量のデータで確かめ、30分の保持が切れたあとの書き直しが目立つ前置きにだけ12時間を付けるのが、費用の面では無駄の少ない使い方だと考えられる。
Sources
- API Changelog - OpenAI(2026年10月20日の項)
- Prompt caching - OpenAI API ガイド
- Pricing - OpenAI API 料金表
この記事は役に立ちましたか?
ありがとうございます!
受け取りました。ありがとうございます!