ChatGPT API cost: the published rates, the formula, and the seven levers that change the bill
Per token rates from OpenAI's own pricing page dated 10 October 2026, the formula for a monthly estimate, a worked example priced three ways, and the seven levers that move a bill between tens and thousands.
Published by AI Knows Us · Updated 12 October 2026
The ChatGPT API is billed by the token, not by the request or the seat, and input and output are priced separately with output costing several times more than input. On OpenAI's own pricing page, checked on 10 October 2026, the published rates per million tokens are 10.00 USD input, 1.00 USD cached input and 50.00 USD output for GPT-6 Astra; 2.00, 0.10 and 10.00 for GPT-6.1 Sol; and 0.10, 0.01 and 0.50 for GPT-6 Luna. The whole of your bill is therefore four numbers: how many input tokens you send, how many output tokens you ask for, which model handles it, and how much of your input is a cache hit. Work those out for one typical request and multiply, and you have your monthly cost before you write any code. The gap between the cheapest and the most capable model is a factor of one hundred, which makes model choice the largest cost lever you have.
This page covers what the API costs and how to control it. The rates below come from OpenAI's pricing page and the pricing section of the platform documentation, and you should check those before budgeting, because published rates change.
Published rates, 10 October 2026
| Model | OpenAI's description | Input, USD per 1M tokens | Cached input | Output |
|---|---|---|---|---|
| GPT-6 Astra | Most capable model, for the hardest end to end work | 10.00 | 1.00 | 50.00 |
| GPT-6.1 Sol | Built for complex coding and agentic workflows at scale | 2.00 | 0.10 | 10.00 |
| GPT-6 Luna | Most efficient model, for focused high volume tasks | 0.10 | 0.01 | 0.50 |
Alongside the text models, OpenAI publishes separate per token rates for image models and for realtime models, where audio, text and image inputs are each priced on their own line. If your product takes voice or images, price those lines separately rather than assuming the text rate applies.
The formula, and how to apply it
cost per request
= (input tokens / 1,000,000) x input rate
+ (cached input tokens / 1,000,000) x cached rate
+ (output tokens / 1,000,000) x output rate
monthly cost = cost per request x requests per month
A token is a fragment of text, often a short word or part of a longer one. Do not estimate it: run a representative prompt through the official tokenizer, or read the usage object that comes back with every API response, which reports the exact input and output counts for that call. One real measurement removes all the guesswork from a budget.
A worked example
Take a support assistant that answers a customer question. Each request sends 1,500 input tokens, which is the instruction, a few retrieved help articles and the conversation so far, and asks for 300 output tokens. It handles 50,000 requests a month. That is 75 million input tokens and 15 million output tokens.
| Model | Input cost | Output cost | Monthly total, USD |
|---|---|---|---|
| GPT-6 Luna | 7.50 | 7.50 | 15.00 |
| GPT-6.1 Sol | 150.00 | 150.00 | 300.00 |
| GPT-6 Astra | 750.00 | 750.00 | 1,500.00 |
Now apply two of the levers. If the instruction and the help articles are stable, so that 60 of the 75 million input tokens are cache hits, the Sol row becomes 6.00 for cached input, 30.00 for fresh input and 150.00 for output, a monthly total of 186.00. If the work does not need an immediate reply and goes through the Batch API instead, OpenAI states that saves 50 per cent on inputs and outputs with tasks run asynchronously over a 24 hour window, which takes the standard Sol row to 150.00. The same product, the same volume, priced between 15 and 1,500 USD depending on four engineering decisions.
The seven levers, in order of effect
- Model choice. The largest lever by an order of magnitude. Route the easy majority of requests to the efficient model and escalate only the hard ones, which is cheaper than running everything on the strongest model and better than running everything on the cheapest.
- Cached input. Put the stable part of your prompt, the system instruction and any fixed reference text, at the start and keep it byte identical so it can be served as a cache hit at a fraction of the input price.
- Output length. Output is the expensive side of the bill. Set a maximum output token limit, ask for structured output rather than prose, and stop asking the model to restate the question before answering it.
- Batch processing. For classification, enrichment, summarisation of a backlog or any overnight job, OpenAI's Batch API halves input and output cost in exchange for asynchronous delivery within 24 hours.
- Flex processing. OpenAI also offers a lower cost tier in exchange for slower responses, which suits background work that still needs to come back in the same session.
- Prompt and context size. Retrieve three relevant passages rather than twenty, and trim conversation history to what the next turn needs. Most production prompts carry a large amount of text that no answer depends on.
- Do not call the model at all. Cache whole answers to repeated questions, use a lookup for anything deterministic, and filter obvious cases with rules. The cheapest token is the one never sent.
Costs people forget to budget
- Retries and failures. A retried request is billed again, so count your retry rate into the volume.
- Tool and agent loops. An agent that calls a tool, reads the result and thinks again spends several model calls per user request. Price the loop, not the turn.
- Reasoning style output. Where a model produces internal reasoning before its answer, that is output and it is billed as output. Measure real responses rather than the visible answer length.
- Embeddings and storage. Retrieval systems have their own per token embedding cost and their own vector storage bill.
- Evaluation runs. Testing a prompt across a thousand cases is a thousand requests. Budget development traffic separately from production traffic.
- Growth in prompt size. Prompts grow as features are added. Review token counts monthly in the same meeting as the invoice.
The API bill and a ChatGPT subscription are different things
A ChatGPT plan is billed per person per month and gives people an interface to use. The API is billed per token and gives your software a way to call the models. Buying one does not include the other, and the two appear on separate lines. For the wider picture of what OpenAI publishes and where, see how the OpenAI documentation is organised and where the Microsoft relationship shows up.
What people ask about ChatGPT API cost
How much does the ChatGPT API cost?
It is priced per million tokens, separately for input and output. On OpenAI's pricing page on 10 October 2026 the text model rates run from 0.10 USD input and 0.50 USD output per million tokens for GPT-6 Luna up to 10.00 and 50.00 for GPT-6 Astra. Your bill is those rates multiplied by the tokens you actually send and receive.
Why is output more expensive than input?
Output is generated one token at a time, so it costs more to produce than reading input does. The practical consequence is that the fastest way to cut a bill is to make answers shorter and more structured.
What is cached input?
When the leading part of your prompt is identical to a recent request, it can be served from cache at a much lower rate, for example 0.10 USD per million tokens against 2.00 on GPT-6.1 Sol. Keeping your system instruction and fixed reference text first, unchanged and byte identical, is what makes this work.
How do I estimate cost before building?
Write one realistic prompt, send it once, and read the input and output token counts returned in the response. Multiply by your expected monthly request volume, add your retry rate, and multiply again for any agent loop. That estimate is accurate enough to make a build decision on.
Is there a free tier?
Pricing and any trial credit are set on OpenAI's own pages, so check the pricing page and your account billing section for what currently applies to a new account. Budget on the published per token rates rather than on credit.
How do I keep the bill predictable?
Four controls cover it: a maximum output token limit on every call, a monthly spend limit in the account, logging of token counts per feature, and a routing rule that sends the easy majority of requests to the efficient model. With those in place the bill moves with usage instead of surprising you.
What the model says about you, not to you
Budgeting an API bill is a decision about what you build with a model. The model also answers questions about you on other people's screens. Buyers describe their problem to ChatGPT and get two or three businesses named, assembled from reviews, roundups and forum threads, with none of your tokens involved.
The cost of that side is not on any pricing page: it is the sale that goes to a rival whose facts are better placed. Spend a short test session asking the questions your buyers ask, naming nobody, and record the answer. AI Knows Us does that measurement for a business across the five main assistants.