Prompt caching
The unchanging front of your prompt can be billed at a fraction of the normal rate — as long as it genuinely never changes.
Part of the Cheap and fast track on lAItest.
Most of what you send is identical every time. Most teams pay full price for it every time.
After routing, this is the largest lever on a bill.
It caches prefixes, not answers
The server keeps the processed form of the beginning of your request. On the next call it compares from the first byte forward, and everything that still matches is reused and billed at a fraction of the normal input rate. Two rules follow. The match must be exact, and it must be a prefix: change one character near the top and everything after it is recomputed.
Order matters, and so do the things you forget you send
Requests are assembled tools first, then the system prompt, then the messages. Put stable material at the front and changing material at the end. The classic cache killers are a timestamp or a random id in the system prompt, a JSON serialiser that reorders keys, a tool list assembled per user, and switching models, because a cache belongs to exactly one model.
What a cache read is a discount on
| What | Value | Provenance |
|---|---|---|
| DeepSeek V4-Pro input | $1.32 per 1M | source, verified . Cache hits bill roughly 120x lower — the most aggressive discount published anywhere. |
| Claude Opus 5 input | $5 per 1M | source, verified . Cache reads bill at about a tenth of this; writing the cache costs more than a plain read. |
| Kimi K3 input | $3 per 1M | source, verified . Cache reads bill at about a tenth of this. |
You add the current time to your system prompt so the model knows the date. What happens to your cache?
Answer: Every call misses, because the change sits near the front. Caching matches a prefix from the first byte. A value that changes on every call, placed at the top, invalidates everything after it. Move volatile text to the end, or pass the date in the user message.
Try it
Price one long prompt sent a thousand times, with caching on and with caching off. This step is an interactive widget; open the lesson to use it.
In one sentence
Caching does not make your prompt shorter. It makes the unchanged part of it nearly free, and only while it stays unchanged.