On Oct 20 OpenAI added 12-hour prompt caching to the Responses API: GPT-5.6 and later models can set prompt_cache_options.ttl to "12h" so instructions, tool definitions and reference material stay billed at the cached rate even when requests are hours apart. 12-hour writes cost 2.5x the ordinary input price versus 1.25x for the default 30 minutes; read rates are unchanged at 0.1x on most models and 0.05x on GPT-6.1 Sol. One request can mix 12-hour and 30-minute breakpoints.
Key Takeaways
- ✓New option:
prompt_cache_options.ttlin the Responses API accepts"30m"(default) or"12h", andprompt_cache_breakpoint.ttloverrides it per breakpoint, for GPT-5.6 and later models - ✓Rates (vendor-stated): 30-minute writes at 1.25x and 12-hour writes at 2.5x ordinary input; reads at 0.1x on most models and 0.05x on GPT-6.1 Sol, same for both lifetimes
- ✓Our estimate from the documented rates: reusing one prefix 6 times an hour apart costs about 6x1.25=7.5x input with 30-minute caching (rewritten each time) versus about 2.5+5x0.1=3.0x with 12-hour caching
- ✓Up to 4 cache writes per request and a 1,024 visible-token minimum prefix; usage now splits writes into
ttl_30m_tokensandttl_12h_tokens - ✓"12h" is a minimum lifetime, not a deletion deadline, and does not guarantee a hit or lower latency; GPT-5.5 and earlier keep using
prompt_cache_retention
Key Decision Metrics at a Glance
Turn your technical choice into a development budget
Compare 40 dev plans & simulate token costs vs $20/mo subscriptions
Project Links & Resources
Direct AccessIn-Depth Technical Analysis
Background
Long-running agents resend the same instructions, tool definitions and reference material on every call. On GPT-5.6 and later the default cache only guarantees about 30 minutes, so a request an hour or two later rewrites the prefix at 1.25x. OpenAI Developers named always-on agents like dots as the target.
How it works
The Responses API now accepts prompt_cache_options.ttl of "30m" or "12h", and prompt_cache_breakpoint.ttl can override it per breakpoint. The docs suggest putting all-day content first with a 12-hour breakpoint and session context at 30 minutes; a request can create up to 4 writes. Each token is billed once at the longest lifetime covering it, and upgrading 30-minute coverage to 12 hours is a fresh write with no credit.
Numbers
This is a billing feature, so there are no benchmarks. Vendor-stated rates: 12-hour writes at 2.5x ordinary input, 30-minute at 1.25x; reads at 0.1x on most models and 0.05x on GPT-6.1 Sol. Our estimate: one prefix reused hourly six times a day costs about 7.5x input with 30-minute caching versus about 3.0x with 12-hour caching; for reuse within minutes, 30 minutes stays cheaper.
Getting started
Put stable instructions in a developer-message input_text block with a 12-hour breakpoint and keep changing content after the last breakpoint so it isn't written. Track ttl_12h_tokens under cache_write_tokens_details and cached_tokens to confirm savings. 12 hours is a minimum lifetime, not a hit guarantee; GPT-5.5 and earlier still use prompt_cache_retention.
Benchmark side-by-side against alternatives, or calculate monthly token cost vs subscription break-even.
Discussion & Comments
0Sign in to join the discussion
Connect with AI developers to exchange benchmark insights.