OpenAIは2026年10月20日(米国時間)、APIのプロンプトキャッシュを12時間保持する設定を選べるようにしました。これまでの既定は30分(最低限の保持時間)で、次の呼び出しまで30分以上あくと、同じ指示文やツールの定義でもキャッシュの期限が切れ、書き込み直しになることがありました。12時間を選ぶと、数時間おきの呼び出しでも安いキャッシュ入力の料金が使えます。代わりに、キャッシュへの書き込みは通常の入力料金の2.5倍になります。対象はGPT-5.6以降のモデルで、Responses APIで使えます。
この記事の要点
- Responses APIで
prompt_cache_options.ttlに"12h"を指定すると、キャッシュが最低12時間保持されます。既定は"30m"(最低30分)のままです。 - 対象はGPT-5.6以降のモデルです。それより前のモデルは、これまでどおり
prompt_cache_retentionで設定します。 - 書き込みは通常入力の2.5倍(30分は1.25倍)です。読み出しはどちらも同じで、多くのモデルが0.1倍、GPT-6.1 Solは0.05倍です。
- 30分以上あけて同じ前置きを1日に3回以上使うなら、12時間のほうが安くなります。1時間おきに12回使う例では、入力の費用が30分設定より約76%(GPT-6.1 Solは約80%)下がります。
- 30分以内に呼び続けるなら、書き込みが安い既定の30分のほうが得です。1回のリクエストで12時間と30分を使い分けることもできます。
発表の概要
| 項目 | 内容 |
|---|---|
| 発表 | 2026年10月20日(米国時間)。OpenAI APIのChangelogと、@OpenAIDevsのX投稿(日本時間10月21日2時56分) |
| 内容 | プロンプトキャッシュの保持時間として「12時間」を選べるようになった |
| 対象 | Responses API(v1/responses)。GPT-5.6以降のモデル |
| 設定 | prompt_cache_options.ttl に "12h"(既定は "30m")。区切りごとに prompt_cache_breakpoint.ttl でも指定できる |
| 料金 | 書き込みは通常入力の2.5倍(30分は1.25倍)。読み出しは保持時間にかかわらず同じ |
@OpenAIDevsの投稿内容
You can now choose 12-hour prompt caching in the API.
OpenAI Developers(@OpenAIDevs)2026年10月20日(米国時間)
Persistent agents, like dots, reuse context throughout the day.
You can keep shared instructions, tools, and context cached longer and pay the lower cached-input rate, even when requests are hours apart.
日本語にすると、「APIで12時間のプロンプトキャッシュを選べるようになった。dotsのような常に動いているエージェントは、1日を通して同じ文脈を使い回す。共通の指示やツール、文脈をより長くキャッシュしておけるので、リクエストの間が何時間もあいても、安いキャッシュ入力の料金で済む」という内容です。
プロンプトキャッシュとは
プロンプトキャッシュは、リクエストの先頭部分(指示文、ツールの定義、参考資料、それまでの会話など)が前回と同じとき、その部分の処理結果を使い回す仕組みです。OpenAIのモデルでは最初から有効になっていて、使い回せた分の入力は安い「キャッシュ入力」の料金になり、応答が始まるまでの時間も短くなります。
GPT-5.6以降のモデルでは、キャッシュに書き込むときに料金がかかり、読み出すときは大きく割り引かれます。GPT-5.6以降でキャッシュできるのは、先頭から1,024トークン以上ある部分です。
30分と12時間の違い
| 30分(既定) | 12時間 | |
|---|---|---|
| 指定する値 | "30m" | "12h" |
| 最低限の保持時間 | 30分 | 12時間 |
| 書き込みの料金 | 通常入力の1.25倍 | 通常入力の2.5倍 |
| 読み出しの料金 | 通常入力の0.1倍(GPT-6.1 Solは0.05倍) | 30分と同じ |
| 向いている使い方 | 会話や、続けて動くエージェントの処理など、短い間隔で同じ文脈を使う場合 | 1日を通して使う指示文や参考資料など、数時間あけて使い回す場合 |
書き込みの料金は、通常の入力料金に上乗せされるものではなく、その分のトークンにかかる料金そのものです。12時間は「最低限の保持時間」で、OpenAIがそれより長く残すこともあります。ただし、12時間の間は必ずキャッシュが使われる、必ず速くなるという約束ではありません。キャッシュはサーバーごとに置かれるため、別のサーバーに振り分けられると使えないことがあります。
12時間で書き込んだ部分を読み出しても、12時間の期限が最初から数え直しになるわけではありません。残りの期限と「読み出しから30分後」の遅いほうまで保たれ、読み出しで書き込みの料金がかかることもありません。
対象のモデルと料金
12時間のキャッシュが使えるのは、GPT-5.6以降のモデルです。OpenAIの料金ページで「12h write(12時間の書き込み)」の料金が載っている主なモデルは次のとおりです(標準の料金、100万トークンあたり、入力が27万2,000トークン以下の場合)。
| モデル | 通常の入力 | キャッシュ入力(読み出し) | 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-sol | $2.00 | $0.20 | $2.50 | $5.00 |
| gpt-6-luna | $0.10 | $0.01 | $0.125 | $0.25 |
| gpt-5.6-terra | $2.00 | $0.20 | $2.50 | $5.00 |
| gpt-5.6-luna | $0.20 | $0.02 | $0.25 | $0.50 |
gpt-5.6-solも対象で、料金ページでは12時間の書き込みが$10.00です(今の料金は少なくとも2026年11月21日までのキャンペーン価格とされています)。gpt-5.5やgpt-5.4など、それより前のモデルには書き込みの料金がなく、12時間の設定もありません。各社のモデルの料金は、主要AIモデルのAPI料金比較と、主要AIモデルのAPI料金の推移で比べています。
どれくらい安くなるか
同じ前置き(指示文、ツールの定義、参考資料で5万トークン)を、1時間おきに1日12回使う場合で計算しました。費用は前置きの部分の入力だけで、毎回変わる質問の部分と出力は含めていません。料金は上の表の標準の料金です。
既定の30分では、次の呼び出しまでにキャッシュの期限が切れ、毎回1.25倍で書き込み直しになるとして計算しています。12時間では、最初の1回だけ2.5倍で書き込み、残りの11回は読み出しの料金になります。
| モデル | キャッシュを使わない | 30分(既定) | 12時間 | 30分と比べた差 |
|---|---|---|---|---|
| gpt-6-astra | $6.00 | $7.50 | $1.80 | 約76%安い |
| gpt-6-sol | $1.20 | $1.50 | $0.36 | 約76%安い |
| gpt-6.1-sol | $1.20 | $1.50 | $0.305 | 約80%安い |
| gpt-6-luna | $0.06 | $0.075 | $0.018 | 約76%安い |
1日あたりの金額です。30日続けると、gpt-6-astraでは30分設定の$225.00が12時間で$54.00に、gpt-6.1-solでは$45.00が$9.15になります(12時間のキャッシュは夜のうちに切れる前提で、毎日1回書き込み直す計算です)。
通常の入力料金を1としたときの倍率で見ると、30分設定は12回×1.25=15.0、12時間は2.5+11回×0.1=3.6です。この例では、30分設定はキャッシュを使わない場合(12.0)よりも高くなります。
12時間を選ぶ目安
| 同じ前置きを使う回数 | キャッシュを使わない | 30分(毎回書き込み直し) | 12時間 |
|---|---|---|---|
| 1回 | 1.0 | 1.25 | 2.5 |
| 2回 | 2.0 | 2.5 | 2.6 |
| 3回 | 3.0 | 3.75 | 2.7 |
| 5回 | 5.0 | 6.25 | 2.9 |
| 12回 | 12.0 | 15.0 | 3.6 |
通常の入力料金を1とした倍率で、読み出しが0.1倍のモデルの場合です。呼び出しの間が30分以上あくなら、12時間以内に3回以上使うと12時間のほうが安くなり、2回までなら変わらないか少し高くなります。
反対に、30分以内に次の呼び出しがある使い方では、30分の設定でもキャッシュが続けて使えます。この場合は書き込みが安い30分のほうが得です。OpenAIも、よく使う文脈は30分のまま、長い間隔で使う決まった前置きには12時間を検討するよう案内しています。
使い方
Responses APIのリクエストで、prompt_cache_options の ttl に "12h" を指定します。指定しなければ、これまでどおり30分です。対応していない値を指定すると、エラー(400 invalid_request_error)になります。
{
"model": "gpt-6.1-sol",
"prompt_cache_options": { "ttl": "12h" },
"input": [
{ "role": "developer", "content": "1日を通して使う指示文や参考資料…" },
{ "role": "user", "content": "今回の質問…" }
]
}
キャッシュの区切り(ブレークポイント)を自分で置く場合は、区切りごとに prompt_cache_breakpoint の ttl で保持時間を変えられます。たとえば、1日中使う指示文の区切りは12時間、その日の会話の区切りは30分にする、という使い分けが1回のリクエストでできます。1回のリクエストで書き込めるのは4か所までです。
{
"model": "gpt-6.1-sol",
"prompt_cache_options": { "mode": "explicit", "ttl": "30m" },
"input": [
{
"role": "developer",
"content": [{
"type": "input_text",
"text": "1日を通して使う指示文や参考資料…",
"prompt_cache_breakpoint": { "mode": "explicit", "ttl": "12h" }
}]
},
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "しばらく使う会話の文脈…",
"prompt_cache_breakpoint": { "mode": "explicit" }
},
{ "type": "input_text", "text": "今回の質問…" }
]
}
]
}
この例では、リクエスト全体の既定を30分にして、最初の区切りだけ12時間にしています。最後の区切りより後ろの「今回の質問」は、キャッシュに書き込まれず、通常の入力料金になります。
すでに30分で書き込まれている部分を12時間に切り替えると、その部分は12時間の料金でもう一度書き込まれます。前の書き込みの料金が差し引かれることはありません。
料金の確かめ方
レスポンスの usage.input_tokens_details に、読み出したトークン数(cached_tokens)と書き込んだトークン数(cache_write_tokens)が入ります。書き込みは cache_write_tokens_details の中で、30分(ttl_30m_tokens)と12時間(ttl_12h_tokens)に分けて返されます。
入力の費用は、通常の入力のトークン数×入力の料金、cached_tokens×キャッシュ入力の料金、ttl_30m_tokens×入力の料金の1.25倍、ttl_12h_tokens×入力の料金の2.5倍を足したものです。キャッシュの使われ方は、OpenAIの管理画面のPrompt Caching Dashboardでも確認できます。
以前のモデルの場合
GPT-5.5以前のモデルでは、これまでどおり prompt_cache_retention で保持のしかたを決めます。今回の prompt_cache_options.ttl はこの設定を変えません。GPT-5.6以降に移るときは、prompt_cache_retention を prompt_cache_options.ttl に置き換えるよう案内されています。また、12時間の設定はキャッシュを消す期限を決めるものではなく、データの保存期間の上限も変わりません。
OpenAIの公式の更新は、ChatGPTの最新アップデート・更新履歴にまとめています。


