Labs · Price table
LLM API prices from 30 providers,
one table.
Loading the price snapshot…
Every provider in this table works in the app with your own key — 62 presets, zero markup on requests.
Connect this provider in the appHow do DeepSeek, Claude and Gemini API prices compare?
Sort the table above by input, output or cache-read price and the spread is stark: flagship models differ by two orders of magnitude per million tokens, and cache-read pricing (2% of full price on DeepSeek, ~10% on Anthropic and Google) changes which model is actually cheapest for long chats. Every row expands into real-life spend — one continuation, an evening of chat — at that model's list price.
How this table is maintained
The source is models.dev, the public list-price registry. Out of its ~170 providers and nearly 6,000 models we keep the 30 providers that match the app's preset BYOK catalog — 1,300+ priced models — and leave the rest out as noise. A snapshot script runs periodically, and every run also archives a dated copy: after a few months that archive becomes the raw material for a price-history page.
Prices are normalized to USD per million tokens (CNY converted at 1:7.2). Expanding any row converts it into real-life spend — “one continuation”, “an evening of chat” — using the same formulas as the cost calculator.
What the table can't tell you
List price isn't experience: two models at the same dollar rate can write fiction a full tier apart, and this table tracks money, not quality. Batch discounts, peak/off-peak schedules (DeepSeek has announced peak-hour doubling), and free tiers aren't modeled. Gateway resale prices float constantly — hiding them by default is deliberate. And there's always a gap between a provider repricing and our next snapshot: the capture date is printed below the table; verify on the provider's page before you pay.
FAQ
Where does the data come from, and how fresh is it?
From a snapshot of models.dev, the public list-price registry — capture date is printed under the table (currently 2026-07-24). Our billing backend syncs from the same source. Promotions, negotiated rates and regional pricing are excluded; providers can reprice at any time, so check their pages before spending.
Why is the cache-read column blank for some models?
A blank (—) means that provider hasn't published cache pricing — it does not mean zero. Where it exists, cache-read is often a small fraction of the full input price, which makes this column matter more than the input column for long chats.
What are “gateways” and why are they hidden by default?
Resale platforms like OpenRouter, Poe and 302.AI: the same model appears on several of them at resale prices, not official list prices. The default view keeps to first-party providers so comparisons stay clean; toggle “include gateways” to compare resale prices too.
The app ships 62 provider presets — why only 30 here?
The other 32 are either local/self-hosted runtimes (no list price exists) or services absent from the public price registry. We don't invent data — and these 30 cover nearly every model people actually pay for.