What the LLM cost calculator does
The calculator turns a workload into money: the tokens a typical request sends and gets back, and how many requests you make, priced on each model you choose. It compares models from OpenAI, Anthropic, Google, xAI, DeepSeek and Mistral side by side, per request, day, month and year, and applies their cached input, batch and long-context prices where they publish them. Every row links to the official pricing page it comes from and says when that page was last checked.
How to estimate LLM API costs
- Enter the input tokens and output tokens of a typical request. The AI Token Counter measures a prompt; a word of English is one to two tokens, depending on the model.
- Enter how many requests you send, a day or a month.
- If the start of every prompt repeats, enter the cached input share. Turn on Batch API for work that can wait up to a day.
- Choose the models to compare, sort the table by any column, and copy it or download it as CSV.
Examples
1,000 input and 500 output tokens per request, 10,000 requests a day.
| Model | Per request | Per day | Per month | Per year |
|---|---|---|---|---|
| GPT-6.1 Sol | $0.007 | $70.00 | $2,100.00 | $25,550.00 |
| Claude Sonnet 5.5 | $0.007 | $70.00 | $2,100.00 | $25,550.00 |
| DeepSeek Flash | $0.0009 | $9.00 | $270.00 | $3,285.00 |
| Mistral Large 3 | $0.00125 | $12.50 | $375.00 | $4,562.50 |
Prices as of 2026-10-30, from each provider's pricing page.
1,000 input and 500 output tokens per request, 10,000 requests a day, 50% of the input cached.
| Model | Per request | Per day | Per month | Per year |
|---|---|---|---|---|
| GPT-6.1 Sol | $0.00605 | $60.50 | $1,815.00 | $22,082.50 |
| Claude Sonnet 5.5 | $0.00605 | $60.50 | $1,815.00 | $22,082.50 |
| Mistral Medium 3.5 | $0.00525 | $52.50 | $1,575.00 | $19,162.50 |
Mistral Medium 3.5 publishes no cached input price, so cached tokens are priced as regular input. COST_PRICE_UNAVAILABLE
Prices as of 2026-10-30, from each provider's pricing page.
1,000 input and 500 output tokens per request, 10,000 requests a day, Batch API.
| Model | Per request | Per day | Per month | Per year |
|---|---|---|---|---|
| GPT-6.1 Sol | $0.0035 | $35.00 | $1,050.00 | $12,775.00 |
| Claude Sonnet 5.5 | $0.0035 | $35.00 | $1,050.00 | $12,775.00 |
| Grok 4.7 | $0.004 | $40.00 | $1,200.00 | $14,600.00 |
| DeepSeek Flash | — | — | — | — |
DeepSeek Flash has no published batch price. COST_PRICE_UNAVAILABLE
Prices as of 2026-10-30, from each provider's pricing page.
Input
input=1000 output=500 requests=-5/day cache=0%
Problem reported
Requests can't be negative. Enter 0 or more. (COST_INVALID_NUMBER)
How the cost of a request adds up
A request is billed for the tokens it sends and the tokens it gets back, each at its own price per million tokens:
cost per request = (uncached input × input price + cached input × cached price + output × output price) ÷ 1,000,000
Output tokens cost several times as much as input tokens, most often five times. The model reads the whole input in one pass, but writes the answer one token at a time, each with a full pass of its own. So a chatbot that answers at length can cost more than one that reads long documents. Reasoning models think before they answer, and that thinking is billed as output too, even when you never see it: leave room for it in the output tokens.
A day costs the cost per request times the requests a day; a month counts 30 days and a year 365. When you enter requests a month, the daily cost is a thirtieth of that.
Prompt caching
Many requests start with the same text: a long system prompt, instructions, a document or the definitions of the tools a model can call. Providers can serve such a repeated beginning from a cache at a fraction of the input price, often a tenth or less. The cached input share is the part of all input tokens read from the cache; it grows with the length of the repeated prefix and with how often requests arrive, as a cached prefix lasts from minutes to hours. Writing to the cache costs extra at some providers, and storing it at others; neither is included here. A model with no published cached price is priced as if nothing were cached, and the page says so.
Batch APIs
A batch API takes a file of requests and returns the answers within a day, in exchange for a lower price; most of the providers here charge half. It suits work that can wait, like evaluating a model on a test set, classifying or summarizing a backlog, or nightly reports, and not chat or anything a user waits for. Cached input can be cheaper still in a batch where the provider publishes that price. A model with no published batch price shows a dash.
Long prompts and context windows
Some models charge more for long prompts. From a published number of input tokens on, every token of the request costs the higher long-context price, its output included, so one request just over the line costs noticeably more than one just under it. The calculator applies the price that the input size reaches and says so on the row.
Every model also limits what one request can hold: input and output together, or each on its own. A workload over a model's limit gets a warning, as the provider would refuse such a request; split the work into smaller requests.
Where the prices come from
Every price comes from the provider's own pricing page, checked by hand on the date shown on each row; nothing is fetched while you use the calculator, and nothing you enter leaves your browser. Providers change prices often, so the page notes when a provider's prices are more than 60 days old. Changes a provider has announced are built in: the row shows the coming price, and the calculator uses it from its first day.
The prices are the providers' public API list prices in US dollars, before tax. Not included: taxes; regional, enterprise and cloud marketplace prices; fees for tools, search and function calls; image, audio and video tokens; writing to and storing a cache; free tiers and credits. Toolzami is not affiliated with any of these providers; their names only identify their models.
Options
| Option | Values | Default | When to change it |
|---|---|---|---|
| Requests per | a day, a month | a day | A month when you count requests per billing month; it is divided by 30 for the daily cost. |
| Batch API | On, Off | Off | On for work that can wait up to a day; models without a batch price show a dash. |
Common errors and fixes
| Code | What it means | How to fix it |
|---|---|---|
COST_Error | A field is empty, not a number, negative, a fraction of a token, or a cached share over 100%. | Enter a whole number of tokens, a number of requests, and a share from 0 to 100. |
COST_Error | More than 100,000,000 tokens per request, more than a trillion requests a day, or a yearly cost over $1,000,000,000,000,000. | Check the numbers; such a workload is past what any provider serves. |
COST_Warning | The model has no published price for what you asked: a cached input price, or a batch price. | Its row is priced without the cache, or shows a dash for batch; compare with models that publish the price. |
COST_Warning | A request has more tokens than the model takes at once. | Split the work into smaller requests, or choose a model with a larger context window. |
COST_Note | The provider's prices were last checked more than 60 days ago. | Open the source link on the row to see the current prices. |