Product Launch · XiaoHu Explains

OpenAI Releases GPT-Realtime-2.1 and GPT-Realtime-2.1-mini Real-Time Voice Models: the mini Model Now Reasons, Latency Down 25%

When calling a tool, the model now says "let me check that" first — no more dead air during a call.
60-Second Rundown
  • OpenAI has simultaneously launched two new Realtime models in the API: gpt-realtime-2.1 and gpt-realtime-2.1-mini, both built for low-latency voice and multimodal scenarios
  • gpt-realtime-2.1-mini is the first reasoning-capable real-time voice model to land in the mini price tier, priced identically to the previous gpt-realtime-mini
  • Reasoning effort is configurable on both models across five levels (minimal / low / medium / high / xhigh), defaulting to low to keep latency down
  • Thanks to caching optimizations, response times for the slowest requests across the entire Realtime voice lineup dropped by at least 25%; for the mini model, cached audio input pricing fell from $10 to $0.30 per million tokens
  • gpt-realtime-2.1 improves on its predecessor in alphanumeric recognition, silence and noise handling, and interruption behavior; the mini's audio output price is roughly a third of the full model's ($20 vs. $64)
Editorial note: this article is a compiled report on OpenAI's official announcement. Pricing, latency improvements, and reasoning capabilities cited here are all figures OpenAI has published, not independently verified by a third party; technical details have been cross-checked against OpenAI's official Realtime API guide.
let me check that
01Launch Overview

What OpenAI Just Shipped

OpenAI has just released two new Realtime models in the API — gpt-realtime-2.1 and gpt-realtime-2.1-mini — both built for low-latency voice and multimodal interaction.

The real headline here is the mini. gpt-realtime-2.1-mini is the first reasoning-capable real-time voice model to land in the mini price tier, priced identically to the previous gpt-realtime-mini. At the same time, response times for the slowest requests across the whole Realtime voice lineup came down too.
Why it matters: reasoning has, for the first time, been pushed down into a mini-tier real-time voice model at the same price as the old one, while the slowest 5% of requests across all Realtime voice models saw at least a 25% drop in response time. Cost-sensitive voice apps can now get reasoning and tool calling without paying more.

Both of these are "listen-and-respond" voice assistant models — part of the Realtime family's conversational-response, tool-calling line. OpenAI separately offers gpt-realtime-translate for simultaneous interpretation and gpt-realtime-whisper for real-time transcription; those are separate models and aren't part of this release.

First, How "Realtime" Actually Works

The Realtime API is built so a single model turns speech it hears directly into speech it speaks. It skips the three-step round trip of "speech to text, generate a text reply, then synthesize speech." This is what's called single-model speech-to-speech. Here's how the two approaches compare.

The old cascaded approach (three handoffs)

Speech → transcribed to text → a text reply is generated → synthesized back into speech. Each handoff has to wait for the previous step to finish, latency stacks up layer by layer, and the speaker's tone and pauses tend to get lost in the transcription step.

Single-model, one pass (what's new here)

One model, speech in and speech out, with no split into three stages. Two fewer handoffs means lower latency, and tone and nuance come through better too.

An analogy

The single-model approach is like two people talking face to face. The three-handoff approach is like saying something while someone next to you writes it down on a note, and another person reads it back aloud — slow, and all the tone gets lost on the paper.

02The Old Problem

Where Voice Assistants Used to Get Stuck

Voice assistants used to stall out whenever they called a tool. The model would go silent right after triggering a function call, the user would assume the call had dropped, then either talk over it or just hang up — breaking the conversation state and leaving the user with a half-finished result they'd have to redo from scratch.

Old approach: silent waiting
UserCan you look up an order from last month?
Assistant(silence — looking it up in the background…)
UserHello? Still there? (assumes it dropped, interrupts)
StatusConversation broken, only a partial result returned
New approach: talk while it works
UserCan you look up an order from last month?
AssistantSure, let me pull up that order for you
Assistant(calling the lookup tool in the background while continuing to talk) Found it — that's the one from June 3rd…
StatusUser knows it's in progress the whole time, no accidental hang-ups
03Core Mechanism

Reasoning Moves Into the Mini Tier — How It Fixes the Silence Problem

This section is the heart of the release: pushing reasoning down into the low-cost mini tier, paired with a "spoken heads-up," is exactly what fixes the dead-air problem from the last section.

What "Reasoning" Means Here

Reasoning means the model thinks through how to handle a request — and whether to call a tool — before it opens its mouth, instead of blurting out whatever comes to mind the instant it hears something. The mini tier now also supports function calling, so it can plan a step ahead, call your function, and then deliver an answer.

Core Innovation

A spoken heads-up turns silence into working-while-talking. The model can say something like "let me check on that" and keep talking while it processes the request in the background. The user hears a voice the whole time and never assumes the call dropped, so multi-step voice tasks stay coherent.

The bigger deal is the price: the mini version gained reasoning, but its pricing is exactly the same as the previous gpt-realtime-mini. Cost-sensitive voice apps can now get reasoning and tool calling for the first time without paying more.

Breaking down a single tool-using exchange, the sequence looks like this:

Hears the request
Internal reasoningfigures out what to do and whether to call a tool
Speaks a heads-up"let me check that"
Calls the tool
States the result

Five Reasoning Levels — Trading Off Latency Against Quality

Reasoning effort is configurable across five levels, from low to high: minimal, low, medium, high, xhigh. Low is the default and keeps latency down for simple exchanges; higher levels mean more latency and more output tokens. OpenAI recommends most production voice assistants start at low and only dial it up for harder tasks.

Higher reasoning effort means more latency and more output tokens. The default, low, balances speed and is the right starting point for most use cases.
minimal
Fastest
low (default)
Starting point
medium
high
xhigh
Slowest, deepest
5 levels
Selectable reasoning effort: minimal / low / medium / high / xhigh, default low
Same price
The mini gained reasoning at the same price as the previous gpt-realtime-mini
04Which to Pick

Choosing Between the Two Models

In short: for the strongest real-time reasoning, tool calling, instruction-following, and voice-assistant behavior, use the full gpt-realtime-2.1; for faster and cheaper with "good enough" capability, use gpt-realtime-2.1-mini.

Dimensiongpt-realtime-2.1 (full)gpt-realtime-2.1-mini
PositioningStrongest real-time reasoning and voice-assistant behaviorFaster, cheaper option
ReasoningYes, adjustable effortYes, mini reasoning model
Tool callingYesYes
Improvements over predecessorBetter alphanumeric recognition, silence/noise handling, interruption behaviorRetains prior mini capabilities, adds reasoning
Audio output price$64 / million tokens$20 / million tokens
Pick it when…You need top-tier reasoning and voice-assistant performanceYou need speed and low cost, and capability is good enough
$20 vs $64
The gap in audio output pricing between mini and full — about 3x, capability traded for cost
Alphanumerics
The full model improved recognition of sequences like "8-3-5-7-1," suited for scenarios needing precise digit capture
05Latency & Cost

25% Lower Latency — How Caching Saves Money

This round's latency improvement comes from caching optimizations. And caching doesn't just save time — it saves a lot of money too.

First, What Is "p95 Latency"

p95 latency is what you get when you line up every request's response time from fastest to slowest and take the value sitting at the 95th percentile. It represents how long the slowest 5% of users actually waited — not the average. For real-time voice, the stutter users actually notice is hiding in that slow tail. Cutting that tail by at least 25% makes a noticeable difference in how responsive a call feels.

An analogy

Say 100 people are waiting in a checkout line. What you actually care about isn't the average wait time — it's how long the 5th-from-last person waited. If they're not complaining, the system is solid.

Why Cache Hits Cut the Price So Much

A cached input hit means this turn of the conversation is continuing from a system prompt or history that's already been processed — the service recognizes "this part's already computed," reuses it instead of recomputing, and the price drops sharply as a result. The system prompt gets cached after the first turn, so the longer the conversation and the more it's reused, the more you save. Here's the gap between cached and fresh pricing for the mini's audio input:

gpt-realtime-2.1-mini audio input, price per million tokens.
Fresh audio input
$10.00
Cached input hit
$0.30
≥25%
Drop in p95 latency across all Realtime voice models, from caching optimizations
$0.30
Mini's cached audio input price, vs. $10.00 for fresh audio input — roughly a 33x gap
06Full Pricing

Full Pricing Across All Three Models

All prices are per million tokens, split into text, audio, and image categories. Click a tab to switch views; the mini column is highlighted.

Audio / per million tokensgpt-realtime-2.12.1-miniPrevious mini
Audio input$32.00$10.00$10.00
Audio cached input$0.40$0.30$0.30
Audio output$64.00$20.00$20.00
The mini's audio output price is roughly a third of the full model's ($20 vs. $64).
Text / per million tokensgpt-realtime-2.12.1-miniPrevious mini
Text input$4.00$0.60$0.60
Text cached input$0.40$0.06$0.06
Text output$24.00$2.40$2.40
The mini's text pricing matches the previous gpt-realtime-mini line for line — the added reasoning didn't raise the price.
Image / per million tokensgpt-realtime-2.12.1-miniPrevious mini
Image input$5.00$0.80$0.80
Image cached input$0.50$0.08$0.08
Across all three categories, every mini line item stays steady at the previous mini's pricing.
07Use Cases

What It's Good For

Four typical scenarios, and how each one puts reasoning, tool calling, and the recognition improvements to work:

Customer support / billing lookups

A user calls in saying a charge looks wrong. The mini uses low-effort reasoning to assess the issue, calls lookup_account first, then check_invoice, narrating progress out loud at each step so the user never thinks the call dropped.

Rescheduling an appointment

A user wants to move their appointment to next Tuesday. The model captures the exact date precisely, confirms it with the user, then calls the reschedule function. Only confirmed values get passed to the tool, avoiding guessed inputs.

In-app voice assistant

A mobile app streams microphone audio over WebRTC. The mini answers product questions in a sentence or two, at low cost, so the feature can run at high concurrency.

Reading back a work-order number on-site

A technician asks the assistant to log a part number. The improved alphanumeric recognition more accurately captures codes like "8-3-5-7-1," and the model reads it back to confirm before acting on it.

08Integration

What Integration Looks Like

The minimal setup looks like this: the server first mints a short-lived client credential (the standard API key stays server-side and never gets exposed), and the browser uses that short-lived credential to connect directly via WebRTC, establishing a microphone track and a data channel to send and receive events.

Server mints a short-lived credentialAPI key stays server-side
Browser initiates a WebRTC offer
Sets up mic track + data channel
Sends and receives audio events in real time

The connection method depends on the scenario: browsers and mobile apps capturing and playing audio directly use WebRTC; servers that already have a raw audio stream (call centers, media pipelines) use WebSocket; phone voice agents use SIP.

Expand for two minimal code snippets (server-side credential minting + browser-side connection)
Server: mint a short-lived client credential (API key stays server-side)
// Server: mint a short-lived client secret
const r = await fetch("https://api.openai.com/v1/realtime/client_secrets", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    session: {
      type: "realtime",
      model: "gpt-realtime-2.1-mini",
      instructions: "You are a support agent. Reply in one or two short sentences.",
      reasoning: { effort: "low" },
      tools: [
        {
          type: "function",
          name: "lookup_account",
          description: "Look up a customer account by email.",
          parameters: {
            type: "object",
            properties: { email: { type: "string" } },
            required: ["email"]
          }
        }
      ],
      tool_choice: "auto"
    }
  })
});
const { value: EPHEMERAL_KEY } = await r.json(); // pass this to the browser
Browser: initiate a WebRTC connection with the short-lived credential
// Browser: connect to the Realtime API over WebRTC
const pc = new RTCPeerConnection();

const audioEl = document.createElement("audio");
audioEl.autoplay = true;
pc.ontrack = (e) => { audioEl.srcObject = e.streams[0]; };

const mic = await navigator.mediaDevices.getUserMedia({ audio: true });
pc.addTrack(mic.getTracks()[0]);

const events = pc.createDataChannel("oai-events");
events.addEventListener("message", (e) => console.log(JSON.parse(e.data)));

const offer = await pc.createOffer();
await pc.setLocalDescription(offer);

const sdp = await fetch("https://api.openai.com/v1/realtime/calls", {
  method: "POST",
  body: offer.sdp,
  headers: {
    Authorization: `Bearer ${EPHEMERAL_KEY}`,
    "Content-Type": "application/sdp"
  }
});
await pc.setRemoteDescription({ type: "answer", sdp: await sdp.text() });

Start with low reasoning effort and only raise it for harder tasks; keep hard rules and defaults separate in your instructions; run an eval before and after any model migration to compare.

This is a full GA endpoint, not a beta. If your app distinguishes between end users, OpenAI recommends adding an OpenAI-Safety-Identifier header to the credential-minting request (e.g., a hash of an internal user ID), so that when the platform monitors for abuse it can pinpoint a specific user instead of mistakenly flagging the whole account.

09Trade-offs

Strengths and Limitations

Per OpenAI's own claims, here's both sides of this release:

Strengths
  • Reasoning pushed down into the low-cost mini tier
  • Priced the same as the previous gpt-realtime-mini — no price hike
  • p95 latency down at least 25% across the whole lineup
  • Five adjustable reasoning levels to trade off latency against depth per task
  • Single-model audio pipeline makes conversation feel more natural
Limitations
  • Audio is billed by token, which is hard to translate into an actual per-call cost
  • Raising reasoning effort increases both latency and output tokens
  • Long sessions that keep resending context without trimming will accumulate input costs
  • The mini tier's capability still trails the full gpt-realtime-2.1
The model can say something like "let me look up that order" and keep talking while it processes the request in the background, keeping multi-step voice tasks coherent. MarkTechPost, by Michal Sutter
Source: MarkTechPost (by Michal Sutter), reported July 6, 2026. Technical details have been cross-checked against OpenAI's official Realtime API guide (developers.openai.com/api/docs/guides/realtime). Pricing, latency improvements, and other figures cited are all from OpenAI's own published claims.