Skip to content

Agents and multimodal systemsGuide

Gemini preview TTS and Live ids shut down Nov 17: what to move

Five Gemini preview audio model ids are listed for shutdown on November 17, 2026. This guide names them, shows what changes in the Gemini 3.8 replacements, and lays out a test, canary and fallback plan for the days left.

By INFRO Editorial

Published

10 min read

A glowing autonomous agent core coordinating tools, memory, and multiple AI model routes

In short

Google lists five preview ids (three TTS, two Live) for shutdown on Nov 17, 2026, with gemini-3.8-flash-tts, gemini-3.8-flash-lite-tts and gemini-3.8-live as replacements.1 The swap is not a string change: the TTS request schema, default audio format and Live session options all differ.43

Key takeaways

  • Five ids are listed for shutdown on Nov 17, 2026: gemini-3.1-flash-tts-preview, gemini-2.5-flash-preview-tts, gemini-2.5-pro-preview-tts, gemini-3.1-flash-live-preview and gemini-2.5-flash-native-audio-preview-12-2025.
  • The dates are Google's earliest possible shutdown dates, so plan to be off these ids before Nov 17, not on it.
  • Gemini 3.8 TTS treats input as a verbatim transcript and returns WAV by default, so direction text and manual WAV headers will break.
  • Gemini 3.8 Live drops thinking_level and affective dialogue, always enables proactive audio, and makes function calling non-blocking by default.
  • Voice ids do not carry across vendors, so the safest fallback for TTS is the other Gemini 3.8 TTS model, with a cascade as the fallback for Live.

Which ids stop working on Nov 17

Google's deprecations page lists five audio-related preview ids with a shutdown date of November 17, 2026.1 The page is explicit that listed dates are the earliest possible dates and that the exact date is communicated with advance notice.1 With 17 days left from today (Oct 31), assume the ids may fail on the 17th and plan to be done before it.

Retiring idKindRecommended replacement
gemini-3.1-flash-tts-previewTTSgemini-3.8-flash-tts or gemini-3.8-flash-lite-tts
gemini-2.5-flash-preview-ttsTTSgemini-3.8-flash-tts or gemini-3.8-flash-lite-tts
gemini-2.5-pro-preview-ttsTTSgemini-3.8-flash-tts or gemini-3.8-flash-lite-tts
gemini-3.1-flash-live-previewLivegemini-3.8-live
gemini-2.5-flash-native-audio-preview-12-2025Livegemini-3.8-live
Preview ids listed for Nov 17, 2026 shutdown and Google's recommended replacements.

All of this comes from the deprecations table.1 Two things are easy to miss:

  • Other preview Live ids in the same table are already past their dates (gemini-live-2.5-flash-preview and gemini-2.0-flash-live-001 show December 9, 2025), so a config that still names them is already broken rather than about to break.1
  • gemini-3.5-live-translate-preview is a preview Live id too, but the table shows no shutdown date announced for it.1 It is not part of this deadline, though a preview id with no date can still get one.

Search your code, your environment variables, your feature-flag values and your vendor dashboards for each of the five strings. Voice-agent frameworks such as LiveKit or Pipecat often carry the model id in a config file rather than in code, so grep configuration as well as source.

Pick the replacement: three ids, three jobs

Google's release notes describe the September 22 launch of two GA TTS models: gemini-3.8-flash-tts, the flagship creative model, and gemini-3.8-flash-lite-tts, "built to replace gemini-3.1-flash-tts-preview for high-throughput production and real-time voice agent cascades."2 gemini-3.8-live is the Live replacement, described on its model page as the default for most low-latency voice agents.3

Propertygemini-3.8-flash-ttsgemini-3.8-flash-lite-ttsgemini-3.8-live
RoleMaximum fidelity, acting, dialectsThroughput, latency, cost efficiencyReal-time voice dialogue
Languages13010170 supported languages (Live API)
Input limit8,192 tokens8,192 tokens131,072 tokens
Output limit16,384 (serving limit)16,384 (serving limit)65,536 tokens
Live APINot supportedNot supportedSupported
How the three replacements differ on the points Google documents.

The figures come from the Flash TTS, Flash-Lite TTS and 3.8 Live model pages, and the Live overview for the 70-language figure.4536

For TTS the choice is workload-driven. Google positions Flash TTS for audiobooks, studio narration, multi-speaker dialogue, heavy vocal-burst acting and regional dialects; Flash-Lite TTS for high-volume production, real-time agent cascades, read-aloud features and everyday single-speaker generation.4 A phone agent reading short replies belongs on Flash-Lite unless a listening test says the fidelity gap matters. If you used gemini-2.5-pro-preview-tts for quality reasons, test Flash TTS first; Google does not say which 3.8 model matches the old Pro preview, only that either is the recommended replacement.1

Both models share the same API schema, so switching between them is a one-parameter change.5 That matters for the fallback plan below.

Voices

Both 3.8 TTS models support prebuilt voices, the Extended Voice Library served from GET /v1beta/voices, custom Voice design personas and Voice replication, with persistent stored voices by default plus optional stateless keys.4 Google suggests replacing long "Audio Profile / Director's Notes" prompt blocks with a persona created in Voice design, then carrying the voice_... id through requests with minimal or empty style strings.4

What to check:

  1. Prebuilt voice names you use today. The speech guide's examples use the prebuilt voice Kore.7 Confirm each voice you ship still exists on the 3.8 models and listen to it; Google's pages do not promise the same voice sounds identical across model generations, and I did not find a statement either way.
  2. Language coverage. If you serve a language that is among Flash's 130 but not Flash-Lite's 101, Flash-Lite may not be an option for it.4 The pages I read do not list which languages differ, so test each language you serve.
  3. Replicated voices. Voice replication is listed for both models.5 Run a consent and quality check again on the new model rather than assuming the stored voice behaves the same.

What breaks in the TTS request

Google's migration notes for the 3.8 TTS models are the part most likely to cause a silent regression, because the old request still returns a 200 with the wrong audio.4

  • Input is a verbatim transcript. Inline direction such as "Say cheerfully: Hello!" or "Speaker 1: Hello!" may be spoken aloud. Delivery and speaker labels move into speech_metadata (style, speaker).4
  • Inline tags are for events only. Angle-bracket tags such as <laugh>, <sigh>, <breath> or <short pause> stay in the text; whispering and similar styles belong in speech_metadata.style.4
  • Every multi-speaker turn names its speaker in speech_metadata, matching a configured speaker.4
  • Default output is WAV with a RIFF header on unary requests, where gemini-3.1-flash-tts-preview and earlier returned headerless raw PCM (audio/l16).4 If your code wraps PCM in a WAV header, you will now produce a corrupted file with a double header. If a telephony pipeline needs raw PCM, mu-law or A-law, set response_format.mime_type explicitly.4

A minimal request in the shape Google documents:

tts_cutover.py
import base64
from google import genai

client = genai.Client()

def speak(text: str, style: str, model: str = "gemini-3.8-flash-lite-tts") -> bytes:
    interaction = client.interactions.create(
        model=model,
        input=[{
            "type": "user_input",
            "content": [{
                "type": "text",
                "text": text,  # verbatim transcript only, no "Say cheerfully:"
                "annotations": [{"type": "speech_metadata", "style": style}],
            }],
        }],
        # telephony: ask for headerless PCM or mu-law explicitly
        response_format={"type": "audio", "mime_type": "audio/l16"},
        generation_config={"speech_config": [{"voice": "Kore"}]},
    )
    return base64.b64decode(interaction.output_audio.data)

The guide requires google-genai >= 2.25.0 for Python or @google/genai >= 2.24.0 for JavaScript, so check your lockfile too.7

What breaks in the Live session

The gemini-3.8-live page lists what changes when you come from gemini-3.1-flash-live-preview:3

  • thinking_level is not supported. Remove thinking_level and thinking_config from session setup. If you rely on configurable reasoning depth, the separate gemini-3.8-live-extended-thinking model takes thinkingLevel of low, medium or high; minimal is not supported there.8
  • Function calling is non-blocking by default (behavior: NON_BLOCKING). Set behavior: BLOCKING on a tool declaration to keep the old sequential behavior. Scheduling modes SILENT, WHEN_IDLE and INTERRUPTED are supported.3
  • send_client_content works for the whole session with explicit user or model roles, and turn_complete=true unconditionally interrupts active generation.3
  • Proactive audio is permanently on. Setting proactive_audio: false returns an error.3
  • Affective dialogue is removed. Delete any enable_affective_dialog setting.3
  • Turn coverage defaults to TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO. Video frames go to the model by default, so send frames only when needed to control context and cost.3
  • Audio is the supported response modality. Enable output audio transcription if your app needs text.3
  • With async reasoning active, turnComplete: true does not mean idle. Check interaction_status (IN_PROGRESS versus IDLE) for that case.8

Two of these are likely hard failures: Google says proactive_audio: false returns an error, and thinking_level is documented as unsupported, so remove both before the first test. The removed affective dialogue flag is also documented as something to delete.3

Audio formats did not change in anything I read: input is 16-bit PCM at 16 kHz, output is 16-bit PCM at 24 kHz, over a stateful WebSocket.6

Session limits

Google's session-management guide states these limits in general terms: without compression, audio-only sessions last 15 minutes and audio-video sessions 2 minutes; a connection lasts about 10 minutes; context window compression extends a session without a time limit; and session resumption lets one session continue over multiple connections, with resumption tokens valid for 2 hours after the last session termination.9 A GoAway message arrives before the connection ends.9 The guide's examples use gemini-3.8-live.9

I did not find a per-model table of session limits in the pages I read, so I cannot tell you whether the numbers differ from the preview models. Do not assume they match. Put it in the test plan: run a 20-minute audio call and a 3-minute video call, with and without compression, and record where each one ends. In code, enable both mechanisms:

live_config.py
from google.genai import types

config = types.LiveConnectConfig(
    response_modalities=["AUDIO"],
    # no thinking_level / thinking_config on gemini-3.8-live
    context_window_compression=types.ContextWindowCompressionConfig(
        sliding_window=types.SlidingWindow(),
    ),
    session_resumption=types.SessionResumptionConfig(handle=previous_handle),
)

Store each new_handle from SessionResumptionUpdate messages against the call, and reconnect with it when GoAway arrives or the socket drops.9

Price: what I could confirm

I could not confirm per-unit rates for the three replacements. The pricing page text available to me stopped before the Live and TTS sections, and the 3.8 Live model page only links to a pricing section.3 I am not going to quote numbers from memory.

What to do instead: open the pricing section for each of the three models, copy the list rates into your own sheet, and compare against what your current preview ids cost per call. Voice agents bill by audio units that differ from text tokens, so measure cost per finished call from your own request log rather than extrapolating from a rate card. If you hold negotiated terms with Google, use those. Also note that Live sessions send video frames to the model by default on 3.8, which can change cost if you stream camera input.3

Test plan, with dates

Today is Oct 31 and the earliest shutdown is Nov 17. A schedule that leaves a buffer:

  1. Oct 31 to Nov 3: inventory. List every call site and config for the five ids, by service and environment. Record call volume per id for the last 14 days so you know what the canary share means.
  2. Nov 3 to Nov 8: offline tests. Run your recorded prompts through the new ids. For TTS: transcript fidelity (does the audio say exactly the text, with no spoken directions), file validity (one RIFF header, correct sample rate), voice and language coverage, time to first audio. For Live: setup succeeds, tool calls with non-blocking behavior, barge-in, transcript completeness, the long-session test above, and reconnection through resumption.
  3. Nov 9 to Nov 10: staging soak with real clients, including the telephony or WebRTC bridge that touches the audio.
  4. Nov 10 to Nov 13: canary. Move a small share of live traffic, then widen it if error rate, latency and call-completion rate hold.
  5. Nov 14: finish the move. Everything left on a retiring id goes now.
  6. Nov 15 to Nov 16: freeze and watch. No other changes; confirm that no traffic still names a retiring id.

Fallback routes

Plan the fallback before the cutover, not during an incident.

TTS. The most reliable fallback is the other Gemini 3.8 TTS model. They share a schema and voice ecosystem, so Flash-Lite can fall back to Flash and the reverse, changing only the model parameter.5 Cross-vendor fallback is harder: voice ids are vendor-specific and not portable, so a voice that exists on one vendor does not exist on another.10 If you add a second vendor, pick its closest voice in advance, listen to it, and accept that callers will hear a different voice during a failover.

Live. gemini-3.8-live and gemini-3.8-live-extended-thinking differ in function-calling support (extended thinking supports only non-blocking calls and no scheduling), so one is not a drop-in fallback for the other without testing your tools.8 The structural fallback is a cascade: speech-to-text, a text model, and gemini-3.8-flash-lite-tts, which Google positions for real-time voice agent cascades.2 The deprecations page lists gemini-3.5-transcribe-live and gemini-3.5-transcribe for speech-to-text, with no shutdown date announced.1 The cascade has higher latency and loses native audio behaviors such as barge-in handled inside the model, so decide in advance when your orchestrator flips to it: for example, when session setup fails twice in a row, or on a 5xx before the first audio.

Where a gateway helps, and where it doesn't

INFRO's documented speech endpoint is POST /v1/audio/speech, served for Google AI (Gemini) connections among others; for Google it produces wav or pcm, and a format a target cannot make is refused before the call so the next route target is tried.10 Routing and failover can move a TTS request from gemini-3.8-flash-lite-tts to gemini-3.8-flash-tts on your own Google connection when the first times out or returns a 5xx before the response starts. INFRO's model retirement tracking records Google's shutdown dates, warns organizations still sending a retiring id, and from the shutdown date refuses it before any provider call, naming the replacement. That turns a vendor-side failure into a clear error you can alert on, though it does not replace migrating. The endpoint list in INFRO's docs does not include a realtime WebSocket endpoint, so Live API sessions still connect to Google directly; the request log and usage figures apply to what goes through the gateway.10 See the INFRO docs (opens in a new tab) and the audio and speech page (opens in a new tab).

Checklist for the last two weeks

  • All five retiring ids found in code, config, flags and vendor dashboards.
  • Each TTS call uses speech_metadata; no spoken directions in the input text.
  • WAV header wrapping removed, or audio/l16, audio/mulaw or audio/alaw set explicitly.
  • thinking_level, thinking_config, proactive_audio: false and affective dialogue settings removed from Live setup.
  • Tool declarations have behavior set deliberately (BLOCKING or NON_BLOCKING).
  • Context window compression and session resumption enabled and tested past 15 minutes.
  • Voices and languages verified per model; rates copied from the pricing page into your cost sheet.
  • Fallback path tested by forcing the primary to fail.
  • Zero traffic on retiring ids by Nov 16.

Questions readers ask

Will the old ids keep answering until the last minute of Nov 17?
Google's page calls the listed dates the earliest possible shutdown dates and says the exact date is communicated with advance notice.1 Treat Nov 17 as the day they may be gone, and finish before it.
Do the Gemini 3.8 TTS models work inside a Live API session?
No. Both model pages list the Live API as not supported for the TTS models.45 Live speech comes from a Live model; TTS models are called as separate requests.

From the team that builds it

Where this shows up in INFRO

INFRO is a control plane in front of the provider accounts you already hold. The capabilities below are the parts of it this article touches, each with the documentation that defines its behaviour.

  • Model retirements

    Available with a plan

    INFRO records each vendor's model deprecations and shutdown dates, warns organizations still sending a retiring model, and from the shutdown date refuses it before any provider call, naming the replacement.

  • Deprecation and maintenance notices in the console

    Available with a plan

    Catalog model deprecations, maintenance windows and product changes appear under the bell in the console, with each deprecated model's retirement date, its successor and what in your organization still uses it, and are emailed to owners and admins.

  • Image, video, and audio

    Available with a plan

    One request shape per modality across every model, with video and long audio running as async jobs.

    Read the documentation for Image, video, and audio
  • Health-aware routing

    Available with a plan

    Named routes use priority or weighted targets over your own connections, with health checks, retries and failover.

    Read the documentation for Health-aware routing
  • Automatic failover

    Available with a plan

    A route that times out or 5xxs before the response starts is retried elsewhere without your client seeing it.

    Read the documentation for Automatic failover
  • Usage and cost per request

    Available with a plan

    Every request records its model, latency, token or unit counts, and estimated provider cost, queryable by project and key.

    Read the documentation for Usage and cost per request
  • Cost estimates before a request

    Available with a plan

    Ask what a request would cost on your own provider account before you make it: per image with resolution and quality tiers, per second of video, per character of speech, per token of text.

    Read the documentation for Cost estimates before a request
  • Console playground

    Available with a plan

    Run text, image, video, speech and transcription on one of your connections or through a gateway key, and copy the call as cURL. The Playground's history stays in your browser.

INFRO accounts are self-serve. Provider usage is billed to you by your providers; INFRO charges a software subscription and takes 0% of model spend. See plans.

Sources

Numbered in order of first citation. Each was opened and checked against the claim on the date shown.

  1. 1.Gemini deprecations (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  2. 2.Release notes (Gemini API) (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  3. 3.Gemini 3.8 Live (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  4. 4.Gemini 3.8 Flash TTS (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  5. 5.Gemini 3.8 Flash-Lite TTS (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  6. 6.Gemini Live API overview (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  7. 7.Text-to-speech generation (TTS) (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  8. 8.Live API capabilities guide (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  9. 9.Session management with Live API (opens in a new tab) — Google AI for Developers. Accessed Oct 31, 2026.
  10. 10.Audio & speech (opens in a new tab) — INFRO Docs. Accessed Oct 31, 2026.

About this article

Read on 2026-10-31: Google's Gemini deprecations page, release notes, Live API overview, capabilities and session-management guides, the model pages for Gemini 3.8 Live, Flash TTS and Flash-Lite TTS, the TTS guide, and INFRO's audio docs. The pricing page text was cut off before the Live and TTS sections, so no replacement rates are quoted; session limits are given as Google states them, without a per-model comparison.

Last checked against its sources on . The next review is due by . No separate named reviewer is recorded for this article.

How articles are written, sourced and corrected is set out in the editorial standards.