We just re-checked every text model against its upstream provider. Since we listed them, providers raised prices on some models and cut them on others, and our listed per-token prices no longer matched. Every call has always been billed at the actual upstream cost plus our standard rate, so your charges were already correct — the model pages, docs and llms.txt now show those same numbers again.
What's new
- Listed prices updated on 38 text models to match current upstream pricing, in both directions
- Examples: GPT-5.6 Sol $2.95 / $14.77 → $5.91 / $29.54; DeepSeek V4.1 Flash $0.05 / $0.43 → $0.44 / $1.77; Grok 4.20 $2.95 / $8.86 → $1.85 / $3.69; DeepSeek V4 Flash $0.21 / $0.41 → $0.13 / $0.27 per 1M tokens
- Billing is unchanged: calls are charged on the actual upstream cost, as they always have been
- Claude Sonnet 4, DeepSeek R1 and Qwen 3 Max Thinking are retired because no provider serves them any more
- Requests for a retired model now return a clear error naming the replacement, instead of a confusing upstream parameter error
Retired models and their replacements
These models are no longer served by any upstream provider, so calls to them could not succeed. Requests now return a 400 that names the replacement model, and their pages redirect to it.
- `anthropic/claude-sonnet-4` → `anthropic/claude-sonnet-4.6`
- `deepseek/deepseek-r1` → `deepseek/deepseek-r1-0528` (the `deepseek-r1` alias now points here)
- `qwen/qwen3-max-thinking` → `qwen/qwen3.8-max-prime`
Why prices moved
Each model is served by one or more upstream providers who set their own token rates and change them over time. Our listed price is that rate plus our standard markup. Billing reads the real cost of every call, so it tracked those changes automatically; the listed prices did not. Where many providers serve the same model at very different rates, we list the model maker's own price rather than an unusually low promotional rate, so the listing does not understate what calls cost.