Gemini 3.1 Flash TTS Text to Speech for Directed Voiceovers

Last verified: October 29, 2026

Gemini 3.1 Flash TTS works best on scripts that need a performance and not just a read: audiobook passages, explainers, character lines and localized voiceovers. It takes direction on style, accent, pacing and expressivity in more than 70 languages. Here the prompt box holds up to 40,000 characters, so a full voice brief and the script it controls fit in one place. That lets you direct Gemini 3.1 Flash TTS text to speech line by line, so the whole file doesn't have to share one tone.

You give direction in the same text as the words. Natural-language commands in the input steer the speech in fine detail, and audio tags change vocal style, pace and delivery at the exact point you put them. In practice, you fix a take by editing the script. If a line comes out wrong, rewrite its direction and generate again. You don't re-record or edit audio.

The form comes down to three choices: what you write in the Text box, which preset Gemini voice reads it, and whether Language names the script's language or lets the model detect it. Most of the work is in the first choice, and the sections below show how to write it well.

Explore more text to speech

Capability Snapshot

Gemini 3.1 Flash TTS at a glance

What goes into each run and what comes back.

Input

A text prompt of up to 40,000 characters

Voice

30 options

Language

88 options

Output

1 audio per run

How do you make Gemini 3.1 Flash TTS sound natural?

Brief the voice like a director

Before the first spoken line, give the model three things. An Audio Profile sets the persona: identity, archetype and traits such as age or background. A Scene sets the physical environment and the emotional mood. Director's Notes give precise guidance on style, accent and pace. Write all three at the top of the Text box and put the transcript after them. Describe each part concretely instead of with one adjective. A persona with a job, a setting and a reason to speak leaves far less to chance than the word 'calm'.

Describe the accent in the notes, not with Language

Accents should come from the style prompt, not the language setting, so switching Language between regional entries is not how you get one. Write the accent into your Director's Notes and be specific: an accent tied to one city or district, like the one heard in Croydon, England, works better than a broad country label. Use Language to name the script's language and let the notes handle the regional sound.

Pace the lines that need to land

Use [slow] or [fast] to change the speed of delivery, and [short pause] or [long pause] to space out information or give a dramatic beat time to land. Put each tag where the change should begin. Slow the step a learner has to follow in a tutorial, or hold a long pause before the reveal in a trailer, and leave the rest at a natural pace so the contrast is noticeable.

How do you use Gemini 3.1 Flash TTS?

Four steps from a written script to a downloaded audio take.

Choosing between this generator and the Gemini API

Both run Gemini 3.1 Flash TTS; the difference is how you set up a run and what you do with the audio.

Getting a first take You write the script in the Text box, pick a voice and a language from menus, and click Generate, with no code or project setup. Calling the model through the Gemini API means writing a request that sets audio as the response type and names a prebuilt voice in the speech configuration. Creators who want a voiceover without writing code should use the form, and developers building speech into their own product are better served by the API.
Handling the audio Each run ends with an audio result that you download straight from the generator. The Gemini API returns the speech as encoded audio data inside the response, and your own code decodes it, writes it to a file or plays it back. Choose the form when you need a file for an edit, and the API when your own pipeline has to generate and store the audio without a manual download.
Choosing the language The Language menu starts on Auto, which detects the language from the text, and also lets you set a specific language and region. In the Gemini API the language code is optional, and if you leave it out the model detects the language from the prompt. Both detect the language automatically, so the deciding factor is workflow: the menu suits switching languages by hand between takes, and the API suits setting a language code for each request in code.
Use this generator when you want a directed voiceover file made by hand; move to the Gemini API when speech generation has to run inside your own software.

Common Gemini 3.1 Flash TTS problems and fixes

The failures that come up most often with directed scripts, and what to change before the next run.

It reads my style notes out loud, or the run gets rejected

This is a known constraint of the model. A vague prompt can fail its speech-synthesis classifier, which then either rejects the request or treats your style instructions as lines to speak. Rework the Text box so it opens with a clear preamble, such as an instruction to synthesize speech for the performance that follows, with the Audio Profile and Director's Notes next. Then put a clear label like TRANSCRIPT right before the words that should be spoken, so the boundary isn't ambiguous. Generate again after restructuring.

The voice drifts or sounds different partway through a long narration

Speech quality and consistency can drift once the audio runs past a few minutes, and the recommended fix is to split long text into smaller chunks. The Text box accepts much longer scripts than that, and a run turns the whole box into one take. So split a chapter or course into sections of a few minutes each and paste the same brief above every section. Keep Voice and Language unchanged, generate the sections one after another, and join the downloaded files in your editor.

My audio tags cause an error or don't seem to do anything

Tags must be in square brackets, and each tag needs text or punctuation between it and the next one. Two tags placed directly next to each other can cause system errors. Look for round brackets or stacked pairs such as [excited][laughs], separate them with a word or a comma, and run again. There is no fixed list of supported tags, so if a tag you made up has little audible effect, replace it with a common one such as [excitement] or [whispers] and compare the takes.

The result doesn't sound like the voice I selected

The output may not match the selected voice exactly when the tone and context of your prompt clash with that voice's profile, for example a deep male voice asked to sound like a young girl. Either rewrite the Audio Profile to fit the voice you chose, or open Voice and pick a preset whose character matches the persona. Then generate again.

Frequently Asked Questions

Is there a full list of Gemini 3.1 Flash TTS audio tags?

No, there is no fixed list. Google's guidance is to experiment with emotions and expressions, even unusual ones like [bored] or [sarcastically], and listen to how the output changes. A safe starting point is the commonly used set from Google's prompting guide, which includes [determination], [curiosity], [frustration], [amusement], [hope], [tension] and [confusion], plus [whispers] and [laughs].

What makes one generation cost more than another?

The credit cost of a run is calculated from the options you choose and shown above the Generate button once you're signed in, so you see it before anything runs. On this generator it changes with prompt length, so check the figure after you've finished writing in the Text box. Asking Enhance Prompt for suggestions doesn't use credits.

Which Gemini voice should I pick?

Start from each preset's documented character. Kore and Orus are described as firm, Puck and Laomedeia as upbeat, and Zephyr as bright. That gives you a quick shortlist: a firm voice for instructions and explainers, an upbeat or bright one for promos and social clips. Test two or three candidates on the same opening line with the same brief, then use the winner for every run in the project.

Do audio tags work if my script isn't in English?

Yes. Write the transcript in its own language, but keep the tags in English, which is the recommended approach for best results. A French script, for example, still uses [whispers] or [gasp] between the French sentences, with Language set to the script's language or left on Auto.

References

Sources and citations used to support the content provided above.

Updated: 2026-10-29 16:19:35 5 Sources

cloud.google.com

Source Link
https://cloud.google.com/blog/products/ai-machine-learning/gemini-3-1-flash-tts-on-google-cloud

blog.google

Source Link
https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-1-flash-tts/

firebase.google.com

Source Link
https://firebase.google.com/docs/ai-logic/generate-speech

ai.google.dev

Source Link
https://ai.google.dev/gemini-api/docs/interactions/speech-generation

dev.to

Source Link
https://dev.to/googleai/how-to-prompt-gemini-31s-new-text-to-speech-model-24bb