google/gemini-3.8-flash-tts

Google's most expressive text-to-speech model, with line-by-line delivery direction, vocal bursts, two-speaker dialogue, and 130+ languages

75 runs

Readme

Gemini 3.8 Flash TTS

Gemini 3.8 Flash TTS is Google’s text-to-speech model for studio-grade voice work. You can direct the acting line by line, add laughs, sighs, and pauses exactly where you want them, and stage a two-person conversation from a single script. It supports 130 languages and ranks first overall on Hume AI’s Voice Design Benchmark.

Use it for audiobooks, podcasts, games, character voices, regional dialects, and long narration that needs to hold a steady voice.

How it works: cast, direct, speak

Earlier Gemini TTS models had you write long “Audio Profile” and “Director’s Notes” blocks above your script. Sometimes the model read those directions out loud (“Say cheerfully: Hello!”), or the voice drifted over long passages.

Gemini 3.8 TTS keeps the script and the direction apart:

  • Cast (voice): who is speaking. Pick one of 30 studio voices.
  • Direct (style): how the line is delivered, like whispered urgently or bored and monotone.
  • Speak (text): exactly what they say. Everything in text gets spoken, except inline tags in <angle brackets> and backchannels in |pipes|.

Inputs

Input Description Default
text The words to speak, with optional <tags>, |backchannels|, and /IPA/. In two-speaker mode, write one line per turn. (required)
voice Voice for the narrator, or for the first speaker in two-speaker mode. Kore
second_voice Voice for the second speaker. Set it to anything other than none to turn on two-speaker mode. none
style Delivery direction for every line. Leave it empty for natural delivery. empty
output_format wav (24 kHz mono) or mp3. wav

Start with no style

Try your script with an empty style first. Most text needs no direction at all, because the model reads punctuation, context, and the voice’s own character. When you want a bigger performance, a few words of style change the whole read.

Here’s the same line with the Algenib voice (slightly gravelly) and different styles:

I just opened the envelope, and I don’t think you’re going to believe what’s inside.

style Result
(empty) A natural, conversational read
Ecstatic, breathless disbelief, joyful vocal smile Bursting with excitement
Panicked, paranoid whisper, speaking rapidly Hushed and frantic
Utterly defeated, flat monotone, zero energy Drained and flat
Terrified, trembling voice, backing away in fear Shaky and scared

Some other styles worth trying: ASMR, quietly whispered, Composed, formal news anchor trying not to laugh, hushed, reverent wildlife documentary whisper.

Vocal bursts and pauses

Tags in angle brackets make a sound once, at the exact spot you put them. style shapes the whole line, but a tag happens and then it’s over.

  • Breathing: <breath>, <heavy breath>, <exhales>, <pant>, <sigh>
  • Laughter: <laugh>, <chuckle>, <giggle>, <snicker>, <cackle>
  • Reactions: <gasp>, <cough>, <sneeze>, <throat-clearing>, <snort>
  • Sounds: <sob>, <cry>, <whimper>, <groan>, <yawn>
  • Pauses: <short pause>, <long pause>, <tsk>, <argh>
text:  We must stay completely motionless... <breath> The lion is less than four feet away... <gasp> HE'S COMING RIGHT AT US!
voice: Charon

CAPITALS add stress to a word, and ellipses (...) add hesitation. If your text isn’t in English, keep the tags in English anyway.

Custom pronunciation

For tricky names, fantasy words, or acronyms, write the word in the International Phonetic Alphabet between slashes:

text: Let me introduce you to my colleagues /niːv/ and /ʃɪˈvɔːn/.

Two-speaker dialogue

Set second_voice and write each turn on its own line as Name: what they say. Use exactly two names. The first name to appear gets voice, and the second gets second_voice. Both voices stay distinct and hand off turns naturally.

To direct one line, put a style in parentheses after the name: Name (style): what they say. Lines without one use the style input.

Wrap a short reaction (one to three words) in pipes inside one speaker’s line. The other speaker says it in the background while the first keeps talking, so you don’t have to chop sentences into tiny turns.

voice:        Aoede
second_voice: Puck
text: |
  Maya (conspiratorial, storytelling podcast host): So the security guards check the gallery at midnight |uh-huh| and the painting is still hanging right there on the wall.
  Liam (curious, leaning in): Wait, so the motion alarm never went off? |not once| Then how did they get it out of the building?
  Maya (amused, building up to the reveal): <chuckle> They didn't sneak it out at night. |wait, what?| They put on maintenance jumpsuits at nine AM |no way| and carried it right out the front door.

You can also use several pipe blocks to make the two speakers talk over each other or speak in unison:

Joe: Okay, on three |ready| one, two, three— |happy birthday!| happy birthday!
Ann: <laugh> You started early!

Tips

  • Keep style short. A few words beat a paragraph. Long direction blocks make the voice drift.
  • Don’t use style to change who’s speaking. Age, gender, and accent come from the voice, so pick a different voice instead.
  • Write how people talk. Fillers and hesitations (“oh, uh, yeah… hm”) sound more natural.
  • Split long scripts into shorter lines instead of reaching for stronger style prompts.

Voices

Voice Character Voice Character Voice Character
Zephyr Bright Puck Upbeat Charon Informative
Kore Firm Fenrir Excitable Leda Youthful
Orus Firm Aoede Breezy Callirrhoe Easy-going
Autonoe Bright Enceladus Breathy Iapetus Clear
Umbriel Easy-going Algieba Smooth Despina Smooth
Erinome Clear Algenib Gravelly Rasalgethi Informative
Laomedeia Upbeat Achernar Soft Alnilam Firm
Schedar Even Gacrux Mature Pulcherrima Forward
Achird Friendly Zubenelgenubi Casual Vindemiatrix Gentle
Sadachbia Lively Sadaltager Knowledgeable Sulafat Warm

Languages

The model detects the language from your text, so you don’t need to set it. It supports 130 languages, including regional and minority dialects. See Google’s language list.

Upgrading from Gemini 3.1 Flash TTS

If you used google/gemini-3.1-flash-tts:

  • Move direction out of the text and into style. The prompt input is gone.
  • Tags now use angle brackets (<laugh>), not square brackets ([laughing]).
  • language_code is gone, because the model detects the language itself.

Safety

Every clip includes an inaudible SynthID watermark that marks it as AI-generated.

Learn more

Model created
Model updated