Price per 1M logo

How to read an AI pricing page without getting the bill wrong

A pricing page is a table of rates, but the bill is decided by five fields and three footnotes.

By Mohammad Ghonchegi, editor and maintainer·Published ·Updated ·2 min read

Every provider publishes rates in roughly the same shape, and every provider's table is missing something the invoice will include. This is the field-by-field version of what this index normalises, and what it deliberately leaves out.

The five fields that decide the bill

  1. Input rate — the price of a token you send. The system prompt, retrieved context and conversation history all count.
  2. Output rate — the price of a token the model generates. Higher than input on virtually every model here (median ${usd(medianOutput)} vs ${usd(medianInput)} per 1M).
  3. Cached input rate — a lower rate for input that repeats. ${withCache} of ${pricedModels.length} priced chat models in the current dataset publish one.
  4. Context window — the maximum input a model accepts. Published for ${withCtx} models here; a missing value means the provider does not state it, not that it is unlimited.
  5. Max output — the ceiling on generated tokens. It caps how verbose a single answer can be, which is a cost control as much as a capability limit.

The three footnotes that decide whether the estimate survives contact with reality

  • Batch pricing. Off-peak or asynchronous processing is often discounted, but the discount is not in the headline table. It is excluded from the normalised rates here.
  • Committed use. Volume agreements change the effective rate, and they are per-account, so no public dataset — including this one — can represent them.
  • Free tiers and regional cards. Free allowances sit outside paid rates, and regional pricing can differ from the USD rate card. Excluded here, stated on every model page.

Why 'per 1M tokens' is not a price

A rate per million tokens answers "how much per unit?", not "what will I pay?". Two products on the same model can differ by 10× in cost purely through prompt length, cache handling and output verbosity. That is why every page here also publishes computed monthly workloads: a rate and a bill are different objects.

The habit that prevents surprises

Pick three workloads you actually run, compute their token profiles once, and re-price them when a rate changes — or when you change models. The calculator does the arithmetic for any model in the index, and the methodology page documents exactly what the dataset contains.

1557 priced chat models, 32 providers, refreshed continuously.

Browse the full index

Frequently asked

› What does 'per 1M tokens' mean?

The rate applies to one million tokens, not one call. To price a call, multiply tokens by the rate and divide by a million; to price a month, multiply by the number of calls.

› What is cached input pricing?

A separate, lower rate for re-used input — typically a system prompt, a document or a tool schema that repeats across calls. It is published only for models that support prompt caching.

› What is not in the rate table?

Batch discounts, committed-use agreements, regional rate cards, free tiers, retries, and anything non-token (retrieval, hosting, evaluation). Batch and committed-use terms in particular can change a real bill substantially, and this index excludes them from the normalised rates.

Where the numbers come from

The data pages this article draws on — check any figure against them, they are recomputed on every refresh.