What the same prompt costs across fifteen models
Model pricing is quoted per million tokens, which is a unit almost nobody thinks in. A price of "$2.50 per million input tokens" tells you very little until you multiply it by the shape of your actual traffic. So let's do that.
Take one realistic request: a 2,000-token prompt — roughly three pages, including a system prompt and a couple of examples — producing a 500-token answer. Here is what that single exchange costs on each model this calculator supports.
One request#
| Model | Input | Output | Total |
|---|---|---|---|
| GPT-4o mini | $0.0003 | $0.0003 | $0.0006 |
| GPT-5.6 Luna | $0.0004 | $0.0006 | $0.0010 |
| Gemini 3.1 Flash-Lite | $0.0005 | $0.0008 | $0.0013 |
| GPT-3.5 Turbo | $0.0010 | $0.0008 | $0.0018 |
| Gemini 2.5 Flash | $0.0006 | $0.0013 | $0.0019 |
| Claude Haiku 4.5 | $0.0020 | $0.0025 | $0.0045 |
| Gemini 3.6 Flash | $0.0030 | $0.0038 | $0.0068 |
| GPT-4.1 | $0.0040 | $0.0040 | $0.0080 |
| Claude Sonnet 5 | $0.0040 | $0.0050 | $0.0090 |
| GPT-5.6 Terra | $0.0040 | $0.0060 | $0.0100 |
| GPT-4o | $0.0050 | $0.0050 | $0.0100 |
| Gemini 3.1 Pro | $0.0040 | $0.0060 | $0.0100 |
| Claude Opus 5 | $0.0100 | $0.0125 | $0.0225 |
| GPT-5.6 Sol | $0.0100 | $0.0150 | $0.0250 |
| GPT-4 Turbo | $0.0200 | $0.0150 | $0.0350 |
Every one of those numbers rounds to nothing. That is exactly the problem — a fraction of a cent is impossible to reason about, so the decision gets made on vibes and discovered on the invoice.
The same table at 100,000 requests a month#
| Model | Monthly |
|---|---|
| GPT-4o mini | $60 |
| GPT-5.6 Luna | $100 |
| Gemini 3.1 Flash-Lite | $125 |
| GPT-3.5 Turbo | $175 |
| Gemini 2.5 Flash | $185 |
| Claude Haiku 4.5 | $450 |
| Gemini 3.6 Flash | $675 |
| GPT-4.1 | $800 |
| Claude Sonnet 5 | $900 |
| GPT-5.6 Terra | $1,000 |
| GPT-4o | $1,000 |
| Gemini 3.1 Pro | $1,000 |
| Claude Opus 5 | $2,250 |
| GPT-5.6 Sol | $2,500 |
| GPT-4 Turbo | $3,500 |
Now the choice is legible. The spread between the cheapest and most expensive option is about 58x, and 100,000 requests a month is a modest product — a few thousand daily active users doing one action each.
One caveat on that table. GPT-4 Turbo and GPT-3.5 Turbo are both retired on 23 October 2026, so neither is a sound choice for something you are building now. OpenAI names GPT-5.6 Sol as the successor to GPT-4 Turbo and GPT-5.6 Terra as the successor to GPT-3.5 Turbo, and in both cases the replacement is cheaper than the model it replaces. The calculator prices whichever rate is actually in effect.
Worth noticing: three models cost the same $0.0100 on this request, and not in the same way. GPT-4o splits it evenly at $2.50 in and $10 out. GPT-5.6 Terra and Gemini 3.1 Pro are cheaper on input and dearer on output — in fact those two carry identical published rates, $2 per million in and $12 out, so on this request they are indistinguishable. Which is actually cheaper for you depends entirely on your input-to-output ratio, and a single headline price cannot tell you.
Where Terra and Gemini 3.1 Pro do separate is the long-prompt surcharge below: both charge one, at different thresholds.
Output is where the money goes#
Look at the ratio rather than the absolute numbers. Every model here charges several times more for output than for input — mostly three to six times. Claude Opus 5 is $5 per million in and $25 out; GPT-4o is $2.50 and $10. The GPT-5.6 family sits at the top of that range at 6x — $5 in and $30 out for Sol, and the same ratio all the way down to Luna at $0.20 and $1.20. Gemini 2.5 Flash is the outlier in the other direction, at $0.30 in and $2.50 out: a ratio above 8x, on one of the cheapest models here.
That ratio changes which lever matters. Trimming your prompt is visible and satisfying — you can see the text get shorter. But in the table above, output already costs as much as or more than input despite being a quarter of the token count. Shave 500 tokens off a prompt and you save a little. Cap the response at 300 tokens instead of 800 and you save considerably more.
This is also why "just use the cheap model" can backfire. A weaker model that needs two attempts, or that answers a direct question with five paragraphs of preamble, can cost more than a stronger model that answers once and stops.
What the per-token price does not include#
Three things routinely make real bills exceed the estimate:
- System prompts are charged every call. A 600-token system prompt on 100,000 requests is 60 million input tokens a month, whether or not the user's own message is short.
- Conversation history compounds. In a multi-turn chat, every prior turn is resent as input. Turn ten costs far more than turn one for the same user message.
- Retries are billed. A failed parse that triggers a second attempt doubles that request. So does a timeout that the client retries.
None of these appear in a pricing page, and together they routinely account for more of a bill than the thing anyone was optimising.
The cliff at 272,000 tokens — and the one at 200,000#
There is one more adjustment that a headline price hides, and it is the largest single one on this page.
The GPT-5.6 family accepts 1,050,000 tokens, but it does not charge one rate across that whole window. A request whose input exceeds 272,000 tokens is billed at twice the input rate and one and a half times the output rate — for the entire request, not just the part above the line. GPT-5.6 Sol goes from $5/$30 to $10/$45. Terra goes from $2/$12 to $4/$18.
Gemini 3.1 Pro does the same thing at a lower threshold: above 200,000 input tokens it moves from $2/$12 to $4/$18 — the same 2x and 1.5x, but reached sooner. That matters more than the smaller number suggests, because it is the threshold, not the multiplier, that decides how much of your traffic is affected. A workload that comfortably clears the GPT cliff can sit the wrong side of the Gemini one.
That is a discontinuity, not a gradient. A 271,000-token request and a 273,000-token request differ by well under one percent in size and by very nearly 100% in input cost. If your workload sits anywhere near that boundary — long documents, large retrieved contexts, accumulated chat history — it is worth knowing which side of it you are on, because trimming a request from 280,000 tokens to 270,000 tokens saves roughly half the bill rather than roughly four percent of it.
This is the one adjustment a calculator can make for you without guessing. Whether a request crosses the threshold is fully determined by its token count, so the comparison table applies the elevated rate automatically once you paste enough text, and marks the rate as long when it does. Cached-input discounts, by contrast, depend on how you call the API rather than on the text, so no honest calculator can apply them from a paste alone.
Working it out for your own text#
The numbers above assume a 2,000-token prompt because it is a defensible average, but yours will differ — and the token count of your text is not something to estimate when you can measure it. Paste a representative prompt into the calculator, switch the comparison table between Input and Output pricing, and read the real figures for your workload rather than for mine.
Then multiply by your request volume before you pick a model, not after.