The Realtime API left beta
Generally available for production voice agents for the first time. That is a procurement and support fact rather than a capability one, and for most teams shipping voice it was the actual blocker.
The Realtime API left beta with this generation, which is the part that matters commercially: OpenAI now supports it for production voice agents. Where the previous realtime models were built to sound convincing, 2.1 carries GPT-5-class reasoning and function calling inside the audio loop, so the agent can hold a conversation and do the work at the same time. The cost model is unusual enough to design around before you build.
It shipped as a beta and stayed there through several model generations. Production voice agents were a support-contract conversation rather than a documented path. That changed with this generation, and for anyone who has been holding a voice product behind a beta label, the GA line matters more than the model card.
GPT-Realtime-1.5 was built to sound like a person. 2.1 is built with GPT-5-class reasoning and supports function calling and configurable effort, so it can handle a request that needs a lookup, a decision, and a follow-up question without handing off to a separate text model and back.
Audio input runs $32 per million against $4 for text, and audio output $64 against $24. Audio is also token-dense, so a conversation of a few minutes is not a cheap request. Design the transcript-versus-audio split deliberately rather than sending everything as audio because the API allows it.
Cached input is $0.40 per million for both text and audio, which is 1.25% of the uncached audio rate. A voice agent with a large stable system prompt, a persona, and a tool catalogue re-reads that prefix on every turn. If you do not wire caching properly here, you are paying eighty times more than you need to on the largest part of the bill.
The text flagships sit on April to June 2026 cutoffs. A realtime model nearly two years behind will state stale facts confidently in a voice a caller trusts more than a chat window. Ground anything time-sensitive through tools rather than through the model's memory.
What a team actually has to build around. The comparisons that matter are against the previous realtime generation, and against the alternative architecture of stitching a transcription model, a text model, and a synthesis model together yourself.
| Dimension | vs GPT-Realtime-1.5 | vs a stitched STT + LLM + TTS pipeline |
|---|---|---|
What the agent can do | 1.5 was a premium audio model without reasoning in the loop, so anything that needed a decision meant handing off. 2.1 carries GPT-5-class reasoning and function calling, so a lookup, a decision, and a clarifying question happen inside one session. | A stitched pipeline gives you a stronger text model and free choice of transcription vendor, at the cost of latency at every hop and the loss of prosody, interruption, and overlap. Route by whether the conversation is the product or the transcript is. |
Latency you can ship | Speech to speech in one session removes the transcribe, think, synthesise round trip entirely. This is the reason to use a realtime model at all, and no stitched pipeline gets close on turn latency. | Three network hops and three model warmups per turn is the ceiling on a stitched design. Deepgram Flux Multilingual narrows the gap on the front half by putting end-of-turn detection in the model, at under 300ms median. |
Cost control | Same $32 / $64 audio pricing as gpt-realtime-2. The mini tier at $10 / $20 is the new lever, and it is the right default for scripted or narrow flows that never needed deep reasoning. | A stitched pipeline is usually cheaper on paper: GPT-Transcribe at $0.0045 per minute plus a text model plus TTS. It is also three failure surfaces and three vendors. We price both before choosing, per flow rather than per product. |
Operational surface | The API is GA, so this is now a supported production path rather than a beta you explain to your CTO. Rate limits still start low: 200 RPM and 40,000 TPM at tier 1, which is a real constraint on a launch. | One vendor and one session against three integrations. Against that, a stitched pipeline lets you swap the weakest component without touching the others, which is worth a lot while this category moves monthly. |
We build voice the same way we build everything else: the transport and the model sit behind one interface, so a flow can move from a stitched pipeline to a realtime session, or from the full tier to mini, as a config change with an eval behind it.
Generally available for production voice agents for the first time. That is a procurement and support fact rather than a capability one, and for most teams shipping voice it was the actual blocker.
Where gpt-realtime-1.5 was a premium audio model, 2.1 handles more complicated requests because it reasons before it answers, with configurable effort. Reasoning tokens bill as output at the audio or text rate depending on the modality.
The agent can look something up, book something, or check a record while the caller is still on the line, without breaking the session or dropping to a text model and back. This is what separates a voice agent from a voice demo.
gpt-realtime-2.1-mini runs $10 audio in and $20 audio out, against $32 and $64. Text is $0.60 and $2.40 against $4 and $24. Most production voice traffic is narrower than it looks, and a lot of it belongs here.
The session accepts text, audio, and image input. A support agent that can look at the photo a customer just sent while talking to them is a different product from one that cannot.
Cached input at $0.40 per million on both audio and text. On a voice agent, the system prompt, persona, and tool catalogue are re-read every turn, so this is the difference between a viable unit cost and an alarming one.
The realtime surface is not the Chat Completions surface, and most of the integration pain comes from assuming it is. These are the constraints worth knowing before the first spike.
gpt-realtime-2.1 serves v1/realtime and nothing else. Chat Completions, Responses, Assistants, Batch, and Fine-tuning all reject it. A realtime session is a persistent bidirectional connection rather than a request and response, so your transport, your error handling, and your retry logic are all different code from the rest of your integration.
v1/realtimeAudio input is $32 per million against $4 for text, and audio output $64 against $24. Any cost model that counts tokens without splitting them by modality will be wrong by roughly an order of magnitude. Meter audio and text separately from day one, because retrofitting that split after launch is painful.
audio: $32 in / $64 out · text: $4 in / $24 outAlmost two years behind the current text flagships. In a voice interface a confident wrong answer carries more weight than it does in a chat window, because callers do not scroll back and check. Ground anything time-sensitive with a tool call rather than trusting model memory.
knowledge cutoff: 2024-09-30The same rate for cached audio and cached text, against $32 uncached audio. Structure the session so the stable prefix (system prompt, persona, tool definitions) is cacheable and the variable part comes after it. This is the single highest-leverage thing you can do to the bill.
cached input: $0.40 / 1MTools work inside the live session, and effort is tunable, so you can keep routine turns cheap and raise effort only for the turn that needs a decision. Treat effort as a per-turn setting rather than a session-wide constant.
function_calling · prompt_caching · reasoning effortTier 1 allows 200 RPM, 1,000 RPD, and 40,000 TPM. For a concurrent voice product those numbers arrive faster than they look, because a session holds capacity for its whole duration rather than for the length of a request. Check your tier before a load test, not after.
tier 1: 200 RPM · 1,000 RPD · 40,000 TPMThe limits, the endpoints, and the lines that decide whether this model fits your transport and your budget. Kept here so nobody has to reconstruct it from three vendor pages.
| Model ID | gpt-realtime-2.1 |
|---|---|
| Compact tier | gpt-realtime-2.1-mini, roughly a third of the audio price |
| Context window | 128,000 tokens |
| Max output | 32,000 tokens |
| Knowledge cutoff | 30 September 2024. Older than the text flagships, so ground anything time-sensitive with tools |
| Input | Text, audio, and image |
| Output | Text and audio |
| Endpoint | v1/realtime only. No Chat Completions, no Responses, no Batch |
| Features | Function calling, prompt caching, reasoning tokens with configurable effort |
| Audio pricing | $32 / MTok in, $0.40 / MTok cached in, $64 / MTok out |
| Text pricing | $4 / MTok in, $0.40 / MTok cached in, $24 / MTok out |
| Rate limits, tier 1 | 200 RPM, 1,000 RPD, 40,000 TPM |
| Predecessors | gpt-realtime-2 (same pricing), gpt-realtime-1.5 (prior generation, no reasoning) |
Voice is several different products wearing one word. These are the splits we actually route on.
$32 / $64 audio. Worth it when the conversation itself is the product and the agent has to decide things. Wire caching before you launch.
$10 / $20 audio. Our default until an eval shows the flow genuinely needs the reasoning of the full tier.
$0.0045 per minute, about $0.27 an hour. If nobody is waiting on the words, this is the right model and a realtime session is waste.
$0.034 per minute, more than 70 input languages and 13 output languages. Billed by the minute, so the unit economics are legible before you ship.
Realtime billing splits by modality, which is the part that catches teams out. These are list rates per million tokens.
| Audio input | $32.00 | Eight times the text input rate. Audio is also token-dense. |
|---|---|---|
| Audio output | $64.00 | The most expensive line on the bill for a talkative agent. |
| Cached input | $0.40 | Same rate for audio and text. 1.25% of uncached audio input. |
| Text input | $4.00 | Send text as text wherever the flow allows it. |
| Text output | $24.00 | Reasoning tokens bill here when the turn produces text. |
| Mini tier, audio | $10 / $20 | gpt-realtime-2.1-mini, in and out. Text at $0.60 / $2.40. |
The arithmetic that decides a voice product: a caller speaking for a minute is not a small number of tokens, and both sides of the conversation bill. Before committing, model a representative call end to end at these rates, split by modality, with and without caching. We have seen the cached-versus-uncached difference change a per-call cost by more than the choice of model did, which is why we treat prompt structure as a cost decision rather than a prompt-engineering one.
A September 2024 cutoff behind a confident synthetic voice is a specific risk shape. Callers do not scroll back, do not see citations, and generally cannot tell a grounded answer from a remembered one. Anything time-sensitive, priced, or contractual should come from a tool call, and the prompt should say so explicitly.
Several jurisdictions require callers to be told they are speaking with an automated system, and consent rules for recording vary by state and country. This is a product requirement rather than a legal footnote: it changes the opening line of the call, the consent flow, and what you are allowed to retain.
The failure mode that damages a brand is an agent that will not let a frustrated caller reach a person. Build the escalation path, the trigger conditions, and the context handover first, then build the automation. It is also the cheapest insurance available against a bad launch week.
We have had voice work sitting behind a beta API label for a while, and that label is a real blocker for regulated customers regardless of how good the model is. A supported production path changes what we can responsibly recommend.
Once you actually map a call flow, a large share of the turns are intake, confirmation, and routing. Those belong on the mini tier at a third of the price. We route within a single call rather than picking one model for the whole product.
At $32 per million for uncached audio input and $0.40 cached, prompt structure is a unit-economics decision. We design the stable prefix first, measure the cache-hit ratio in staging, and treat a low ratio as a bug rather than a tuning opportunity.
When the transcript is the product rather than the conversation, GPT-Transcribe at $0.0045 a minute plus a strong text model beats a realtime session on both cost and quality. Realtime is a latency tool. Reaching for it when nobody is waiting is an expensive habit.
OpenAI leads the agent surface, ElevenLabs currently leads word error rate at 2.2%, and Deepgram leads end-of-turn detection at under 300ms median. We build behind an abstraction and route by what the flow is actually sensitive to, because this ranking has changed twice in a year.
Every model we integrate runs through the same operating system. Three pillars, sixteen layers, one Compound Growth Loop. The methodology that keeps AI work from rotting after the first ship.
Read the K-FrameworkDirect API integration with the model. No LangChain, no orchestration vendor, no agent framework built on quicksand. Typed contracts, the same way we wire up Postgres.
An eval suite built from your real tasks gates every prompt and model change. Quality is measured before it ships, not vibed in a demo.
Governance, audit, and oversight wired in from day one. Who called what, with which prompt version, at what cost. Your auditors get answers, not screenshots.
A model in production without observability is roulette. We instrument every integration so engineering and finance can see the same numbers, and so a regression at 3am surfaces before a customer opens a ticket.
Tokens in, tokens out, dollars spent. Sliced by feature, tenant, and route. Budgets enforced where it matters.
Real distributions, not averages. We know which routes are slow, and why.
The same eval suite that gates a release runs continuously in production. A regression on real traffic surfaces fast.
PII scrubbed at the proxy, shipped to your SIEM. Retention controls match your compliance window.
Dashboards your team owns, not ours. At handoff you get the queries, the alerts, and the runbook. We are not in the path to read your metrics.