Short version. Since 20 October, OpenAI's Responses API lets GPT-5.6 and later models keep a cached prompt prefix for at least 12 hours, set with prompt_cache_options.ttl. The write costs 2.5x the normal input price, against 1.25x for the default 30 minutes, and reads stay at 0.1x (0.05x on GPT-6.1 Sol). By our arithmetic, 12 hours beats no caching from the third request onward, if the requests are more than half an hour apart. With only two, it loses.
A nightly job that sends the same 40-page policy document to the model every ninety minutes never got much out of the old cache. The entry expired in between, so every run paid for a fresh write. That's the case the new option is for. OpenAI's changelog entry is short, so we went to the prompt caching guide and the pricing page for the numbers, then did the sums ourselves.
What the prices actually say
The pricing page lists a 12-hour write column next to the 30-minute one. On GPT-6.1 Sol the input rate is $2.00 per million tokens, a 30-minute write is $2.50, a 12-hour write is $5.00 and a cached read is $0.10. GPT-6 Luna runs $0.10 input, $0.125 for the 30-minute write, $0.25 for 12 hours and $0.01 for reads. The guide stresses that these are total rates, not surcharges on top of input. A token is billed at the uncached, cached or write rate, never two of them.
That detail changes the default's economics. With the 30-minute lifetime, a prefix you send once an hour is written at 1.25x each time and never read. It costs 25% more than not caching at all. We haven't seen that stated anywhere, but it follows straight from the table. The guide also says that in explicit mode with no breakpoints, a request creates no cache writes, so that's one way out if your traffic is sparse.
Where 12 hours starts to pay
Take a 10,000-token prefix on GPT-6.1 Sol, reused ten times across a working day with gaps longer than 30 minutes. Uncached, that's ten times $0.02, so $0.20. On the default lifetime, ten writes at $0.025 each, so $0.25. With the 12-hour option, one write at $0.05 plus nine reads at $0.001, so about $0.059. Roughly a 70% saving against uncached, and 76% against the default.
Now the failure side. Two requests cost 2.6x the prefix on a 0.1x-read model, versus 2.0x uncached and 2.5x on the default. Three requests cost 2.7x, versus 3.0x and 3.75x. So the third reuse is where it flips. Cache a prefix you only send twice and you've spent more than if you'd done nothing. We'd call that the main trap in this release.
One more catch. The guide describes 12 hours as a minimum lifetime, and says a 30-minute read on a 12-hour entry doesn't restart the 12-hour clock. It doesn't say whether a 12-hour read does. We couldn't confirm it, so we'd assume a fixed window and budget one new write every 12 hours. It also says a longer lifetime doesn't guarantee a hit, and that traffic above 15 requests a minute can overflow to other machines with no copy of your entry.
Setting it on the right content
You can mix lifetimes in one request. Put the material reused all day first, give its breakpoint "ttl": "12h", and leave the rest on "30m". In explicit mode, whatever follows the last breakpoint is billed as plain input, with no write charge. That's the sensible shape: a long, stable system prompt on 12 hours, the current question uncached. The feature is Responses API only, and the cache-write rates apply to GPT-5.6 and later. Older models keep the prompt_cache_retention setting and, per the guide, charge no extra for writes.
Does your traffic fit? We don't know your request pattern, so we can't say. If a prefix is hit three or more times between 30 minutes and 12 hours apart, switch that breakpoint. Otherwise leave it. Our API pricing tracker carries the 12-hour write rates alongside the model rows.
FAQ
Is 12-hour caching on by default?
No. Omitting ttl keeps the 30-minute default. The 12-hour value is accepted only in the Responses API on GPT-5.6 and later, and other values return a 400.
Does a cache read cost more with the longer lifetime?
No. Per OpenAI's guide, read prices are the same for both lifetimes: 0.1x the input rate on most GPT-5.6 and later models, 0.05x on GPT-6.1 Sol.
Does 12 hours change data retention?
OpenAI says the setting doesn't set a deletion deadline or change the maximum data-retention policy. Entries may be kept longer than the minimum you ask for.
What about GPT-5.5 and earlier?
They use prompt_cache_retention with in_memory or 24h, depending on the model, and the guide lists no extra cache-write charge for them.
Sources. OpenAI API changelog, 20 October 2026; OpenAI, Prompt caching guide; OpenAI API pricing; AI Engineer Guide, 12-hour prompt caching.

