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.

Cheapest at this ratio: GPT-4o mini ($0.262/1M blended) — the most expensive row costs 114× more per token.
ModelContext$/1M in$/1M outBlendedRelative costNotes
GPT-4o mini128K$0.150$0.600$0.262high-volume workhorse
DeepSeek-V3open128K$0.270$1.10$0.478open frontier-class MoE
Llama 3.1 70Bopen128K$0.600$0.600$0.600the fine-tunable classic
Gemini 2.5 Flash1M$0.300$2.50$0.850cheap long-context
Kimi K2open128K$0.600$2.50$1.07open, agent/tool-use focus
Claude Haiku 3.5200K$0.800$4.00$1.60fast + cheap tier
Gemini 2.5 Pro1M$1.25$10.00$3.44huge context window
GPT-4o128K$2.50$10.00$4.38multimodal all-rounder
Claude Sonnet 4200K$3.00$15.00$6.00the balanced default
Claude Opus 4200K$15.00$75.00$30.00frontier reasoning & coding
Indicative list prices per 1M tokens; open models priced via typical serverless hosts. Blended = (ratio × input + output) ÷ (ratio + 1). Prices move — treat as relative geometry, not gospel.

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.