Voice AI just got reasoning.
The latency bill stayed the same.
On July 6, 2026, OpenAI added a new voice model, gpt-realtime-2.1, and a lighter gpt-realtime-2.1-mini, to the Realtime API (general availability followed on July 9). The headline change: reasoning effort is now tunable across five levels (minimal/low/medium/high/xhigh), and at the default "low" tier, p95 latency dropped by at least 25% across OpenAI's Realtime voice models. That's a direct answer to the complaint that had followed gpt-realtime-2 since May: turning reasoning on made responses noticeably slower.
"Reasoning means slower"
is no longer a given
Reasoning on a voice model isn't new this time. What changed is how the tax gets charged.
OpenAI first brought GPT-5-class reasoning to voice with gpt-realtime-2, shipped May 7, 2026. Agents could suddenly follow multi-step requests, but turning reasoning on came with a visible latency hit — and in real-time conversation, that hit shows up as an unnatural pause.
Announced July 6 and generally available July 9, gpt-realtime-2.1 attacks that exact problem. Per OpenAI's announcement, improved caching across the Realtime voice lineup cut p95 latency by at least 25%. On top of that, reasoning strength is now a parameter — reasoning.effort — selectable across minimal / low / medium / high / xhigh, with low as the default. The upgrade isn't "reasoning off"; it's "keep a light reasoning pass on, and get the latency back."
| gpt-realtime-2 (May) | gpt-realtime-2.1 (July) |
|---|---|
| Reasoning is close to an on/off switch | reasoning.effort set explicitly across 5 levels |
| Reasoning on tends to slow replies | p95 latency down 25%+ at default low |
| Weak spots: alphanumerics, interruptions | Improved alphanumeric recognition, silence/noise handling, interruption behavior |
| mini has no reasoning | mini now reasons, priced at the same rate as before |
reasoning.effort:
a new dial, not a switch
Instead of an on/off choice, you now pick a strength per turn.
What matters for engineers is that effort can be switched per session, even per turn. Per OpenAI's model documentation, sending reasoning.effort in a session.update call changes the level starting on the very next turn. That means routine small talk can stay on low, while the one moment a call needs a multi-step tool lookup, you dial up to medium or higher — without swapping models.
gpt-realtime-2.1-mini got the same reasoning upgrade. Pricing stayed at $0.60/$2.40 per million text input/output tokens and $10/$20 per million audio input/output tokens — the same rate as the previous mini, with reasoning added on top. Quality goes up without a cost increase, which is a quietly significant change.
Three steps to migrate
an existing voice agent
Swapping the model ID isn't the whole job — you should redesign around effort tiers too.
Switch the model ID
In your Realtime session config, change model from gpt-realtime / gpt-realtime-2 to gpt-realtime-2.1 (or gpt-realtime-2.1-mini), and set reasoning.effort explicitly. It defaults to low if unset, but stating it makes later tuning easier.
Measure at low, escalate only where needed
Run production traffic on low first and measure real p95/p99 latency. Reserve session.update bumps to medium or higher for the turns that actually need precision — order lookups, multi-tool requests — as a hybrid policy.
Track cost by effort tier
Audio token pricing is $32/$64 per million input/output tokens for gpt-realtime-2.1, and $10/$20 for mini. Higher effort also means more output tokens, so split your cost dashboard by effort level — otherwise a quality tweak can turn into a surprise bill.
Where this actually pays off
Not every voice UI benefits equally. The gain is largest where you need both precision and speed.
Support IVR reading back order numbers
gpt-realtime-2.1 improves alphanumeric recognition plus silence/noise and interruption handling. Fewer "can you repeat that number" moments directly shortens average handle time per call.
Multi-tool lookups mid-call
Function calling can run mid-conversation without pausing the flow, so agents can check inventory or a reservation system while the caller keeps talking. Pair it with medium/high effort for requests with awkward phrasing or branching conditions.
Better quality at the same cost
If a high-volume, low-cost flow already runs on mini, switching to gpt-realtime-2.1-mini gets reasoning at no price increase. Start there, confirm the gain, then widen where the flagship model gets used.
Voice AI wasn't slow because it was smart.
It was slow because caching had unfinished homework.
Don't over-read it: push effort up,
and the old trade-off returns
Worth stressing: "reasoning with no latency cost" holds only for the default low tier. OpenAI's own community announcement states plainly that higher effort increases both latency and output-token usage. Dial up to medium, high, or xhigh, and you're back in the same speed-versus-precision trade-off gpt-realtime-2 had in May. The honest framing isn't "the trade-off is gone" — it's "the default point moved to the fast side."
Second, the p95 -25% figure and the alphanumeric-recognition improvements are OpenAI's own reported benchmarks; independent third-party verification hasn't caught up yet. Before shipping to production, measure p95/p99 on your own conversation logs and confirm cost-versus-quality per effort tier yourself. And because the gains lean on Realtime-API-specific mechanics — reasoning.effort, the caching behavior behind it — leaning further in also raises the switching cost to a different voice provider later.