Gemini Live and TTS Preview Models Retire November 17: Moving to Gemini 3.8 Live and 3.8 Flash TTS

TL;DR
The Gemini API shuts down two Live API preview models and three TTS preview models on November 17, 2026. Replacement ids, what changes in the session config and TTS request, prices before and after, and the code change.
Last updated: October 18, 2026
On Tuesday, November 17, 2026, the Gemini API shuts down five voice models at once. Two are Live API models: gemini-3.1-flash-live-preview and gemini-2.5-flash-native-audio-preview-12-2025. Three are text-to-speech models: gemini-2.5-flash-preview-tts, gemini-2.5-pro-preview-tts and gemini-3.1-flash-tts-preview. Google names gemini-3.8-live as the replacement for the first two, and gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts for the other three. That is 30 days from today.
This post covers what happens on the date, which surface it applies to, what changes in a Live API session and a TTS request, what the replacements cost, and the code change. Everything below was checked against Google's own docs on October 18, 2026. Where the docs disagree with each other or say nothing, we say so.
The date, and what happens on it#
From Google's Gemini deprecations page (last updated October 12, 2026):
| Model id | Type | Released | Shutdown | Google's replacement |
|---|---|---|---|---|
gemini-3.1-flash-live-preview | Live API | Mar 11, 2026 | Nov 17, 2026 | gemini-3.8-live |
gemini-2.5-flash-native-audio-preview-12-2025 | Live API | Dec 12, 2025 | Nov 17, 2026 | gemini-3.8-live |
gemini-2.5-flash-preview-tts | TTS | May 20, 2025 | Nov 17, 2026 | gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts |
gemini-2.5-pro-preview-tts | TTS | May 20, 2025 | Nov 17, 2026 | gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts |
gemini-3.1-flash-tts-preview | TTS | Feb 26, 2026 | Nov 17, 2026 | gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts |
The same page defines the term: once a model is shut down, "it is completely turned off, and the endpoint is no longer available." It also calls the listed dates the "announced earliest shutdown dates", so November 17 is the first day it can happen, not a soft target.
There is no automatic redirect. Compare the same page's entries for gemini-3.7-flash and gemini-3.5-flash, which say the endpoint "automatically routes API requests" to a newer model. None of the five voice rows say that. No time of day or time zone is given, so treat Monday, November 16 as your deadline.
We could not find a release-notes entry announcing these five shutdowns. The Gemini API changelog records the launches of the replacements (3.8 Live on September 15, the 3.8 TTS models on September 22), but the dates themselves only appear on the deprecations page.
Which surface: Gemini API, not Vertex AI#
November 17 applies to the Gemini API at generativelanguage.googleapis.com, the one you call with an AI Studio key. It does not come from Google Cloud, and Google Cloud's ids and dates are different:
| Surface | Model | Retirement | Source |
|---|---|---|---|
| Gemini API | The five ids above | Nov 17, 2026 | Gemini deprecations |
| Vertex AI (Gemini Enterprise Agent Platform) | gemini-live-2.5-flash-native-audio | Dec 13, 2026 | Model versions and lifecycle |
| Vertex AI | gemini-3.8-live | "September 25, 2027 or later" | Same page |
| Cloud Text-to-Speech | gemini-2.5-flash-tts, gemini-2.5-pro-tts, gemini-3.1-flash-tts-preview, gemini-2.5-flash-lite-preview-tts | None listed | Gemini-TTS |
Three things to notice. Vertex's native audio Live model has a different id (gemini-live-2.5-flash-native-audio, no -preview-12-2025 suffix) and nearly a month more runway, to December 13; its lifecycle row leaves the replacement column empty. None of the five Gemini API ids appear on the Vertex lifecycle page at all. And Cloud Text-to-Speech serves a model with the identical name gemini-3.1-flash-tts-preview, with no retirement date on its page as of October 18. Same string, different product, different schedule.
Vertex's own model page carries the footnote that explains the split: its dates "refer to retirement of support in Gemini Enterprise Agent Platform. Models may remain accessible through the Gemini API after these dates have passed. The Gemini API is not a Google Cloud offering and is subject to its own terms of service." It cuts both ways: the Gemini API date is not a Vertex date either. Our Gemini API deprecations page and Vertex AI deprecations page track the two separately. If your Vertex date is the one that matters, the Vertex AI shutdowns post covers that surface.
Live API: moving to gemini-3.8-live#
gemini-3.8-live went GA on September 15. Its model page lists it as Stable, with a 131,072-token input limit and 65,536-token output limit. The 2.5 native audio model's page lists 131,072 in and 8,192 out, so 2.5 callers gain output headroom. Our Gemini 3.8 Live launch post covers what the model is for. Google also ships gemini-3.8-live-extended-thinking, but it is not the named replacement, and it behaves differently (below).
The model page has a migration list written for gemini-3.1-flash-live-preview callers. Every item is a behaviour change, not just a rename:
- Thinking: "
thinking_levelis not supported forgemini-3.8-live. Omitthinking_level(orthinking_config) from your session setup." On 3.1 Flash Live it defaulted tominimal. - Function calling is now async by default. "Async execution (
behavior: NON_BLOCKING) is now the default function calling mode." 3.1 Flash Live only did sequential calls ("The model will not start responding until you've sent the tool response"). To keep that behaviour, setbehavior: BLOCKINGon the tool declaration. Function scheduling (SILENT,WHEN_IDLE, interrupt) is supported. - Proactive audio: "now permanently enabled. Setting
proactive_audio: falsereturns an error." - Affective dialogue: "removed from the API. Remove any
enable_affective_dialogconfigurations from your code." - Turn coverage: defaults to
TURN_INCLUDES_AUDIO_ACTIVITY_AND_ALL_VIDEO, so "video frames are sent to the model by default, so only send frames when needed to manage context and cost." - Client content:
send_client_contentworks for the whole session with explicituserormodelroles, and "settingturn_complete=trueunconditionally interrupts active model generation." - Response modality: audio only. If you need text, turn on output audio transcription.
What stays the same, per the capabilities guide: audio in is raw 16-bit little-endian PCM at 16 kHz (other rates are resampled if you set audio/pcm;rate=...), audio out is 16-bit PCM at 24 kHz, the voice is still set through speech_config, and native audio models choose the language themselves. Session limits are not model-specific on the session management page: audio-only sessions are limited to 15 minutes and audio plus video to 2 minutes without compression, a connection lasts "around 10 minutes", and resumption tokens are "valid for 2 hr after the last sessions termination". The 128k context window for native audio models also carries over.
If you are on the 2.5 native audio model, Google publishes no migration list from it. The capabilities guide's comparison table only covers 3.8 Live, 3.8 Live Extended Thinking and 3.1 Flash Live. The checklist above is the safest starting point: the tool use guide lists "Gemini 2.5 Flash Live Preview" with both synchronous and asynchronous function calling, so async may not be new to you, but the default flipping to non-blocking still is.
Where the docs disagree#
- The capabilities guide still documents affective dialog (
enable_affective_dialogwithv1beta) and proactive audio without saying which models support them. The 3.8 Live model page says affective dialog is removed and proactive audio is always on. Follow the model page. - The tool use guide has not been updated for 3.8 Live. Its model table only lists 3.1 Flash Live and 2.5 Flash Live, and it still says "Function calling executes sequentially by default", which is no longer true on
gemini-3.8-live. - The 3.8 Live page spells the scheduling value
INTERRUPTED. The tool use guide and thegoogle-genaiPython SDK (2.31.0, which we checked) useINTERRUPT. UseINTERRUPT. - The docs say setting
proactive_audio: falseerrors. They do not say whether sendingproactive_audio: trueis accepted or rejected. Remove the field to be safe.
Extended Thinking is not a drop-in#
If you set thinking_level on 3.1 Flash Live because you wanted deeper reasoning, gemini-3.8-live-extended-thinking is where that setting still works, but the comparison table lists real differences: thinking_level accepts low, medium or high (no minimal); only NON_BLOCKING functions are supported, with no blocking mode and no scheduling; and when asynchronous reasoning is active, turnComplete: true "does not indicate an idle session", so you check interaction_status (IN_PROGRESS versus IDLE) instead.
TTS: moving to gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts#
Both 3.8 TTS models went GA on September 22. Google gives two replacements and tells you which to pick. From the 3.8 Flash TTS model page and the 3.8 Flash-Lite TTS model page:
gemini-3.8-flash-tts | gemini-3.8-flash-lite-tts | |
|---|---|---|
| Google's description | "flagship creative text-to-speech model" | "fast, cost-efficient workhorse" |
| Best for (per Google) | Audiobooks, studio narration, complex multi-speaker dialogue, regional dialects | High-volume production, voice agent cascades, read-aloud, everyday single-speaker speech |
| Languages | Over 130 | Over 100 |
| "Recommended replacement for" | "New flagship creative tier" | gemini-3.1-flash-tts-preview |
| Token limits | 8,192 in, 16,384 out | 8,192 in, 16,384 out |
| Batch, Flex, Priority | Supported | Supported |
Both share "the exact same API schema", so switching between them is one string. The token limits match the retiring 2.5 TTS models. Our deprecations tracker records gemini-3.8-flash-tts as the default replacement because it is the first id Google lists for all three rows, but for gemini-3.1-flash-tts-preview Google's own model pages point at Flash-Lite. If you came from 2.5 Pro TTS for quality, start with 3.8 Flash TTS; if you came from 2.5 Flash TTS or 3.1 Flash TTS for cost or latency, start with Flash-Lite. Either way, listen before you ship.
What changes in the request, from the TTS guide's migration section:
- The text is now read verbatim. Gemini 3.8 TTS "treats input text strictly as a verbatim transcript". Inline directions like "Say cheerfully: Hello!" or "Speaker 1: Hello!" "may be spoken aloud". Move delivery into
speech_metadata.styleand speaker labels intospeech_metadata.speakeron each part. - Multi-speaker turns are structured. Pass one part per turn with
speech_metadata.speaker, and every turn must name a configured speaker. Single-request multi-speaker still supports up to 2 speakers using prebuilt voices. - Inline tags use angle brackets for momentary sounds and pauses (
<laugh>,<sigh>,<short pause>). Google says to avoid sound-effect tags. - Unary output is now WAV, not raw PCM. Earlier TTS models "returned headerless raw PCM
audio/l16by default". 3.8 returns WAV with a standard RIFF header (24 kHz, mono, 16-bit). If you wrapped raw PCM in a WAV header yourself, remove that step or you will write a file with two headers. Streaming still returns headerless PCM chunks by default. - Long "Audio Profile" prompts are discouraged. Google recommends creating a persona once with Voice design and passing its
voice_...id, and calls long carried-over style blocks "the most common cause of voice drift".
Voices: the guide lists 30 prebuilt voices (Kore, Puck, Charon, Zephyr and so on) and does not flag any of them as new or removed for 3.8, but confirm the one you use is on the list. New with 3.8 are an Extended Voice Library (client.voices.list(), needs google-genai 2.25.0+ or @google/genai 2.24.0+), Voice design and Voice replication. Stored custom voices are capped at 200 per project and expire after a year without use. The two 3.8 models are the only ones the guide lists with Voice design and Voice replication.
New output formats: you can request AUDIO_L16, AUDIO_MULAW or AUDIO_ALAW and a sample rate of 24000, 16000 or 8000 Hz, which matters for telephony. One catch: on generateContent this override "is supported using the REST API while Python and JavaScript SDK support for response_format on GenerateContentConfig is pending". We confirmed google-genai 2.31.0 rejects the field. In the SDKs today, use the Interactions API (response_format={"type": "audio", "mime_type": "audio/l16"}) or REST.
Two more things the docs leave open. The TTS guide's supported-models table lists 3.1 Flash TTS Preview and 2.5 Pro Preview TTS as still working but omits gemini-2.5-flash-preview-tts, even though its model page and price row are still live; do not read that as an early shutdown, the deprecations page still says November 17. And Google's current single-speaker sample sets the voice as voice_config: {"voice": "Kore"}, while its multi-speaker sample and the Live API still use prebuilt_voice_config: {"voice_name": ...}. The Python SDK accepts both shapes, but the docs do not say whether 3.8 TTS still accepts the older one for a single speaker. Test it, or switch to the form in the sample.
Prices before and after#
All figures are Gemini API paid tier, Standard, per million tokens, from the pricing page on October 18, 2026.
Live API#
| Model | Text in | Audio in | Image/video in | Text out | Audio out |
|---|---|---|---|---|---|
gemini-2.5-flash-native-audio-preview-12-2025 (retiring) | $0.50 | $3.00 | $3.00 (listed as audio / video) | $2.00 | $12.00 |
gemini-3.1-flash-live-preview (retiring) | $0.75 | $3.00 | $1.00 | $4.50 | $12.00 |
gemini-3.8-live | $0.75 | $3.00 | $1.00 | $4.50 | $12.00 |
3.1 Flash Live and 3.8 Live share one price row, so that move costs nothing extra. Google also lists the per-minute equivalents: $0.005 per minute of audio in and $0.018 per minute of audio out. From 2.5 native audio, audio pricing is unchanged, video input gets cheaper, and text gets dearer: 1.5x on input and 2.25x on output. Output prices include thinking tokens. All three have a free tier; see our Gemini free API tier page for the limits.
TTS#
| Model | Text in | Audio out | Audio out per minute (our math) |
|---|---|---|---|
gemini-2.5-flash-preview-tts (retiring) | $0.50 | $10.00 | $0.015 |
gemini-2.5-pro-preview-tts (retiring) | $1.00 | $20.00 | $0.030 |
gemini-3.1-flash-tts-preview (retiring) | $1.00 | $20.00 | $0.030 |
gemini-3.8-flash-tts, through Dec 31, 2026 | $0.50 | $9.00 | $0.0135 |
gemini-3.8-flash-tts, from Jan 1, 2027 | $1.00 | $18.00 | $0.027 |
gemini-3.8-flash-lite-tts, through Dec 31, 2026 | $0.50 | $6.00 | $0.009 |
gemini-3.8-flash-lite-tts, from Jan 1, 2027 | $1.00 | $12.00 | $0.018 |
The per-minute column uses the pricing page's own rate of "25 tokens per second of audio" (1,500 tokens a minute). The page itself quotes 3.8 Flash TTS at "$0.00225 per 10s audio" this year, which matches.
The 3.8 prices double on January 1, 2027, and the Gemini API pricing page does not say why. Plan against the 2027 numbers. On those:
- From 2.5 Flash TTS: 3.8 Flash-Lite TTS costs 1.2x on audio output and 2x on text input. 3.8 Flash TTS costs 1.8x on output. Until December 31, both cost less than 2.5 Flash TTS on audio output and the same on text input.
- From 2.5 Pro TTS or 3.1 Flash TTS: both replacements are cheaper even after January, by 10% (Flash TTS) or 40% (Flash-Lite) on audio output, with the same $1.00 text input.
Batch and Flex are half of Standard for both 3.8 TTS models (3.8 Flash TTS Batch is $0.25 in and $4.50 out this year). 2.5 Pro Preview TTS has no free tier; both 3.8 TTS models do. The full Google lineup with prices is on our Google provider hub, and the TTS API comparison puts Gemini next to other providers.
The code change#
All of this happens in Google's native SDKs. Our Gemini API compatibility page lists the endpoints Google's OpenAI-compatible layer documents, and neither Live nor speech generation is among them.
Live API#
This is Google's Python sample from the Live API SDK guide, which already targets the new 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:
print("Session started")
# Send content...
if __name__ == "__main__":
asyncio.run(main())
For a 3.1 Flash Live or 2.5 native audio caller, the model string is the smallest part of the diff. The session config loses the settings 3.8 Live rejects or ignores, and gains output transcription if you were reading text replies. The keys below are the ones Google's capabilities guide uses; we checked they validate against LiveConnectConfig in google-genai 2.31.0:
-model = "gemini-3.1-flash-live-preview"
+model = "gemini-3.8-live"
config = {
"response_modalities": ["AUDIO"],
- "thinking_config": {"thinking_level": "minimal"},
- "enable_affective_dialog": True,
- "proactivity": {"proactive_audio": False},
+ "output_audio_transcription": {},
}
Then decide, per tool, whether the model may keep talking while it runs. Google's tool use guide declares behaviour on the function itself; this is its snippet with the value set to keep the old sequential behaviour:
turn_off_the_lights = {"name": "turn_off_the_lights", "behavior": "BLOCKING"}
Leave read-only lookups non-blocking and mark anything that must finish before the model answers (a payment, a booking) as BLOCKING. Your tool-response loop does not change: Google's sample still builds types.FunctionResponse(name=fc.name, id=fc.id, response={"result": result}) and sends it with session.send_tool_response.
TTS#
This is Google's current single-speaker sample for generateContent from the TTS guide:
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.8-flash-tts",
contents=[{
"role": "user",
"parts": [{
"text": "Have a wonderful day!",
"speech_metadata": {"style": "cheerful and friendly"},
}],
}],
config={
"response_modalities": ["AUDIO"],
"speech_config": {
"voice_config": {"voice": "Kore"}
},
},
)
data = response.candidates[0].content.parts[0].inline_data.data
with open("out.wav", "wb") as f:
f.write(data)
The change from the old pattern Google's migration guide describes, where the direction lived inside the text, looks like this:
response = client.models.generate_content(
- model="gemini-2.5-flash-preview-tts",
- contents="Say cheerfully: Have a wonderful day!",
+ model="gemini-3.8-flash-tts",
+ contents=[{
+ "role": "user",
+ "parts": [{
+ "text": "Have a wonderful day!",
+ "speech_metadata": {"style": "cheerful and friendly"},
+ }],
+ }],
And note the last three lines of the sample: the bytes are written straight to out.wav. If your old code passed the returned PCM through Python's wave module or ffmpeg to add a header, delete that step. To swap to Flash-Lite, change only the model string to gemini-3.8-flash-lite-tts.
Google marks the Interactions API version of the same guide as "Recommended". It uses client.interactions.create(...) with the text in input, the style as a speech_metadata annotation, and generation_config={"speech_config": [{"voice": "Kore"}]}. You do not have to move to it for this deadline, but it is the only SDK path to the telephony output formats today.
Checklist before November 16#
- Find the strings. Search code, config and prompt registries for
gemini-3.1-flash-live-preview,gemini-2.5-flash-native-audio-preview-12-2025,gemini-2.5-flash-preview-tts,gemini-2.5-pro-preview-ttsandgemini-3.1-flash-tts-preview. Include client-side code that opens Live sessions with ephemeral tokens. - Confirm the surface. AI Studio key and
generativelanguage.googleapis.com: November 17 applies. Vertexgemini-live-2.5-flash-native-audio: December 13. Cloud Text-to-Speech: no date listed. - Live sessions: switch to
gemini-3.8-live, deletethinking_config,enable_affective_dialogand anyproactive_audiosetting, addoutput_audio_transcriptionif you need text, and limit video frames now that all video counts toward the turn. - Live tools: mark each function
BLOCKINGor leave it non-blocking on purpose, and test a barge-in while a tool is running. - TTS: pick Flash TTS or Flash-Lite TTS per workload, move stage directions and speaker labels into
speech_metadata, convert multi-speaker scripts to one part per turn, and remove manual WAV header code. - Telephony audio: if you need mu-law or A-law, use REST or the Interactions API until the SDKs support
response_formatongenerateContent. - Listen and budget. A/B the new voices on your real scripts, and model costs at the January 1, 2027 TTS prices, not this year's.
FAQ#
When do the Gemini TTS preview models shut down?#
gemini-2.5-flash-preview-tts, gemini-2.5-pro-preview-tts and gemini-3.1-flash-tts-preview shut down on the Gemini API on November 17, 2026, per Google's deprecations page on October 18, 2026. Google names gemini-3.8-flash-tts or gemini-3.8-flash-lite-tts as replacements.
What replaces gemini-2.5-flash-native-audio-preview-12-2025?#
gemini-3.8-live, for both it and gemini-3.1-flash-live-preview. Both shut down on November 17, 2026. Requests are not redirected; the endpoint is turned off.
Does Vertex AI retire the same models on November 17?#
No. Vertex's Live model has a different id, gemini-live-2.5-flash-native-audio, and retires on December 13, 2026. The five Gemini API ids are not on Vertex's lifecycle page, and Cloud Text-to-Speech lists no retirement date for its Gemini TTS models.
Is gemini-3.8-live more expensive than gemini-3.1-flash-live-preview?#
No. They share one price row: $0.75 text input, $3.00 audio input, $4.50 text output and $12.00 audio output per million tokens. Coming from the 2.5 native audio model, text input and output cost more and audio is unchanged.
Do I need to change my TTS code, or just the model name?#
Both. Gemini 3.8 TTS reads input text verbatim, so style directions belong in speech_metadata, and unary requests now return a WAV file instead of raw PCM. Google's migration guide lists five changes.
Continue Reading#
- AI Model Shutdown Dates 2026-2027: Calendar and Migration Plan - every provider's dates by month, including the December 13 Vertex Live retirement
- Vertex AI Shutdowns This Week: Gemini 2.5 on October 20, 16 Open Models on October 21 - the Google Cloud side of the Gemini lifecycle
- Gemini 3.8 Live and 3.8 Live Extended Thinking - what the replacement Live models are built for, with benchmarks
- Best TTS APIs for Developers in 2026 - how Gemini TTS compares with other speech APIs if you are re-evaluating anyway
- OpenAI Realtime Voice API: Getting Started Guide - the competing WebSocket voice API, for comparison
Sources#
All accessed October 18, 2026.
- Gemini deprecations - the five shutdown dates, replacements, shutdown definition, auto-routing comparison
- Gemini 3.8 Live model page - limits, capabilities, migration list from 3.1 Flash Live
- Live API capabilities guide - model comparison table, audio formats, voice config, transcription, Extended Thinking behaviour, context window
- Live API session management - session and connection limits, resumption token lifetime
- Live API tool use - function behaviour and scheduling snippets, per-model tool table
- Get started with the Live API using the GenAI SDK - Python connection sample and tool-response loop
- Gemini 2.5 Flash native audio model page and Gemini 3.1 Flash Live Preview model page - limits of the retiring Live models
- Text-to-speech (generateContent) - TTS sample, migration guide, output formats, SDK
response_formatnote, supported models - Text-to-speech (Interactions API) - recommended API, SDK versions, audio format details
- Gemini 3.8 Flash TTS and Gemini 3.8 Flash-Lite TTS model pages - limits, languages, which model replaces what
- Gemini 2.5 Flash Preview TTS and Gemini 2.5 Pro Preview TTS model pages - limits of the retiring TTS models
- Gemini API pricing - every price above, audio token rate, free tier availability
- Gemini API release notes - 3.8 Live and 3.8 TTS launch dates
- Vertex AI model versions and lifecycle - Vertex Live retirement dates
- Gemini 2.5 Flash with Gemini Live API on Vertex AI - Vertex model id, December 13 date, Gemini API footnote
- Cloud Text-to-Speech Gemini-TTS - Gemini TTS model ids on Google Cloud
Get the next deep dive like this in your inbox
One email a week on google and the rest of the AI dev stack. Free.
Read next
AI Model Shutdown Dates 2026-2027: Calendar and Migration Plan
Every scheduled AI model API shutdown through mid 2027 by month: GPT-4o on Jan 14, whisper-1 on Feb 26, Claude Sonnet 4.5 on Nov 30, plus how to migrate.
17 min readVertex AI Shutdowns This Week: Gemini 2.5 on October 20, 16 Open Models on October 21
Google Cloud retires Gemini 2.5 Pro, Flash and Flash-Lite on Vertex AI on October 20, 2026, and 16 open MaaS models the next day. Replacement ids, prices, and the code change.
11 min readGemini 3.8 Live and 3.8 Live Extended Thinking: Google's Audio-to-Audio Voice Models, Benchmarked and Priced
Gemini 3.8 Live and 3.8 Live Extended Thinking are Google's audio-to-audio voice models with background tool calls. Benchmarks, pricing and how to build.
8 min readNew here? Start with
Technical content at the intersection of AI and development. Building with AI agents, Claude Code, and modern dev tools - then showing you exactly how it works.








