OpenAI API Cost: What Each Model Costs per Request, per User and per Month
Quick answer: OpenAI bills per million tokens, with separate rates for input and output, and higher rates for audio. On a typical chat reply of 1,200 input and 300 output tokens, GPT-4o Mini costs $0.00036, GPT-5.6 Luna $0.0006, GPT-4o $0.006 and GPT-5.6 Sol $0.0108. Multiply by requests per user and users per month to get the bill. The sections below do that for you.
The pricing page gives you rates. What you actually want to know is what a request costs, what a user costs, and what next month's bill looks like. Those take two more multiplications, and the answers move a lot depending on how much each feature writes.
This is part of our guide to LLM and AI cost optimization.
OpenAI API prices per million tokens
| MODEL | INPUT | OUTPUT | NOTE |
|---|---|---|---|
| gpt-5.6-sol | $4 | $20 | Promotional rate |
| gpt-5.6-luna | $0.20 | $1.20 | |
| gpt-4o | $2.50 | $10 | |
| gpt-4o-mini | $0.15 | $0.60 | |
| gpt-realtime-2.1 | $4 text, $32 audio | $24 text, $64 audio | Voice |
| gpt-image-2 | $5 | $30 | Images bill as output tokens |
Checked on 16 October 2026. Rates change; the AI API pricing sheet has today's rates for every model, including cached-input rates, and is re-synced daily.
Cost per request
Three common request shapes, priced per single request:
| REQUEST SHAPE | GPT-4O-MINI | GPT-5.6-LUNA | GPT-4O | GPT-5.6-SOL |
|---|---|---|---|---|
| Classifier: 700 in, 40 out | $0.000129 | $0.000188 | $0.00215 | $0.0036 |
| Chat reply: 1,200 in, 300 out | $0.00036 | $0.0006 | $0.006 | $0.0108 |
| Long answer: 500 in, 1,500 out | $0.000975 | $0.0019 | $0.01625 | $0.032 |
The gap grows with output. GPT-5.6 Sol's output rate is 33 times GPT-4o Mini's, so a feature that writes long answers feels the model choice far more than a classifier does. For the two budget models head to head, see GPT-5.6 Luna pricing vs GPT-4o Mini.
Cost per user per month
Take a user who makes 20 chat requests a day, every day: 600 requests a month at 1,200 input and 300 output tokens each.
| MODEL | COST PER USER PER MONTH |
|---|---|
| gpt-4o-mini | $0.22 |
| gpt-5.6-luna | $0.36 |
| gpt-4o | $3.60 |
| gpt-5.6-sol | $6.48 |
If you charge $10 a month, that user's AI cost is about 2% of the price on GPT-4o Mini and 65% on GPT-5.6 Sol.
Averages hide the users who matter. A heavy user making 200 requests a day costs $64.80 a month on GPT-5.6 Sol, six and a half times a $10 plan. That's why cost per customer matters more than the monthly total; the unit economics of AI features walks through it, and why AI SaaS margins land near 52% shows where it ends up.
Cost per month at volume
The same chat reply at volume:
| REQUESTS PER MONTH | GPT-4O-MINI | GPT-5.6-LUNA | GPT-4O | GPT-5.6-SOL |
|---|---|---|---|---|
| 10,000 | $3.60 | $6 | $60 | $108 |
| 100,000 | $36 | $60 | $600 | $1,080 |
| 1,000,000 | $360 | $600 | $6,000 | $10,800 |
To run your own numbers, put your token counts and volume into the AI API cost calculator.
Images and voice
Images. gpt-image-2 bills each image as output tokens, and the count depends on size and quality. Our calculator's defaults are roughly 272 output tokens for low quality, 1,056 for medium and 4,160 for high. At $30 per million, that's about $0.008, $0.032 and $0.125 per image, before the small input cost.
Voice. gpt-realtime-2.1 charges $32 per million audio input tokens against $4 for text, eight times as much, and $64 per million audio output tokens against $24 for text. A cost estimate that uses the text rates for a voice feature will come out far too low. More on both in how image and audio models are actually billed.
What makes the real bill higher
- Reasoning tokens bill at the output rate and never appear in the reply. See reasoning tokens, the invisible line item.
- Conversation history is re-sent with every turn of a chat. See how conversation history inflates chat costs.
- Retries on timeouts quietly add requests nobody sees. See how retry logic inflates an LLM bill.
- Cached input pulls the other way: repeated prompt prefixes bill at a lower rate on supported models. See how to reduce an OpenAI API bill without changing prompts.
Seeing your real OpenAI cost per feature
Your OpenAI invoice is one total per model. To see which feature and which customer it came from, record each request's usage as it completes. LLMtrack does that AI cost tracking per feature and customer with one call after each response:
import { LLMtrack, fromOpenAIUsage } from 'llmtrack'
const llmtrack = new LLMtrack({
apiKey: process.env.LLMTRACK_API_KEY,
onError: (e) => console.warn(e.code, e.message),
})
const res = await openai.chat.completions.create({ model: 'gpt-5.6-luna', messages })
llmtrack.track({
provider: 'openai',
model: res.model,
feature: 'chat-reply',
customerId: 'acme-corp',
...fromOpenAIUsage(res.usage),
})
The adapter reads cached and reasoning tokens from the usage object, so each component is priced at its own rate. Setup details are in the Node and Python SDKs.
FAQ
How much does the OpenAI API cost per request?
For a chat reply of 1,200 input and 300 output tokens, from $0.00036 on GPT-4o Mini to $0.0108 on GPT-5.6 Sol, at 16 October 2026 rates.
Is GPT-5.6 Luna cheaper than GPT-4o Mini?
No. GPT-4o Mini is cheaper on both input ($0.15 against $0.20 per million) and output ($0.60 against $1.20 per million).
Why is my OpenAI bill so high?
Usually one feature. Reasoning tokens, growing conversation history, retries and a model switch are the common causes, and all four look the same on the invoice. Here's how to find which feature caused a bill spike.
Does OpenAI charge for cached tokens?
Yes, at a discounted rate on models that support prompt caching. The cached-input rate for each model is on the pricing sheet.
See what each feature and customer costs on OpenAI from your next request. The free plan includes every feature: start free.
Related guides
- GPT-5.6 Luna pricing vs GPT-4o Mini
- How to calculate your real LLM API cost
- Reduce your OpenAI API bill without touching your prompts
Last updated 16 October 2026. Rates quoted were each provider's published rates that day and change often; your dashboard uses rates re-synced daily.