Tool
Prompt Cache Auditor: Input Cost and Cache Savings
Paste an API request body and see what breaks the provider’s prompt cache, how many tokens the tool definitions carry, whether the prefix clears the provider’s minimum, and what a fixed request saves in dollars at the listed prices — with a corrected template to copy.
Runs in your browser. The request you paste never leaves this device. All calculators · Price change briefings
Result worked example · Anthropic: Claude Sonnet 5.5 · data of 9 Nov 2026
- Paste a request above to see its own findings. Until then this is a worked example: a 20,000-token stable prefix (system prompt and tools) sent 1,000 times a day, 1 minute apart, on Anthropic: Claude Sonnet 5.5.
- Prefix per day, not cached
- $40.00
- Prefix per day, cached
- $2.05
- Saved per month
- $1,138.56
- Cache writes / reads a day
- 1 / 999
Calculated from the prices below: one cache write a day and cache reads for the rest, against paying the full input price for the prefix in every request. A 30-day month; the token count of a pasted request is estimated at about 4 characters per token.
Corrected template
What the auditor checks
- Volatile start. A time, request ID or other per-request value at the start of the system prompt changes the prefix on every call, and a date changes it at least once a day; while it changes, nothing after it is served from cache. The fix is to move it to the end of the request, which the corrected template does.
- Caching never turned on. Anthropic requests cache nothing without a
cache_controlfield; Mistral requests need the sameprompt_cache_keyacross calls. - Prefix below the provider’s minimum. Each provider publishes a minimum cacheable length (table below); a shorter prefix is silently processed without caching, so the auditor shows no saving for it.
- Tool definition weight. Tool schemas are sent with every request; the auditor weighs each one and shows which descriptions carry the most tokens.
- Unstable tool order. Tools render at the front of the prefix. If your code rebuilds the list in a different order between calls, the cache misses every time; serialize it deterministically.
- Pauses longer than the cache lifetime. If requests arrive further apart than the provider keeps the cache, every request pays the write price again.
Cache prices we have read
Per 1M tokens, from the provider’s own pricing page (Published). Models whose cache price we have not read are not listed; the dollar estimate above only ever uses the prices in this table.
| Model | Input | Cache read | Cache write | Storage per hour | Source · read |
|---|---|---|---|---|---|
| Anthropic: Claude Fable 5.1 | $10.00 | $0.250 | $12.50 5 min · $20.00 1 h · $12.50 | not published | platform.claude.com · 9 Nov 2026 |
| Anthropic: Claude Haiku 5.5 | $0.100 | $0.010 | $0.125 5 min · $0.200 1 h · $0.125 | not published | openrouter.ai · 9 Nov 2026 |
| Anthropic: Claude Opus 5.5 | $4.00 | $0.200 | $5.00 5 min · $8.00 1 h · $5.00 | not published | platform.claude.com · 9 Nov 2026 |
| Anthropic: Claude Sonnet 5.5 | $2.00 | $0.100 | $2.50 5 min · $4.00 1 h · $2.50 | not published | platform.claude.com · 9 Nov 2026 |
| DeepSeek: DeepSeek V4 Pro 0813 | $1.32 | $0.097 | not published | not published | openrouter.ai · 9 Nov 2026 |
| DeepSeek: DeepSeek V4.1 Flash 1017 | $0.300 | $0.0050 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Google: Gemini 3.1 Pro Preview | $2.00 | $0.200 | $0.375 | $4.50 | openrouter.ai · 9 Nov 2026 |
| Google: Gemini 3.8 Flash | $0.750 | $0.083 | $0.042 | $0.500 | openrouter.ai · 9 Nov 2026 |
| Google: Gemini 4 Argon | $2.00 | $0.100 | $0.188 | not published | openrouter.ai · 9 Nov 2026 |
| MiniMax: MiniMax M3 | $0.300 | $0.060 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Mistral: Mistral Large 3 2512 | $0.500 | $0.050 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Mistral: Mistral Large 4 | $0.700 | $0.070 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Mistral: Mistral Medium 3.5 | $1.50 | $0.150 | not published | not published | docs.mistral.ai · 27 Oct 2026 |
| MoonshotAI: Kimi K3 | $3.00 | $0.300 | not published | not published | platform.kimi.ai · 9 Nov 2026 |
| OpenAI: GPT-5.4 Mini | $0.750 | $0.075 | not published | not published | openrouter.ai · 9 Nov 2026 |
| OpenAI: GPT-6 Astra | $10.00 | $1.00 | $12.50 | not published | openrouter.ai · 9 Nov 2026 |
| OpenAI: GPT-6 Luna | $0.100 | $0.010 | $0.125 | not published | developers.openai.com · 9 Nov 2026 |
| OpenAI: GPT-6 Sol | $2.00 | $0.200 | $2.50 | not published | openrouter.ai · 9 Nov 2026 |
| OpenAI: GPT-6.1 Sol | $2.00 | $0.100 | $2.50 | not published | openrouter.ai · 9 Nov 2026 |
| OpenAI: gpt-oss-120b | $0.150 | $0.075 | not published | not published | openrouter.ai · 9 Nov 2026 |
| OpenAI: gpt-oss-20b | $0.075 | $0.030 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Qwen: Qwen3.8 27B | $0.800 | $0.037 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Qwen: Qwen3.8 Flash | $0.150 | $0.016 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Qwen: Qwen3.8 Max (0902) | $2.00 | $0.250 | not published | not published | openrouter.ai · 9 Nov 2026 |
| xAI: Grok 4.7 | $2.00 | $0.500 | not published | not published | openrouter.ai · 9 Nov 2026 |
| Z.ai: GLM 5.3 | $1.40 | $0.260 | not published | not published | docs.z.ai · 9 Nov 2026 |
Provider caching rules
From each provider’s official documentation; what a page does not state is shown as not published, not guessed.
| Provider | Minimum cacheable prefix, tokens | Cache lifetime | How it turns on | What invalidates it |
|---|---|---|---|---|
| Anthropic | 512 | 5 min · 1 h option | needs cache_control | tool definitions or their order; tool_choice changes; images added or removed; web search toggle; citations toggle; any byte change earlier in the prefix |
| DeepSeek | 64 | hours to days, best effort | automatic | any byte change earlier in the prefix |
| 4,096 | not published | automatic | a changed beginning of the prompt | |
| Mistral AI | 64 | not published | needs prompt_cache_key | a changed beginning of the prompt; a different prompt_cache_key |
| OpenAI | 1,024 | 30 min | automatic | model change; tool definitions or their order; parallel_tool_calls; structured output schemas; reasoning effort; text verbosity; context management settings |
In the provider’s words
- Anthropic: “512 tokens for Claude Fable 5.1, Claude Mythos 5.1, Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5.5, Claude Fable 5, Claude Mythos 5, and Claude Haiku 5.5” — platform.claude.com, read 17 Oct 2026
- DeepSeek: “The cache system uses 64 tokens as a storage unit; content less than 64 tokens will not be cached.” — api-docs.deepseek.com, read 17 Oct 2026
- Google: “Gemini 3.8 Flash: 4,096 tokens; Gemini 3.1 Pro Preview: 4,096 tokens” — ai.google.dev, read 17 Oct 2026
- Mistral AI: “Prompts with fewer than 64 prompt tokens do not have cache hits.” — docs.mistral.ai, read 17 Oct 2026
- OpenAI: “The minimum cacheable prompt length is 1,024 tokens for GPT-5.6 and later.” — developers.openai.com, read 17 Oct 2026
Assumptions
| What | Value | Why |
|---|---|---|
| Token estimate | ~4 characters per token | The exact count depends on the provider’s tokenizer; the auditor never sends your text anywhere, so it estimates. |
| Month | 30 days | Savings are shown per 30 days of the traffic you entered. |
| Traffic shape | evenly spaced | One cache write a day and reads for the rest; pauses longer than the cache lifetime are flagged instead. Requests and pauses that cannot fit in one day are pointed out. |
| Near the minimum length | ±25% | Within 25% of the provider’s minimum cacheable length the token estimate cannot tell whether the prefix is cached, so a saving there is shown as possible; further below the minimum the saving is $0. |
| Cache lifetime not published | hits assumed | Google and Mistral do not publish a lifetime; the estimate assumes reads hit and says so in the result. |
The methodology explains how prices are read.
Prices as shown in the United States on .