> ## AI Agent Context > Get the complete documentation index at: https://aistudio.google.com/llms.txt > Use this file to discover all available pages. > For the full documentation in a single file, fetch: https://aistudio.google.com/llms-full.txt # Gemini 3.8 Flash-Lite TTS 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. {% button href="https://aistudio.google.com?model=gemini-3.8-flash-lite-tts" variant="ais" %}Try in Google AI Studio{% /button %} ## Overview and capabilities {% id="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](/docs/voice-design) personas, and [Voice replication](/docs/voice-replication) (persistent stored voices by default, plus optional stateless keys). You can also design and replicate voices interactively in [Google AI Studio](https://aistudio.google.com/generate-speech). Visit the [Text-to-speech](/docs/speech-generation) guide for full coverage of features, prompting best practices, and code examples. ## When to use which TTS model {% id="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 {% id="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: 1. **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 each `part`. 2. **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 ``, ``, ``, ``, or ``). Put delivery styles like whispering in `speech_metadata.style`. 3. **Specify `speaker` on every turn in multi-speaker requests:** Every turn in a multi-speaker request must explicitly include `speaker` inside `speech_metadata` matching one of the configured speakers. 4. **Design personas upfront with Voice design:** Replace long legacy Audio Profile / Director's Notes blocks with a custom voice created in [Voice design](/docs/voice-design), then carry that `voice_...` ID through your TTS requests with minimal or empty `style` strings. 5. **Account for default WAV (`audio/wav`) output on unary requests:** Unlike `gemini-3.1-flash-tts-preview` and earlier TTS models (which returned headerless raw PCM `audio/l16` by 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 `wave` module or `ffmpeg`), remove the manual header wrapper and write the returned bytes directly to a `.wav` file. * If your pipeline requires headerless raw PCM, mu-law, or A-law audio, explicitly set `response_format.mime_type` to `"audio/l16"`, `"audio/mulaw"`, or `"audio/alaw"` (for example, `{"response_format": {"type": "audio", "mime_type": "audio/l16"}}` in the Interactions API, or `AUDIO_L16`, `AUDIO_MULAW`, or `AUDIO_ALAW` in `generateContent`). See [Audio output formats](/docs/speech-generation#audio-output-formats). ## gemini-3.8-flash-lite-tts {% id="gemini-38-flash-lite-tts" %} {% table variant="model" %} * Property * Description --- * {% section class="model-property" %} {% icon name="id_card" /%}Model code {% /section %} * `gemini-3.8-flash-lite-tts` --- * {% section class="model-property" %} {% icon name="save" /%}Supported data types {% /section %} * **Inputs** Text **Output** Audio --- * {% section class="model-property" %} {% icon name="token_auto" /%}Token limits{% sup %}[[*]](/docs/tokens){% /sup %} {% /section %} * **Input token limit** 8,192 **Output token limit** 16,384 (Gemini API serving limit) --- * {% section class="model-property" %} {% icon name="handyman" /%}Capabilities {% /section %} * {% section class="three-column-grid" %} {% section %} **Audio generation** {% badge type="supported" /%} {% /section %} {% section %} **Batch API** {% badge type="supported" /%} {% /section %} {% section %} **Caching** {% badge type="not-supported" /%} {% /section %} {% section %} **Code execution** {% badge type="not-supported" /%} {% /section %} {% section %} **File search** {% badge type="not-supported" /%} {% /section %} {% section %} **Flex inference** {% badge type="supported" /%} {% /section %} {% section %} **Function calling** {% badge type="not-supported" /%} {% /section %} {% section %} **Grounding with Google Maps** {% badge type="not-supported" /%} {% /section %} {% section %} **Image generation** {% badge type="not-supported" /%} {% /section %} {% section %} **Live API** {% badge type="not-supported" /%} {% /section %} {% section %} **Priority inference** {% badge type="supported" /%} {% /section %} {% section %} **Search grounding** {% badge type="not-supported" /%} {% /section %} {% section %} **Structured outputs** {% badge type="not-supported" /%} {% /section %} {% section %} **Thinking** {% badge type="not-supported" /%} {% /section %} {% section %} **URL context** {% badge type="not-supported" /%} {% /section %} {% /section %} --- * {% section class="model-property" %} {% icon name="123" /%}Versions {% /section %} * Read the [model version patterns](/docs/models#model-versions) for more details. * `gemini-3.8-flash-lite-tts` --- * {% section class="model-property" %} {% icon name="calendar_month" /%}Latest update {% /section %} * September 2026 --- * {% section class="model-property" %} {% icon name="paid" /%}Pricing {% /section %} * [Pricing](/docs/pricing#gemini-3.8-flash-lite-tts) {% /table %} ## Supported languages {% id="supported-languages" %} `gemini-3.8-flash-lite-tts` detects the input language automatically and supports **over 100 languages**: | Language | Language | Language | | :--- | :--- | :--- | | Acehnese (Arab script) | German | Manipuri | | Afrikaans | Greek | Marathi | | Akan | Gujarati | Minangkabau (Arab script) | | Amharic | Haitian Creole | Mizo | | Armenian | Halh Mongolian | Nepali (individual language) | | Assamese | Hausa | Nigerian Fulfulde | | Awadhi | Hebrew | North Azerbaijani | | Balinese | Hindi | Northern Sotho | | Bangla | Hungarian | Northern Uzbek | | Banjar (Latn script) | Icelandic | Norwegian Bokmål | | Basque | Iloko | Norwegian Nynorsk | | Belarusian | Indonesian | Nyanja | | Bhojpuri | Iranian Persian | Odia (individual language) | | Bosnian | Italian | Persian (Afghanistan) | | Buginese | Japanese | Polish | | Bulgarian | Javanese | Portuguese | | Cantonese | Kamba | Punjabi | | Catalan | Kannada | Romanian | | Cebuano | Kashmiri (Arab script) | Russian | | Central Kurdish | Kashmiri (Deva script) | Santali | | Chhattisgarhi | Kazakh | Serbian | | Chinese (Hans script) | Khmer | Sinhala | | Chinese (Hant script) | Kikuyu | Slovak | | Croatian | Kinyarwanda | South Azerbaijani | | Czech | Kongo | Southern Pashto | | Danish | Korean | Spanish | | Dutch | Kyrgyz | Standard Arabic (Arab script) | | Egyptian Arabic | Lao | Standard Arabic (Latn script) | | English | Lingala | Standard Latvian | | Estonian | Macedonian | Standard Malay | | Filipino | Magahi | Tamil | | French | Maithili | Telugu | | Galician | Malayalam | Turkish | | Ganda | Maltese | Vietnamese | | Georgian | — | — |