Skip to content

Gemini 3.8 Live Guide: Extended Thinking Hands-On

Gemini 3.8 Live and 3.8 Live Extended Thinking just dropped. Hands-on setup, the interaction_status gotcha, pricing traps, and when to skip Extended Thinking.

6 min readBeginner

Forget “smarter voice.” Pick the right latency budget

Most takes on Gemini 3.8 Live and 3.8 Live Extended Thinking treat “more reasoning in the call” as an automatic win. I don’t. For voice agents, extra thinking is a tax you pay in tokens, state-machine complexity, and the risk of stale tool results after an interrupt. These models shipped September 15, 2026. The interesting choice isn’t whether to use them – it’s which endpoint and when.

Gemini 3.8 Live is the low-latency default for dialogue and background tools without reasoning delays. Extended Thinking keeps talking while it plans multi-step work and fires async tools, with fillers like “Let me check that…”. Same Live API surface. Very different client logic.

Quick context: what actually shipped

Both are native audio-to-audio models (not cascaded ASR→LLM→TTS), per Google’s announcement. Inputs: audio, images, video, text. Outputs: audio and text. API model pages list 131,072 input / 65,536 output tokens (the model card rounds to ~128K / 64K). Knowledge cutoff there: January 2025. SynthID watermarks generated audio. Mid-call switch across 97 languages is the claimed ceiling.

82.6 on Artificial Analysis’ Speech to Speech Quality Index put Extended Thinking at #1 on that board – plus 68.6% τ-Voice and 35.1% on Sierra’s τ-Voice-banking. Live still ranks high on preference arenas. That is the leaderboard story. Your product voice is a separate decision.

Rollout split: Live powers Search Live; Extended Thinking shows up in Gemini Live and, on subscriber tiers (AI Pro/Ultra and similar), Docs / Gmail / Keep Live. Builders get Gemini API + AI Studio now; enterprise is private preview.

Hands-on: Gemini 3.8 Live and Extended Thinking in the API

Skip the chess demos. Minimal path that matches current docs:

1. Connect to Live (default model)

import asyncio
from google import genai

client = genai.Client(api_key="YOUR_API_KEY")
model = "gemini-3.8-live"
config = {"response_modalities": ["AUDIO"]}

async def main():
 async with client.aio.live.connect(model=model, config=config) as session:
 await session.send_realtime_input(text="Give me a 10-second status update style.")
 async for response in session.receive():
 # play response.server_content.model_turn audio parts
 pass

asyncio.run(main())

Audio in: raw 16-bit PCM, 16 kHz, little-endian. Out: 24 kHz PCM chunks. Video frames as JPEG/PNG, roughly 1 fps max. Use the explicit audio / video / text keys – don’t jam a generic media blob into realtime input.

2. Flip to Extended Thinking

Swap the model string. Add thinking config and non-blocking tools. The Thinking in the Live API guide is blunt about the contract:

from google.genai import types

model = "gemini-3.8-live-extended-thinking"

search_flights = types.FunctionDeclaration(
 name="search_flights",
 description="Searches flights to a destination.",
 behavior="NON_BLOCKING",
 parameters={
 "type": "OBJECT",
 "properties": {"destination": {"type": "STRING"}},
 "required": ["destination"],
 },
)

config = types.LiveConnectConfig(
 response_modalities=["AUDIO"],
 thinking_config=types.ThinkingConfig(thinking_level="medium"),
 tools=[types.Tool(function_declarations=[search_flights])],
)

thinking_level accepts low, medium, or high only – MINIMAL errors. On plain gemini-3.8-live, omit thinking_level entirely or setup fails. Every function declaration on Extended must set behavior: "NON_BLOCKING"; BLOCKING returns a hard error. Regular Live still allows both.

3. Drive UI off interaction_status, not turnComplete

This is the bulk of the real work. Extended Thinking can finish a spoken filler (turnComplete: true) while tools and reasoning keep running. Clients that treat turnComplete as “ready for the next user turn” interrupt mid-reasoning or drop tool results.

  • interaction_status: "IN_PROGRESS" – still reasoning or waiting on tools; keep listening.
  • interaction_status: "IDLE" – whole task done; safe to show “listening”.

Tool path is familiar: run locally, send_tool_response with matching ids. Wire the mic and “assistant busy” affordances to interaction_status, nothing else.

Pro tip: Prototype in Google AI Studio Live with both model toggles. Confirm fillers and status transitions before you build a custom WebSocket client.

Common pitfalls to avoid

  1. turnComplete ≠ session idle on Extended Thinking. Open the mic too early and you race the model. Gate on IDLE only (see above).
  2. Camera left open. Default turn coverage is TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO – frames ride along whenever activity is detected. Image/video input is about $0.002/min (or $1.00 per 1M tokens) as of the Sept 2026 pricing page. Send frames only when visual grounding matters.
  3. Blind 3.1 Flash Live config paste. Migration notes on the gemini-3.8-live model page: drop thinking_level on base Live, strip affective-dialogue flags, and accept proactive audio permanently on (setting it false errors). Async NON_BLOCKING is the Live default now.
  4. Stale tools after interrupt. User says Friday, then Saturday; a late flight payload can still arrive. Protocol keeps in-session work with limited cancel visibility. Tag tool results with the current task id and discard mismatches.

Performance and what the numbers mean for you

By the leaderboard numbers, Extended Thinking leads speech-to-speech quality and agentic voice benches. Live is the scale and cost play. Paid audio (as of Sept 2026): about $0.005/min in and $0.018/min out – or $3.00 / $12.00 per 1M audio tokens. Text: $0.75 in / $4.50 out. Output pricing includes thinking tokens, so thinking_level=high quietly raises the bill. Free tier is free of charge under product-improvement terms.

Is an 82.6 speech index worth the higher reasoning bill on every trivial turn? That’s the trade you’re actually buying.

When NOT to use Extended Thinking (or Live at all)

Default to plain gemini-3.8-live for triage bots, language practice, smart-home commands, and tools that return in milliseconds. Extended Thinking earns its keep only when multi-step planning or multi-second tools would otherwise create dead air – support diagnostics, booking flows, STEM tutoring with verification steps.

Batch text jobs and long offline analysis? Wrong API surface. Live is for realtime turns, not document pipelines.

FAQ

What’s the difference between Gemini 3.8 Live and 3.8 Live Extended Thinking?

Live = low-latency dialogue; tools may be blocking or non-blocking. Extended = background reasoning, mandatory async tools, spoken fillers, and an interaction_status lifecycle. Same audio pipe – heavier client.

How much does a real session cost?

Five-minute mostly-audio call on Live: ballpark cents if both sides talk (input ~$0.005/min, output ~$0.018/min). Add Extended Thinking and you pay reasoning tokens on the output side; leave the camera hot and you add ~$0.002/min video whether you cared about frames or not. Meter a pilot week before you lock high on a chatty agent.

Can I still use my old 3.1 Flash Live client?

Yes, after mandatory edits: model string → gemini-3.8-live (or the Extended id), strip thinking_config on base Live, mark tools NON_BLOCKING if you move to Extended, stop disabling proactive audio. Full checklist is on the model page linked in pitfalls. If you only need simple turns and hate state machines, stay on Live – don’t move to Extended just because the name sounds bigger.

Open AI Studio Live, run one multi-tool prompt on each model, and watch the status fields. That five-minute test beats another benchmark screenshot.