How to compare API prices with prompt caching
An API's input-token price alone is not the cost of a conversation. Include ordinary input, cache reads, cache writes and output. For one million total tokens with 40% ordinary input, 40% cache reads and 20% output, the scenario cost is 0.4 × input rate + 0.4 × cache-read rate + 0.2 × output rate. This is a stated scenario, not measured average usage.
Before you start
- Use the current selected-model rates per million tokens; cache support and tariffs differ by model.
- Take token counts from Logs and keep ordinary input, reads, writes and output mutually exclusive. Check whether a client's total input already includes cached tokens.
Steps
Calculate the bill
Cost = (ordinary input tokens × input rate + cache-read tokens × read rate + cache-write tokens × write rate + output tokens × output rate) / 1,000,000. Do not count cached tokens twice.
Compare the same workload
The no-cache baseline for the 40/40/20 scenario is 0.8 × input rate + 0.2 × output rate. Both represent 1M total tokens and the same output share; the cache scenario excludes initial cache writes.
Use your actual mix
Include initial cache writes, misses and later reads from a representative set of requests. Effective cost per million total tokens = total cost / total tokens × 1,000,000. Compare providers using the same model, token mix and billing categories.
Check when cache writes pay off
For a repeated prefix of P tokens, one cache write at rate W followed by N reads at rate R costs P × (W + N × R) / 1M. Sending the prefix as ordinary input N + 1 times costs P × (N + 1) × I / 1M. The write is cheaper only when N × (I − R) > W − I. Use the selected model's rates; expiry, changed prefixes and other prompt tokens alter the result.
Current ApiClo model rates and example cost
USD per 1 million tokens. The example uses 40% ordinary input, 40% cache reads and 20% output; the baseline uses 80% ordinary input and 20% output. Initial cache writes are extra. These are calculated examples, not observed customer averages.
Scroll the table horizontally for all rates
| Model | Input | Cache read | Cache write | Output | Example: with cache / without cache |
|---|---|---|---|---|---|
Claude Fable 5.2claude-fable-5-2 |
$0.80 | $0.12 · 0.15× | $1.00 · 5 min $1.60 · 1 h |
$4.00 | $1.168 $1.440 |
GPT 6.1 Solgpt-6.1-sol |
$0.40 | $0.06 · 0.15× | $0.50 | $0.40 | $0.264 $0.400 |
Claude Sonnet 5.5claude-sonnet-5-5 |
$0.35 | $0.035 · 0.10× | $0.4375 · 5 min $0.70 · 1 h |
$0.35 | $0.224 $0.350 |
Claude Opus 5.5claude-opus-5-5 |
$0.40 | $0.09 · 0.22× | $0.50 · 5 min $0.80 · 1 h |
$0.40 | $0.276 $0.400 |
GPT 6 Solgpt-6-sol |
$0.40 | $0.04 · 0.10× | $0.50 | $0.40 | $0.256 $0.400 |
GPT 6 Lunagpt-6-luna |
$0.04 | $0.004 · 0.10× | $0.05 | $0.04 | $0.026 $0.040 |
GPT 6 Astragpt-6-astra |
$0.60 | $0.12 · 0.20× | $0.75 | $0.60 | $0.408 $0.600 |
Claude Fable 5.1claude-fable-5-1 |
$1.20 | $0.12 · 0.10× | $1.50 · 5 min $2.40 · 1 h |
$1.20 | $0.768 $1.200 |
GPT 5.6 Solgpt-5-6-sol |
$0.40 | $0.04 · 0.10× | $0.50 | $0.40 | $0.256 $0.400 |
Claude Opus 5claude-opus-5 |
$0.40 | $0.04 · 0.10× | $0.50 · 5 min $0.80 · 1 h |
$0.40 | $0.256 $0.400 |
Claude Sonnet 5claude-sonnet-5 |
$0.38 | $0.038 · 0.10× | $0.475 · 5 min $0.76 · 1 h |
$0.38 | $0.243 $0.380 |
GPT 5.6 Terragpt-5-6-terra |
$0.30 | $0.03 · 0.10× | $0.375 | $0.30 | $0.192 $0.300 |
GPT 5.6 Lunagpt-5-6-luna |
$0.19 | $0.019 · 0.10× | $0.238 | $0.19 | $0.122 $0.190 |
Claude Fable 5claude-fable-5 |
$0.80 | $0.12 · 0.15× | $1.00 · 5 min $1.60 · 1 h |
$0.80 | $0.528 $0.800 |
Claude Opus 4.8claude-opus-4-8 |
$0.40 | $0.04 · 0.10× | $0.50 · 5 min $0.80 · 1 h |
$0.40 | $0.256 $0.400 |
Claude Opus 4.7claude-opus-4-7 |
$0.29 | $0.029 · 0.10× | $0.363 · 5 min $0.58 · 1 h |
$0.29 | $0.186 $0.290 |
Claude Sonnet 4.6claude-sonnet-4-6 |
$0.32 | $0.032 · 0.10× | $0.40 · 5 min $0.64 · 1 h |
$0.32 | $0.205 $0.320 |
Claude Haiku 4.5claude-haiku-4-5 |
$0.32 | $0.032 · 0.10× | $0.40 · 5 min $0.64 · 1 h |
$0.32 | $0.205 $0.320 |
Claude Opus 4.6claude-opus-4-6 |
$0.29 | $0.029 · 0.10× | $0.363 · 5 min $0.58 · 1 h |
$0.29 | $0.186 $0.290 |
Claude Sonnet 4.5claude-sonnet-4-5 |
$0.32 | $0.032 · 0.10× | $0.40 · 5 min $0.64 · 1 h |
$0.32 | $0.205 $0.320 |
Claude Opus 4.5claude-opus-4-5 |
$0.40 | $0.04 · 0.10× | $0.50 · 5 min $0.80 · 1 h |
$0.40 | $0.256 $0.400 |
Check the result
Use the current model-by-model rates and scenario costs in the table below, then compare your estimate with Logs. A lower cache-read rate saves money only on tokens actually served from cache.
Troubleshooting
- Treating a cached-input price as the price of all tokens understates output and uncached-input cost.
- Omitting cache writes can overstate savings on short sessions; writes can cost more than ordinary input.
- An assumed cache-hit share is not a guaranteed discount or an observed average.
- Do not describe a provider as universally cheapest without a current comparison of the same workload and capabilities.
Compatibility and billing
The scenario excludes cache writes, hosting, client subscriptions and other non-token charges. It is not a guarantee of cache hits. ApiClo's current rates and actual usage determine the charge; the formula supports comparison without promising the cheapest provider for every task.
All documentation