In February 2025, a developer building a voice ordering app posted two numbers to OpenAI's community forum: $0.18 a minute for a Realtime session with a system prompt, and $1.63 a minute without one. Same model, same app, a 9x swing, and the thread never landed on a clear answer.
OpenAI Realtime API pricing runs on tokens. gpt-realtime-2.1 costs $32 per million audio input tokens and $64 per million audio output tokens, and gpt-realtime-2.1-mini costs $10 and $20.
On a five-minute support call, that works out to roughly $0.07 a minute for 2.1 when prompt caching does its job, $0.18 a minute when it doesn't, and about $0.02 a minute for the mini.
I went through OpenAI's pricing page, its Realtime cost guide, and its deprecation schedule, then priced a call turn by turn, so you can see where the per-minute number comes from and why it climbs the longer a caller stays on the line.
Pricing verified against OpenAI's pricing page on October 26, 2026. Verify with the vendor before you commit.
OpenAI Realtime API Pricing at a Glance
OpenAI's pricing page lists six Realtime speech-to-speech models. Audio is where the money goes, so here's the audio rate card first (prices per 1 million tokens):
| Model | Audio input | Cached audio input | Audio output | Status |
|---|---|---|---|---|
| gpt-realtime-2.1 | $32.00 | $0.40 | $64.00 | Current flagship |
| gpt-realtime-2.1-mini | $10.00 | $0.30 | $20.00 | Current low-cost model |
| gpt-realtime-2 | $32.00 | $0.40 | $64.00 | Previous version of 2.1 |
| gpt-realtime-1.5 | $32.00 | $0.40 | $64.00 | Older |
| gpt-realtime | $32.00 | $0.40 | $64.00 | Shuts down Jan 20, 2027 |
| gpt-realtime-mini | $10.00 | $0.30 | $20.00 | Shuts down Jan 20, 2027 |
Text and image tokens bill separately, at much lower rates (also per 1 million tokens):
| Model | Text input | Cached text | Text output | Image input (cached) |
|---|---|---|---|---|
| gpt-realtime-2.1 | $4.00 | $0.40 | $24.00 | $5.00 ($0.50) |
| gpt-realtime-2.1-mini | $0.60 | $0.06 | $2.40 | $0.80 ($0.08) |
| gpt-realtime-2 | $4.00 | $0.40 | $24.00 | $5.00 ($0.50) |
| gpt-realtime-1.5 | $4.00 | $0.40 | $16.00 | $5.00 ($0.50) |
| gpt-realtime | $4.00 | $0.40 | $16.00 | $5.00 ($0.50) |
| gpt-realtime-mini | $0.60 | $0.06 | $2.40 | $0.80 ($0.08) |
Two more prices are next to these on the same page:
-
GPT-Live 1 voice sessions: $0.05 per minute, billed per second, with backend model and tool usage charged separately (gpt-live-1 model page)
-
Transcription: gpt-realtime-whisper and gpt-live-transcribe stream live audio at $0.017 per minute, and gpt-transcribe handles files and committed Realtime turns at $0.0045 per minute
Notice that the four full-size Realtime models share the same audio rates, so moving from gpt-realtime to 2.1 changes only text output and reasoning, where the difference is easy to miss.
How OpenAI Realtime API Billing Works
OpenAI's Realtime cost guide explains the billing in a few paragraphs, and almost every surprise bill traces back to one of them.
Audio Tokens: 600 a Minute In, 1,200 a Minute Out
Caller audio counts as 1 token per 100 milliseconds, which is 600 tokens per minute of speech. The model's own audio counts as 1 token per 50 milliseconds, or 1,200 tokens per minute.
So the agent's voice costs double per second before you even look at the price list, and the price list then charges twice as much per output token. That's why audio output dominates the first turn of every call.
Here's what one minute of fresh speech costs at today's rates:
| Model | 1 min of caller audio | 1 min of agent audio | 1 min of cached caller audio |
|---|---|---|---|
| gpt-realtime-2.1 | $0.0192 | $0.0768 | $0.00024 |
| gpt-realtime-2.1-mini | $0.006 | $0.024 | $0.00018 |
If you've seen "$0.06 a minute in, $0.24 a minute out" in a forum thread or a calculator post, that's the 2024 price, when audio cost $100 and $200 per million tokens. The same minute of speech now costs about a third of that on 2.1.
Every Response Re-Bills the Whole Conversation
This is the part that wrecks budgets. The entire conversation is sent to the model for every Response, so each new turn pays again for the system prompt, every earlier caller turn, and every earlier agent reply.
Turn one of a call might process 100 tokens of caller audio. Turn ten processes the caller's tenth question plus everything said in turns one through nine. The per-turn bill keeps growing even when each turn is the same length.
Prompt caching is the counterweight. Cached audio input on 2.1 costs $0.40 per million tokens, against $32 fresh, an 80x discount. OpenAI applies it automatically when a Response starts with the same tokens as an earlier one, though the guide calls caching "best-effort and not guaranteed."
Text, Reasoning, and Image Tokens
Your instructions and tool definitions are text tokens, re-sent every turn. A 2,000-token system prompt on 2.1 costs $0.008 per turn fresh and $0.0008 cached, which sounds tiny until you multiply it by every turn of every call.
gpt-realtime-2.1 and gpt-realtime-2 also support configurable reasoning effort, and gpt-realtime-2.1-mini is a reasoning model too. OpenAI's model page warns that higher effort "can increase latency and output token usage," and output text costs $24 per million on 2.1 and $2.40 on the mini.
Images (a screenshot or a camera frame, say) bill at $5 per million tokens on 2.1 and $0.80 on the mini.
What You Don't Pay For
-
Connections and bandwidth: OpenAI's cost guide says there's currently no charge for either
-
Session time on its own: Realtime sessions bill on tokens, so an open connection with nobody talking costs nothing
-
Silence, with voice activity detection on: VAD filters out empty input audio, so it doesn't count as input tokens unless your client adds it to the conversation manually
Input transcription is the exception people miss. If you turn it on to get caller captions, it bills separately through a transcription model (gpt-transcribe runs $0.0045 a minute).
What a Realtime Call Costs per Minute: A Worked Example
Token rates only mean something once you push a call through them. Here's an illustrative five-minute support call, built on OpenAI's published token rules:
-
10 turns: the caller speaks for 10 seconds (100 audio tokens), the agent replies for 15 seconds (300 audio tokens)
-
2,000-token system prompt with tool definitions
-
About 50 seconds of pauses and thinking time, which costs nothing with VAD on
-
Output text and reasoning tokens left out, so treat these totals as a floor
Here's how a single turn on gpt-realtime-2.1 grows over the call:
| Turn | Audio tokens re-sent | Turn cost, no cache | Turn cost, with cache |
|---|---|---|---|
| 1 | 100 | $0.030 | $0.030 |
| 5 | 1,700 | $0.082 | $0.033 |
| 10 | 3,700 | $0.146 | $0.034 |
Without caching, turn 10 costs almost five times as much as turn 1. With caching, each turn pays full price only for the newest caller audio and the agent's last reply, so the cost per turn stays nearly flat.
Add up all 10 turns to get the cost of the call:
| Model | 5-min call, no cache | 5-min call, with cache | Per minute (cached) |
|---|---|---|---|
| gpt-realtime-2.1 | $0.88 | $0.33 | $0.066 |
| gpt-realtime-2.1-mini | $0.26 | $0.10 | $0.021 |
At 10,000 Calls a Month
Scale that to 10,000 five-minute calls (50,000 minutes) a month:
-
gpt-realtime-2.1 with caching: about $3,300
-
gpt-realtime-2.1 without caching: about $8,800
-
gpt-realtime-2.1-mini with caching: about $1,040
-
gpt-realtime-2.1-mini without caching: about $2,620
The difference between the cached and uncached rows is the reason to read your response.done usage events before you trust any per-minute estimate (yours or mine). Each one reports cached tokens separately, so you can see whether caching is doing its job.
Why Long Calls Cost More per Minute
Stretch the same call to 15 minutes and 30 turns, and the re-billing turns ugly:
| Model | 15-min call, no cache | Per minute | 15-min call, with cache | Per minute |
|---|---|---|---|---|
| gpt-realtime-2.1 | $6.48 | $0.43 | $1.05 | $0.07 |
| gpt-realtime-2.1-mini | $1.99 | $0.13 | $0.35 | $0.023 |
Uncached, the per-minute price more than doubles between a 5-minute and a 15-minute call, because every extra turn drags the whole history along with it. Cached, it barely moves.
The system prompt compounds the same way. A 2,000-token prompt rides along on every turn, and a long menu, policy document, or product catalog pasted into the instructions multiplies the effect.
(That's a whole catalog handed back to the model every time a caller says "uh, one more thing.")
Here's what keeps a long call's cost in check:
1. Keep the Start of the Session Fixed
Caching matches from the start of the conversation forward. OpenAI's guide warns that editing earlier content "busts" the cache from that point on.
Instructions and tool definitions are at the very start, so changing them mid-session lowers the cache rate for the turns that follow. Set them once and leave them alone.
2. Cap the Context Window
The token_limits.post_instructions setting caps how many input tokens (beyond the instructions) go into each Response. Pair it with a session.truncation.retention_ratio below 1, say 0.8, so truncation drops extra history in one go and doesn't bust the cache on every turn.
3. Summarize Old Turns
You can delete conversation items with conversation.item.delete and add a short summary in their place. The model forgets the exact wording, and you stop paying to re-send it.
4. Move Reference Data Out of the Prompt
Put the catalog or policy library behind a tool call, so the model fetches the one entry it needs. The developer in that forum thread worried about the latency hit, which is a fair worry, so measure it.
5. Test on the Mini
OpenAI's own advice is to start on the full model, tune your prompt, and then try the mini. Its audio costs about a third as much, and the benchmark section below shows where that saving holds and where it falls apart.
Realtime Models Shutting Down in 2027
OpenAI's deprecations page lists several shutdowns in early 2027 that affect voice agents. If you're budgeting on an older model, here's what the move costs:
| Shutdown | 🤖 Model | Replacement | Price change |
|---|---|---|---|
| Jan 20, 2027 | gpt-realtime | gpt-realtime-2.1 | Audio unchanged; text output $16 → $24 |
| Jan 20, 2027 | gpt-realtime-mini | gpt-realtime-2.1-mini | Same rates; adds reasoning tokens |
| Jan 6, 2027 | tts-1, tts-1-hd, gpt-4o-mini-tts | gpt-realtime-2.1-mini | Character or token TTS pricing → Realtime token pricing |
| Feb 26, 2027 | whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe, gpt-4o-transcribe-diarize | gpt-live-transcribe or gpt-transcribe | $0.017 or $0.0045 per minute |
For most voice agents on gpt-realtime, the switch to 2.1 is close to price-neutral. Audio rates match, and audio is most of the bill. Two things change:
-
Text output rises 50%, from $16 to $24 per million tokens
-
Reasoning tokens appear, since 2.1 supports reasoning effort, and OpenAI bills that thinking as output tokens
You also get a much bigger context window, with 128,000 tokens on 2.1, up from 32,000 on gpt-realtime. That helps with long calls, since a small window forces truncation sooner, and truncation can bust the cache.
The mini move is close to price-neutral too. gpt-realtime-2.1-mini lists the same rates as gpt-realtime-mini, line for line, but it's a reasoning model, so its thinking adds output tokens the old mini never billed.
gpt-realtime-2 and gpt-realtime-1.5 aren't on the shutdown list as of this writing.
The text-to-speech and transcription removals hit teams outside the Realtime API too. If your pipeline uses tts-1 or whisper-1, you’ll need a new TTS vendor or a move to gpt-transcribe before those dates, and the next section prices that setup.
GPT Realtime Pricing vs a Chained Pipeline vs GPT-Live 1
GPT Realtime pricing bundles listening, thinking, and speaking into one token bill. The alternatives split that bill up. Here's the same illustrative five-minute call priced three ways:
| Setup | 5-min call | Per minute | Not included |
|---|---|---|---|
| gpt-realtime-2.1 (cached) | $0.33 | $0.066 | Reasoning and text output tokens |
| gpt-realtime-2.1-mini (cached) | $0.10 | $0.021 | Reasoning and text output tokens |
| Chained pipeline: Deepgram Flux English + gpt-6.1-sol + ElevenLabs Flash / Turbo | $0.13 | $0.026 | Hosting and orchestration |
| GPT-Live 1 | $0.25 + backend | $0.05 + backend | Backend model and tool calls |
None of these include telephony, and an orchestration platform adds its own fee on top. Vapi, for one, charges $0.05 a minute for hosting before any model costs, which our Vapi pricing guide breaks down.
The Chained Pipeline: Speech-to-Text, an LLM, and Text-to-Speech
The pipeline above uses published prices from three vendors:
-
Speech-to-text: Deepgram Flux English at $0.0065 a minute (a limited-time promotional rate, normally $0.0077), streaming the whole five minutes for $0.033
-
LLM: gpt-6.1-sol at $2.00 per million input tokens, $0.10 cached, and $10.00 output, about $0.013 for the call's text (a 2,000-token prompt plus a short transcript each turn, mostly cached)
-
Text-to-speech: ElevenLabs Flash/Turbo at $0.04 per 1,000 characters (the newer v4 Turbo costs the same), so 2.5 minutes of agent speech at about 150 words a minute (roughly 2,100 characters) comes to about $0.084
Text-to-speech is the biggest line, and it's the part OpenAI is stepping back from. Its own TTS models retire on Jan 6, 2027, and the replacement it names is gpt-realtime-2.1-mini, so a chained pipeline that uses OpenAI for speech will need a new TTS vendor or a move to the Realtime API.
The pipeline wins on unit price against 2.1, and it lets you swap any one piece. You pay for that flexibility in engineering, with three vendors, three latency budgets, and turn-taking you build yourself. (Ask anyone who's debugged a pipeline's turn detection how they spent their weekend.)
GPT-Live 1: Paying by the Minute
GPT-Live 1 flips the model. OpenAI bills the voice session at $0.05 a minute, per second, and the backend that reasons and calls tools bills separately at its own model's rates.
The per-minute meter counts everything. OpenAI's cost guide says active session time includes when the user speaks, the assistant speaks, "both are silent," or the backend is working. A caller who goes quiet to find their account number is billing you the whole time.
Here are two more details from the guide:
-
WebRTC setup: creating a session bills 15 seconds up front, credited back against the session once it starts running
-
Idle sessions: closing the voice session during a long backend task saves $0.05 for every idle minute
GPT-Live 1 runs on its own endpoint (v1/live/sessions), so moving from the Realtime API means migrating code. OpenAI publishes a migration guide for exactly that.
Which Setup Costs Least
-
Short, simple calls: gpt-realtime-2.1-mini, if the quality holds (the next section checks)
-
Calls where you want to swap vendors or own each layer: a chained pipeline
-
Long calls: GPT-Live 1, since its voice price doesn't grow with conversation length (backend tokens still do)
-
Hard calls that have to go right the first time: gpt-realtime-2.1
Google prices its speech-to-speech models differently again. For the wider field, see our pick of the best voice AI APIs for real-time audio.
Is GPT Realtime 2.1 Worth It Over Mini? What Benchmark Data Shows
For hard calls, yes. Per-minute price is only half the bill. A call that fails still costs money, and then someone has to fix it.
Cekura's speech-to-speech benchmark (last updated October 22, 2026) ran 12 realtime models through the same Pipecat agent, prompt, and tools on 82 caller scenarios, three times each.
Here are the three OpenAI options side by side:
| Measure | gpt-realtime-2.1 | gpt-realtime-2.1-mini | GPT-Live 1 + GPT-6 Sol |
|---|---|---|---|
| Reliability (scenarios passed on all 3 runs) | 79.3% (3rd of 12) | 50.0% (11th of 12) | 75.6% (4th of 12) |
| Success rate, all calls | 89.0% | 61.4% | 83.7% |
| Caller data saved exactly right | 92.0% | 64.5% | 89.0% |
| Median reply time | 1.94s | 2.08s | 2.02s |
| Cost per minute | $0.085 | $0.020 | $0.055 |
| Cost per successful call | $0.191 | $0.066 | $0.134 |
| Success, booking calls | 92.1% | 83.6% | 97.2% |
| Success, Medicare calls | 81.2% | 4.3% | 49.3% |
The benchmark prices a minute of its own test calls at OpenAI's published rates, with reasoning set to high on both Realtime models, which helps explain why 2.1 lands above the $0.066 in my worked example.
The Mini Wins on Easy Calls
Across all calls, the mini has the lowest cost per successful call in the benchmark at $0.066, against $0.191 for 2.1. On clinic booking calls, it succeeded 83.6% of the time. For simple, scripted flows, that's a lot of call for two cents a minute.
The Mini Falls Apart on Hard Calls
Medicare calls ask the agent to check eligibility and route the caller correctly. The mini succeeded on 4.3% of them, and the benchmark notes that "not one Medicare record was exact."
That means at 4.3% success, you'd need about 23 Medicare calls for every one the mini finishes correctly. 2.1, at 81.2%, needs about 1.2.
Assuming two-minute calls at the benchmark's per-minute costs, that's roughly $0.93 in model fees per successful Medicare call on the mini, against about $0.21 on 2.1, before you count the callers you lost.
GPT-Live 1 Lands in Between
GPT-Live 1 sits between them on price and reliability. It was near perfect on bookings but went quiet for 10 seconds or more on 12.2% of calls, the most of any model tested. The GPT Realtime 2.1 benchmark page breaks down where 2.1 itself struggles (background noise is its weak spot).
Reply time affects cost too, since a slow agent makes callers repeat themselves.
gpt-realtime-2.1 is worth the higher rate if you:
-
Collect data that has to be exact, like IDs, phone numbers, or eligibility details
-
Run multi-step calls with routing, handoffs, or tool calls that can fail
-
Can't afford a caller hanging up and calling back
gpt-realtime-2.1-mini makes sense if you:
-
Run short, scripted flows like booking, rescheduling, or FAQs
-
Have high volume where a few cents a minute adds up fast
-
Can catch failures quickly and route them to a human or the full model
Price Your Voice Agent on the Calls That Succeed
OpenAI Realtime API pricing gives you the cost of a minute. Your budget lives on the cost of a finished task, and the benchmark shows those two numbers can point in opposite directions depending on the call.
The only way to know which model is cheaper for your agent is to run your own scenarios on each one, several times, and count what passes. Doing that by hand, a few test calls at a time, won't tell you whether a model is reliable on the third run or just lucky on the first.
Cekura runs those calls for you, at volume, before a model switch reaches production.
With Cekura, teams can:
-
Run the same caller scenarios against gpt-realtime-2.1, the mini, and any other model, and compare pass rates side by side
-
Repeat every scenario across multiple runs and see which ones pass every time
-
Check that the agent saved the right data, field by field, alongside what it said
-
Replay production calls with the original audio against a new model or prompt before you migrate
-
Monitor live calls for failures, drop-offs, and missed workflow steps after launch
Native integrations cover Retell, Vapi, ElevenLabs, LiveKit, Pipecat, and Bland. Cekura supports SOC 2, HIPAA, and GDPR compliance, covering transcript redaction, role-based access, and audit trails.
When you price a model on successful calls, the January 2027 migration becomes a decision you can back with data.
Book a demo to see what each Realtime model costs per successful call on your own agent.
Frequently Asked Questions
Why Is the OpenAI Realtime API So Expensive?
The OpenAI Realtime API is expensive mainly because it re-bills the whole conversation on every turn.
Audio tokens cost $32 per million in and $64 per million out on gpt-realtime-2.1, and each new Response re-sends the system prompt and all earlier audio. Prompt caching cuts cached audio to $0.40 per million, so long calls without caching cost several times more per minute.
Do You Need to Pay for the OpenAI API?
Yes, for the Realtime API. OpenAI has a free usage tier, but the Realtime models list rate limits only for the paid Build, Launch, and Grow tiers.
Is There an OpenAI Realtime API Pricing Calculator?
No, OpenAI's Realtime cost guide doesn't include a pricing calculator. It recommends running a sample session in the Realtime Playground and reading the token usage under the Logs tab.
You can also log the response.done event in your app, which reports input, cached, and output tokens for every Response.
How Much Does the OpenAI Realtime API Cost per Minute?
The OpenAI Realtime API costs about $0.02 to $0.18 per minute on a five-minute call, depending on the model and caching, and over $0.40 a minute on long calls without caching.
In an illustrative five-minute call, gpt-realtime-2.1 cost $0.066 a minute with prompt caching and $0.18 without, and gpt-realtime-2.1-mini cost $0.021 cached. Longer calls without caching cost more per minute.
Does the Realtime API Charge for Silence?
No, the Realtime API doesn't charge for silence when voice activity detection is on. VAD filters out empty input audio, and OpenAI currently charges nothing for connections or bandwidth. GPT-Live 1 is different: it bills $0.05 per minute for the whole active session, silence included.
