Model Comparison Table
Claude, GPT, Gemini, DeepSeek, Kimi and Llama side by side: context windows, list prices, open-vs-closed, and a blended per-token cost computed at your real input:output ratio — because a RAG app and a story generator should not read the same pricing table.
| Model | Context | $/1M in | $/1M out | Blended | Relative cost | Notes |
|---|---|---|---|---|---|---|
| GPT-4o mini | 128K | $0.150 | $0.600 | $0.262 | high-volume workhorse | |
| DeepSeek-V3open | 128K | $0.270 | $1.10 | $0.478 | open frontier-class MoE | |
| Llama 3.1 70Bopen | 128K | $0.600 | $0.600 | $0.600 | the fine-tunable classic | |
| Gemini 2.5 Flash | 1M | $0.300 | $2.50 | $0.850 | cheap long-context | |
| Kimi K2open | 128K | $0.600 | $2.50 | $1.07 | open, agent/tool-use focus | |
| Claude Haiku 3.5 | 200K | $0.800 | $4.00 | $1.60 | fast + cheap tier | |
| Gemini 2.5 Pro | 1M | $1.25 | $10.00 | $3.44 | huge context window | |
| GPT-4o | 128K | $2.50 | $10.00 | $4.38 | multimodal all-rounder | |
| Claude Sonnet 4 | 200K | $3.00 | $15.00 | $6.00 | the balanced default | |
| Claude Opus 4 | 200K | $15.00 | $75.00 | $30.00 | frontier reasoning & coding |
One table, but read it at your ratio
Most model comparisons quote input and output prices separately and let you do the mental math wrong. The trap: output costs 3–5× input on most models, so your traffic shape decides which model is actually cheap. A RAG app pushing 10 input tokens per output token lives on input prices; a story generator lives on output prices. The ratio slider re-sorts the table for your workload — watch rows swap places as you drag it.
The 100× spread is the story
The most expensive row costs roughly two orders of magnitude more per token than the cheapest. That spread is not waste — it is a menu. Frontier models buy reasoning depth and reliability on hard tasks; workhorse models buy volume; open models buy control, fine-tunability and privacy. The expensive mistake is not picking a costly model — it is sending easy traffic to one.
Open weights changed the bottom of the table
DeepSeek-V3 and Kimi K2 put frontier-adjacent quality at workhorse prices — and unlike API-only rows, you can download them, fine-tune them on your task, and serve them inside your own VPC. For high-volume, well-defined tasks, a fine-tuned open model at a fixed hosting cost routinely beats every row of per-token pricing.
The real answer is a router
Production systems increasingly refuse to choose one row: a model router classifies each request and sends it to the cheapest model that clears the quality bar, escalating the hard ones. Routing even half your traffic down two rows of this table typically halves the bill — which is why the router, not the model, is the biggest cost lever in serious LLM systems.
How it works
- Blended $/1M = (ratio × input + output) ÷ (ratio + 1), sorted ascending.
- Chat ≈ 3:1, RAG ≈ 10:1, long-form generation ≈ 1:1.
- Open-weights rows are downloadable and self-hostable.
- List prices, kept consistent with the pricing comparator.
Frequently asked questions
What is blended cost and why does the ratio matter?
Blended cost weights input and output prices by your actual traffic shape: (ratio × input + output) ÷ (ratio + 1). It matters because output usually costs 3–5× input — a RAG app sending 10 tokens in for every 1 out lives on input prices, while a long-form generator lives on output prices. The same two models can swap rank between those workloads.
Which models are open weights?
In this table: DeepSeek-V3, Kimi K2 and Llama 3.1 — you can download, fine-tune and self-host them, with the listed prices reflecting typical serverless hosts. The open-only toggle filters to them.
How current are the prices?
They are indicative list prices, kept in sync with our pricing comparator and reviewed when vendors move. Treat the relative geometry (what is 10× cheaper than what) as the durable signal — exact cents change monthly, ratios change slowly.
Should I just pick the cheapest model?
Pick the cheapest model that clears your quality bar per task — which is a router’s job, not a table’s. Use the table to shortlist, run your own evals on the shortlist, and remember the biggest systems route between rows rather than marrying one.