Firstpass v0.2.1
DocsGuaranteeBenchmarksCLIGitHub

Docs / How Agents Talk to Models / The token meter

Part A · The core pathModule 2 of 13

The token meter

You pay per token, quoted per-million (per Mtok), at two rates: input (read) and output (written, ~5× dearer). Two ratios run the whole page — output ≈ 5× input, and the strong tier costs 15–75× the cheap tier. Every cost lever below is one of three numbers getting bigger: tier, input tokens, output tokens.
Two cost levers shown side by side. Left: proportional horizontal bars for INPUT ($1/Mtok, 60 units wide) and OUTPUT ($5/Mtok, 300 units wide) showing that output tokens cost roughly 5 times more. Right: a three-rung tier ladder with bars proportional to input rate — cheap tier (Haiku, $1) at 18 units, mid tier (Sonnet, $3) at 54 units, strong tier (Opus, $15) at 270 units. Rate asymmetry output tokens cost ~5× input tokens (same model, same call) INPUT $1 / Mtok OUTPUT $5 / Mtok output writes pile up fast — the dominant cost on long replies Tier ladder input rate $/Mtok — bar width proportional to cost vs cheap tier cheap Haiku · $1 · 1× mid Sonnet · $3 · 3× strong Opus · $15 · 15× Output rates: Haiku $5 · Sonnet $15 · Opus $75 / Mtok (each 5× its input rate)
Two levers set your bill: output tokens cost ~5× input tokens, and the strong tier costs up to 15× the cheap tier — model choice is the biggest single knob.

Every provider prices by the token, quoted per million tokens (per Mtok), with two rates: one for input (tokens the model reads) and a higher one for output (tokens it writes). The bill for one call is just:

text
cost = input_tokens/1e6 × input_rate  +  output_tokens/1e6 × output_rate

Two facts fall out of this and drive every optimization in the rest of the page. First, output is the expensive half — roughly 5× the input rate across the frontier lineups. Second, the model tier matters enormously: the strongest models cost 15–75× the cheapest. Here is Firstpass's built-in default price table (a calibration knob you override in config — real prices move, so treat these as illustrative defaults):

ModelInput · $/MtokOutput · $/MtokTier
anthropic/claude-haiku-4-51.005.00cheap
anthropic/claude-sonnet-53.0015.00mid
anthropic/claude-opus-4-815.0075.00strong
openai/gpt-4.1-mini0.401.60cheap
openai/gpt-5.55.0015.00strong
google/gemini-3.1-flash0.351.05cheap
google/gemini-3.1-pro3.5010.50mid

Put numbers on it. That first /orders question — 32 in, 14 out — costs almost nothing on any model. But the ratio between tiers is the whole game: send it to the strong model instead of the cheap one and you pay ~15× more for a one-line answer you'd have gotten either way.

$0.0001
the /orders question on haiku (32 in · 14 out)
$0.0015
same question on opus — ~15× more, same answer
$0.0102
a 200-in / 2 000-out reply on haiku
98%
of that reply's cost is the output half
The module that carries the whole page A model call's cost is set by three numbers you can influence: which tier you send it to, how many input tokens you make it re-read, and how many output tokens it writes. Every module below is one of those three quietly getting bigger — and every Firstpass move in Part B is one of them getting smaller.
Common mistake “Send everything to the best model, it's only fractions of a cent.” True for one call — that opus answer above is $0.0005. But an agent makes hundreds of calls, each re-reading a growing transcript (multi-turn), and the easy calls vastly outnumber the hard ones. Paying the 15–75× tier premium on every one of them is how a fractions-of-a-cent call becomes a four-figure monthly bill. The premium is only worth it on the calls that actually need it.
Cost = tier × (input tokens + ~5× output tokens); the strong tier is 15–75× the cheap one, so which model answers is the biggest single lever.