Gemini 3.8 Flash-Lite TTS (gemini-3.8-flash-lite-tts) is Google's fast,
cost-efficient workhorse text-to-speech model built to replace
gemini-3.1-flash-tts-preview for high-throughput production workloads.
Overview and capabilities
Gemini 3.8 Flash-Lite TTS combines low latency with expressive, natural speech:
- High-throughput efficiency: Optimized for bulk production, conversational voice agent cascades, read-aloud features, and everyday single-speaker speech generation across major languages.
- Drop-in schema compatibility: Shares the exact same API schema and
structured prompting format as
gemini-3.8-flash-tts, allowing you to switch models with a single parameter change. - Full voice ecosystem support: Supports prebuilt voices, the Extended
Voice Library (
GET /v1beta/voices), custom Voice design personas, and Voice replication (persistent stored voices by default, plus optional stateless keys). You can also design and replicate voices interactively in Google AI Studio.
Visit the Text-to-speech guide for full coverage of features, prompting best practices, and code examples.
When to use which TTS model
Both Gemini 3.8 TTS models share the same API schema and prompting structure. Choose the model that fits your workload:
| Feature / workload | Gemini 3.8 Flash-Lite TTS (gemini-3.8-flash-lite-tts) |
Gemini 3.8 Flash TTS (gemini-3.8-flash-tts) |
|---|---|---|
| Primary strength | High throughput, low latency, and cost efficiency | Maximum voice fidelity, acting nuance, and dialect coverage |
| Best use cases | High-volume production, real-time voice agent cascades, read-aloud features, voice replication, everyday single-speaker generation | Audiobooks, studio narration, complex multi-speaker dialogue, heavy vocal-burst acting, difficult pronunciation, regional dialects |
| Supported languages | 101 languages | 130 languages |
| Recommended replacement for | gemini-3.1-flash-tts-preview |
New flagship creative tier |
Migration guide
If you are upgrading from gemini-3.1-flash-tts-preview to
gemini-3.8-flash-lite-tts, update your requests for the Gemini 3.8 TTS schema:
- Move turn-level directions into
speech_metadata: Gemini 3.8 TTS treats input text strictly as a verbatim transcript. Inline text directions like"Say cheerfully: Hello!"or"Speaker 1: Hello!"may be spoken aloud. Move sustained delivery instructions (style) and speaker labels (speaker) into structured metadata:- Interactions API: Attach an annotation with
"type": "speech_metadata","speaker", and"style"to each text content block. - GenerateContent API: Attach
"speech_metadata": {"speaker": "...", "style": "..."}to eachpart.
- Interactions API: Attach an annotation with
- Use angle-bracket inline tags only for point-in-time vocal events: Keep
momentary non-speech vocalizations and pauses inline in the transcript using
angle brackets (such as
<laugh>,<sigh>,<cough>,<breath>, or<short pause>). Put delivery styles like whispering inspeech_metadata.style. - Specify
speakeron every turn in multi-speaker requests: Every turn in a multi-speaker request must explicitly includespeakerinsidespeech_metadatamatching one of the configured speakers. - Design personas upfront with Voice design: Replace long legacy Audio
Profile / Director's Notes blocks with a custom voice created in
Voice design, then carry that
voice_...ID through your TTS requests with minimal or emptystylestrings. - Account for default WAV (
audio/wav) output on unary requests: Unlikegemini-3.1-flash-tts-previewand earlier TTS models (which returned headerless raw PCMaudio/l16by default), Gemini 3.8 TTS returns WAV audio (audio/wav/AUDIO_WAV) with a standard RIFF header by default for unary requests.- If your code previously wrapped raw PCM bytes in a WAV header (for
example, using Python's
wavemodule orffmpeg), remove the manual header wrapper and write the returned bytes directly to a.wavfile. - If your pipeline requires headerless raw PCM, mu-law, or A-law audio,
explicitly set
response_formatto"audio/l16"("AUDIO_L16"),"audio/mulaw"("AUDIO_MULAW"), or"audio/alaw"("AUDIO_ALAW"). See Audio output formats.
- If your code previously wrapped raw PCM bytes in a WAV header (for
example, using Python's
gemini-3.8-flash-lite-tts
| Property | Description |
|---|---|
| Model code | gemini-3.8-flash-lite-tts |
| Supported data types |
Inputs Text Output Audio |
| Token limits[*] |
Input token limit 8,192 Output token limit 16,384 |
| Capabilities | Supported Supported Not supported Not supported Not supported Not supported Not supported Not supported Not supported Not supported Not supported Not supported |
| Consumption options |
Supported Supported Supported |
| Versions |
|
| Latest update | July 2026 |
Supported languages
gemini-3.8-flash-lite-tts detects the input language automatically and
supports 101 languages:
| Language | Language | Language |
|---|---|---|
| Acehnese (Arab script) | Georgian | Maltese |
| Afrikaans | German | Manipuri |
| Akan | Greek | Marathi |
| Amharic | Gujarati | Minangkabau (Arab script) |
| Armenian | Haitian Creole | Mizo |
| Assamese | Halh Mongolian | Nepali (individual language) |
| Awadhi | Hausa | Nigerian Fulfulde |
| Balinese | Hebrew | North Azerbaijani |
| Bangla | Hindi | Northern Sotho |
| Banjar (Latn script) | Hungarian | Northern Uzbek |
| Basque | Icelandic | Norwegian Bokmål |
| Belarusian | Iloko | Norwegian Nynorsk |
| Bhojpuri | Indonesian | Nyanja |
| Bosnian | Iranian Persian | Odia (individual language) |
| Buginese | Italian | Persian (Afghanistan) |
| Bulgarian | Japanese | Polish |
| Cantonese | Javanese | Portuguese |
| Catalan | Kamba | Punjabi |
| Cebuano | Kannada | Romanian |
| Central Kurdish | Kashmiri (Arab script) | Russian |
| Chhattisgarhi | Kashmiri (Deva script) | Santali |
| Chinese (Hans script) | Kazakh | Serbian |
| Chinese (Hant script) | Khmer | Sinhala |
| Croatian | Kikuyu | Slovak |
| Czech | Kinyarwanda | South Azerbaijani |
| Danish | Kongo | Southern Pashto |
| Dutch | Korean | Spanish |
| Egyptian Arabic | Kyrgyz | Standard Arabic (Arab script) |
| English | Lao | Standard Arabic (Latn script) |
| Estonian | Lingala | Standard Latvian |
| Filipino | Macedonian | Standard Malay |
| French | Magahi | Tamil |
| Galician | Maithili | Telugu |
| Ganda | Malayalam | — |