OpenAI Adds a 12-Hour Prompt Caching Option to the Responses API, With Cache Writes Priced at 2.5 Times the Input Rate
OpenAI's API changelog says developers can now choose 12-hour prompt caching; its guide lists a 2.5x cache-write rate against 1.25x for the 30-minute default.
Editor's Note ·
- Clarification:
- The article gives the 1.25 times (30-minute) and 2.5 times (12-hour) cache-write rates without naming the models. OpenAI's guide states these rates and the prompt_cache_options.ttl setting for GPT-5.6 and later; for earlier models its model-comparison table lists "No additional cache-write charge" and a different control, prompt_cache_retention.
- Clarification:
- The article does not state when OpenAI's changelog and prompt caching guide were retrieved. Both are live documentation pages whose rates and wording may change; they were reviewed on October 26, 2026.
Overview
An October 20 entry in the OpenAI API changelog says: “You can now choose 12-hour prompt caching in the API.” The entry is tagged to the v1/responses endpoint. According to the same entry, the option “keeps shared instructions, tools, and context cached longer to benefit from lower cached-input pricing, even when requests are hours apart.”
What We Know
- Price. The changelog says “12-hour cache writes cost 2.5x the input token price.” OpenAI’s prompt caching guide lists a 30-minute lifetime, the default, at 1.25 times the uncached input-token rate and a 12-hour lifetime at 2.5 times that rate. The guide adds: “These are total write rates, not surcharges on top of ordinary input.”
- Reads. The guide says cache reads cost 0.1 times the ordinary input rate on most GPT-5.6-and-later models and 0.05 times on GPT-6.1 Sol, regardless of the selected lifetime.
- How to choose it. For models that support it, the guide says the lifetime is set with the
prompt_cache_options.ttlrequest parameter, with values"30m"(default) or"12h"in the Responses API. Aprompt_cache_breakpoint.ttlsetting overrides the request-level value for an individual breakpoint, so one request can mix lifetimes. - Billing rules. According to the guide, upgrading valid 30-minute coverage to 12 hours “charges a new 12-hour write for those tokens, without credit for the earlier write.” Any portion already covered by a valid 12-hour entry remains a cache read.
- Usage reporting. The guide says
input_tokens_details.cache_write_tokens_detailsbreaks writes intottl_30m_tokensandttl_12h_tokens, and that the two counts do not overlap. - Worked example. The guide prices a request at $1 per million input tokens and $0.10 per million cached-input tokens, with 1,000 ordinary tokens, 4,000 cached reads, 3,000 30-minute write tokens and 4,000 12-hour write tokens. It gives the input cost as $0.01515.
- Guidance. The guide suggests considering
"12h"for stable prefixes reused across longer gaps and says: “Compare the higher 12-hour write rate with the cost of rewriting the prefix after 30-minute coverage expires.”
What We Don’t Know
- The guide says OpenAI “may retain entries longer than the requested minimum” and that
"12h"“does not set a deletion deadline or change the maximum data-retention policy.” The 12-hour figure is therefore a minimum lifetime, not a guaranteed expiry. - The guide also says the minimum lifetime governs eligibility for cache-read pricing and “does not guarantee that every request reuses stored KV tensors or has lower latency.”
- Both sources are OpenAI’s own documentation. No independent measurement of savings from the 12-hour option was reviewed for this article, and neither page gives a per-million-token price for the 12-hour write, which is stated only as a multiple of each model’s input price.