Cache goes from half an hour to half a day
On October 20, OpenAI added a new option to the Responses API: prompt_cache_options.ttl can now be set to 12h. It means the stable prefix, system instructions, tool definitions, fixed reference docs, stays billed at cache rates when a later request hits it hours apart, instead of being recomputed at full price. The model must be GPT-5.6 or newer, and the prefix needs at least 1024 visible tokens to cache at all.
Expensive to write, cheap to wait
The math is simple. The default 30-minute tier writes at 1.25x the input price; the new 12-hour tier writes at 2.5x. Reads are equally cheap on both, 0.1x on most models and 0.05x on GPT-6.1 Sol. So the 12-hour tier is not free: you pay double the write cost up front in exchange for your long prompt not expiring while the agent sits idle, queues, or waits on a user reply.
It breaks even on the third call
The deciding factor is access cadence. If the same prefix is reused at intervals longer than 30 minutes but within 12 hours, the 12-hour tier starts beating the default from the third hit. CellCog ran the numbers: an agent with a 100k-token prefix called once an hour on GPT-6.1 Sol costs about 0.61 dollars a day on the 12-hour tier versus 2.40 on the default. For an always-on agent reusing one long instruction set all day, that is real money back.
The trap is where you set it
More 12h is not automatically better. If you put ttl at the top level of the request, it also applies to the implicit cache breakpoint, so every new token each turn gets billed at the 2.5x write rate and a long conversation gets more expensive. The right move is prompt_cache_breakpoint.ttl: place the explicit breakpoint after the stable material reused all day, system prompt, tool specs, fixed docs, and leave daily-changing user input outside it. One-off questions and short sessions are cheaper on the default tier.
Codex users get it for free
Separate from the API billing change, logged-in Codex and ChatGPT Work users got a different rule: the cache now persists indefinitely, so returning to a conversation from days ago hits cache with no penalty or slowdown. It was a quiet update in Codex's release stream, invisible to most users, but it removes the hidden cost of stepping away and coming back. For long-task developers that is more relaxing than the 12-hour tier.
Who should turn this on
The test is concrete: do you have one long, near-static prefix reused at intervals longer than 30 minutes but within half a day. The classic case is an always-on agent, a scheduled job, or the fixed system prompt plus tool specs in a support bot. If your traffic is one-off questions or a fully swapped context each turn, the default 30-minute tier is cheaper and forcing 12h just doubles writes. CellCog's example, a 100k prefix called hourly, is exactly where the 12-hour tier earns its keep.
Rivals feel the heat
This is OpenAI adding another rung in the agent-cost war. By putting long-TTL caching on the table it pressures Anthropic and Google to lengthen their own cache windows or look pricier on always-on agents. More interesting, separating write and read pricing may become a cross-vendor default. Building agent orchestration will soon treat cache configuration as infrastructure, not an afterthought.
Your observability must change
Once 12h is on, your cost dashboard must split write and read into two lines. Many teams still lump prompt cost into one vague number and will be shocked by 2.5x writes. The right move is tagging each long prefix and watching its hit rate and payback count; days of low hits mean the material was never reused and should fall back to default. Cache config belongs in the orchestration layer, not scattered across requests.
Frequency matters more than duration
Many fixate on the twelve hours, but the better question is which interval band your calls fall in. If requests are under 30 minutes apart, the default tier never expires anyway and 12h just adds write cost. If gaps exceed twelve hours the cache is stale regardless and neither tier helps; you would shorten the prefix or raise reuse. The real 12h winners are jobs reusing one long prefix at intervals between 30 minutes and twelve hours, scheduled reports, overnight batches, long-lived agents. Measure your interval distribution before deciding.
What this means for youIf you run always-on or scheduled agents on the Responses API, this tier is worth a look. The only test is whether one long instruction set is reused at intervals longer than 30 minutes but within half a day. If yes, switch to 12h. If not, leave it. Do not set every request to 2.5x writes, that just thickens the bill. Put the breakpoint after the stable material and that is where the savings actually land.
