AI Engineering

Gemini 3.8 Live: the voice model that keeps working while it talks

Google shipped two stable Live API voice models. The Extended Thinking one changes the turn contract: tool calls are async only, and you must poll interaction_status to know when it is idle.

Glowing amber audio waveform flowing from a microphone, with a parallel thread of pale nodes beneath it on a dark grid.
Glowing amber audio waveform flowing from a microphone, with a parallel thread of pale nodes beneath it on a dark grid.

Two stable voice models, one breaking contract

Google published "Introducing Gemini 3.8 Live and 3.8 Live Extended Thinking" on 15 September 2026, authored by Tom Ouyang and Malini Jaganathan. Their framing: "Gemini 3.8 Live and Gemini 3.8 Live Extended Thinking are our most advanced live dialogue models yet." The Gemini API changelog for the same day lists the two new audio-to-audio models: gemini-3.8-live "for low-latency voice agent experiences" and gemini-3.8-live-extended-thinking "featuring background reasoning during live audio interactions."

The headline feature is that the Extended Thinking variant "reasons and speaks simultaneously." In the post's words: "It executes tools and API calls in the background while continuing the conversation, so the model can acknowledge requests and keep chatting while tasks finish in the background." The part that matters to anyone who has shipped a voice agent is buried in the model docs: this is the first Live API model whose contract assumes the model is doing something else while it talks, and your turn-handling code almost certainly assumes the opposite.

Both models are marked Stable, not preview, in the 3.8 Live and 3.8 Live Extended Thinking model pages. They accept text, image, audio and video input, output text and audio, and carry a 131,072-token input limit and a 65,536-token output limit. Function calling and Search grounding are supported; code execution, structured outputs, caching, URL context and the Batch API are not. Both are callable in the Gemini API and Google AI Studio today.

What "turnComplete" used to mean, and what it means now

If you built on gemini-3.1-flash-live, your loop probably treats turnComplete: true as "the model has finished, it is my turn again, safe to run the next thing." Function calls were blocking: the model asked for a tool, went quiet, you ran it, sent the result, and the model resumed speaking. The capabilities doc notes that gemini-3.1-flash-live does not support NON_BLOCKING function calling at all.

The Extended Thinking model throws that away. Per its model page, "Only asynchronous non-blocking execution (behavior: NON_BLOCKING) is supported. Synchronous blocking mode is not supported." And the line that will cause the most bugs: turnComplete: true "no longer indicates that the model is idle." Clients are expected to poll interaction_status and distinguish IN_PROGRESS from IDLE.

A turn ending is now a statement about the audio stream, not about the model's state. The model can finish a sentence, hand you a turn boundary, and still be mid-reasoning or waiting on a tool result it will speak about in a moment. If your client reads that boundary as "idle" and tears down the session, flushes a queue or plays a hold tone, you will interrupt a model that was about to answer.

On plain gemini-3.8-live the change is softer: NON_BLOCKING is the default, but blocking mode still works, and thinking_level is not supported. So the migration has two very different difficulty levels depending on which model you pick.

The loop you have to rewrite

Concretely, swapping gemini-3.1-flash-live for gemini-3.8-live-extended-thinking means changing three things in the agent loop. Sketched as pseudocode, since the exact SDK calls depend on your language:

declare each tool with behavior: NON_BLOCKING

on function_call from model:
    start the tool in the background          # do not pause audio output
    keep streaming model audio to the caller  # it will keep talking
    when the tool finishes, send the result   # model folds it into speech

on turnComplete:
    do NOT assume the model is idle
    check interaction_status
    IN_PROGRESS -> keep the session hot, keep listening
    IDLE        -> now it is genuinely your turn

First, the tool declaration. Every function the Extended Thinking model can call has to be declared non-blocking. That means your tool runner must be genuinely asynchronous: if a backend lookup takes four seconds, the model keeps talking for those four seconds, and your code has to deliver the result into a live conversation rather than a paused one.

Second, the status check. Wherever you previously keyed off turnComplete, you now key off interaction_status. The practical pattern is to treat turn boundaries as barge-in opportunities for the user but not as a signal to change session state, and to gate anything destructive (ending the call, handing off to a human, starting a new topic) on IDLE.

Third, the reasoning budget. The Extended Thinking model's thinking_level accepts low, medium or high, and notably not minimal; the lowest setting is still "some." More reasoning means more latency before the model commits to an answer. The leaderboard number below is reported for the High setting, so copying the leaderboard configuration also copies its latency profile. Start at low for a phone-tree or IVR replacement and move up only where transcripts show the model getting things wrong.

Then there are the session limits that did not change. Per the capabilities doc, audio-only sessions are capped at 15 minutes and audio-plus-video sessions at 2 minutes unless you use session-management techniques, and native audio models get a 128k-token context. A support call that runs long still needs your resumption logic; background reasoning does not buy you a longer session.

Pricing did not move, so the cost is engineering time

The Gemini API pricing page groups Gemini 3.8 Live, 3.8 Live Extended Thinking and 3.1 Flash Live Preview under a single paid-tier table: input at $0.75 per million tokens for text, $3.00 per million or $0.005 per minute for audio, and $1.00 per million or $0.002 per minute for image and video; output at $4.50 per million for text and $12.00 per million or $0.018 per minute for audio. A free tier exists.

Moving from 3.1 Flash Live to either 3.8 model costs nothing extra per minute of audio. What it costs is the rewrite above. If your voice agent spends much of its time waiting on slow backends, the payoff is real: the model can acknowledge a request and keep the caller engaged while the call completes, instead of dead air or a canned hold phrase. If your tools all return in under a second, the async handshake buys you little and plain gemini-3.8-live, with blocking mode still available, is the lower-risk upgrade.

Read the benchmarks the way Google chose them

Google's post cites 82.6 on Artificial Analysis' Speech to Speech Quality Index, 68.6% on τ-Voice and 35.1% on Sierra's τ-Voice-banking agentic benchmarks, 97.7% on Big Bench Audio, and second place on Speech Agent Arena for 3.8 Live. All audio output is watermarked with SynthID.

The Artificial Analysis leaderboard independently confirms the headline: Gemini 3.8 Live Extended Thinking (High) sits at 82.6 and Gemini 3.8 Live at 76.0, ahead of OpenAI's GPT-Realtime-2.1 High at 73.9 and Gemini 3.1 Flash Live High at 71.5. That is a genuine first place on a third-party board, not a self-reported one.

But note what the index is: a "weighted average of Speech Reasoning, Agentic Performance, Arena Preference, and Task Success Rate results." It is a composite, and Google picked it as the lead number. The figure that speaks most directly to the "run tools while talking" use case is the agentic τ-Voice-banking score, and that is 35.1%. Roughly one in three banking-style multi-step tasks completed. If your agent is going to move money, book appointments or change account state, that is the number to build your evaluation around, not the 82.6. The Hacker News thread on the launch mostly argued over whether "thinking" in a voice model is real; the more grounded question is whether 35.1% clears your bar for autonomy. For most production flows it argues for keeping a confirmation step in the loop.

There is a small irony in the timing. On the same day, per Techmeme's roundup of a Business Insider report, Google reversed its internal Gemini-only policy and gave its own engineers quota-limited access to Claude Opus 5 inside the Antigravity IDE, with Google confirming that "Gemini remains the flagship and foundational model for internal development." Coding is where Google's own staff apparently wanted a choice. Voice is the one area where third-party leaderboards currently put Google first.

Availability and what to do this week

Per the launch post, both models are available in the Gemini API and Google AI Studio for developers and in Gemini Enterprise private preview. 3.8 Live also powers Search Live. Extended Thinking is coming to Gemini Enterprise for Customer Experience and to Workspace: Docs for Pro and Ultra subscribers, Gmail and Keep for all subscribers. Hacker News commenters asked when it reaches Vertex and noted that Workspace Business tiers still show older models, so on those platforms the answer today is "not yet."

If you run a voice agent, here is the order of operations that makes sense:

  1. Audit every place your client reads turnComplete. List which of those decisions are about audio (fine) and which are about session state (must move to interaction_status).
  2. Make your tool runner async before you touch the model name. Run your existing tools with behavior: NON_BLOCKING against plain gemini-3.8-live first, where blocking mode is still a fallback if something breaks.
  3. Only then switch the model string to gemini-3.8-live-extended-thinking, start at thinking_level: low, and measure time-to-first-audio against your 3.1 Flash Live baseline.
  4. Write an eval that mirrors your real multi-step tasks and compare against the 35.1% τ-Voice-banking figure rather than the composite score. Keep human confirmation on anything irreversible until your own number is one you would defend.
  5. Check your session-resumption code against the 15-minute audio cap; it is unchanged and will bite long calls exactly as it did before.

The pricing being flat means the experiment is cheap. The contract change means it is not free.

Related reading

Comments (0)

No comments yet. Start the conversation.

Never shown, never emailed — stored only as a hash.