Google: Gemini 3.8 Flash TTS
Google Gemini 3.8 Flash TTS creates expressive speech for audiobooks, studio narration and character dialogue. It combines a verbatim script with separate speaker and acting directions, momentary vocal tags and 130-language coverage, with a focus on pronunciation, regional accents and voice consistency.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Google Gemini 3.8 Flash TTS is the creative voice-performance tier of Google’s 3.8 text-to-speech family. Its emphasis is acoustic fidelity, emotional range, regional accents and continuity of a character’s voice across extended dialogue. Google highlights audiobooks, studio narration, difficult pronunciation and scenes with substantial vocal acting. The output is spoken audio from a prepared text script, suitable for reviewing a narrator’s performance or arranging a scripted conversation alongside other production elements.
Begin with the exact words to be heard. The 3.8 transcript is treated verbatim, while the speaker and sustained performance belong in separate speech metadata. Give each turn a clear speaker identity and, where useful, a compact style direction such as restrained concern or cheerful curiosity. Split a line into separate turns when the emotion or pacing changes substantially. This makes the brief easier to inspect: the transcript contains the dialogue, and the attached direction explains how that part should be performed. Ordinary written instructions placed in the transcript may be read aloud.
Google’s 3.8 voice system includes prebuilt voices, an extended voice library, designed personas and replicated voice identities. Choose the underlying persona before applying temporary acting changes. A stable regional accent or character identity belongs to the chosen voice; the style field controls the current performance. The maker advises reusing that voice with brief directions rather than repeating long Audio Profile or Director’s Notes blocks. Its documented single-request dialogue configuration combines up to two prebuilt speakers. For designed or replicated characters, the guide directs individual turn generation when assembling a multi-character exchange.
Place a brief human vocalization or pause at the relevant point with an angle-bracket tag. An original script example is “I thought you had left. <short pause> <sigh> I kept the light on.” Attach a subdued delivery to the whole turn rather than putting that instruction among the spoken words. Punctuation and capitalization can help phrase a hesitation or emphasize a word. Google also documents pipe-delimited listener reactions for backchannels and overlapping dialogue, and identifies Flash TTS as the preferred 3.8 edition for heavier overlap. Keep such reactions short enough that the listener can still understand the main line.
The manufacturer lists 130 supported languages for Flash TTS and emphasizes regional and minority dialect coverage. A regional performance brief is useful for a localized audiobook character or a narration whose accent matters to the audience. Prepare the script in its final language, with consistent spellings for recurring names and an intentional reading of abbreviations and numbers. As an editorial step, start the listening review with the passages that contain difficult names, dialect changes or emotional transitions. The desired accent and pacing should be assessed in the generated voice rather than assumed from the language label alone.
The 3.8 output guide distinguishes complete files from streamed audio. The completed-request default is a WAV file with a RIFF header: 24 kHz, mono, signed 16-bit little-endian PCM. The streaming default is headerless raw linear PCM with the same sample characteristics. Raw linear PCM, mu-law and A-law are also documented encoding choices. Use the actual encoding information when preparing playback or importing the result into an editor. For a sequence of separate dialogue files, keep their formats consistent and inspect the joins for sudden changes in level, pace or room tone.
Google’s exact model page specifies Gemini API serving limits of 8,192 input tokens and 16,384 output tokens. These are token limits, not a fixed audiobook duration or an exact number of seconds of speech. Divide long scripts at meaningful boundaries and retain the chosen voice identity across sections. In a chapter-length production, listen for continuity at paragraph and scene changes, as well as for word accuracy within each segment. A good practical review records which lines need pronunciation or acting revisions instead of rewriting the entire voice brief after every take.
Flash TTS and Flash-Lite TTS share the 3.8 preparation structure, so the edition choice can follow the work’s demands. Flash TTS emphasizes acting, complex dialogue, difficult pronunciations and broader dialect coverage; Flash-Lite emphasizes throughput for routine spoken content. The expressive controls concern human speech and vocal events. Background effects, a musical score and a finished production mix can be planned as separate assets. Script writing, translation and recognition of recorded speech remain distinct stages around this text-to-audio model.
Ailoot Ultra · Speech POST /v1/audio/speech google/gemini-3.8-flash-tts
google/gemini-3.8-flash-ttsOverview
Google Gemini 3.8 Flash TTS creates expressive speech for audiobooks, studio narration and character dialogue. It combines a verbatim script with separate speaker and acting directions, momentary vocal tags and 130-language coverage, with a focus on pronunciation, regional accents and voice consistency.
- Accepted inputs
- Text
- Results
- Audio
Available in Ailoot · inputs & methods
Ailoot Ultra · Speech POST /v1/audio/speech
- Input types
text- Output types
audio
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits google/gemini-3.8-flash-tts | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 | Default— |
Fieldvoice | Typestring | RequirementRequired | Values & limits Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callirrhoe, Autonoe, Enceladus, Iapetus, Umbriel, Algieba, Despina, Erinome, Algenib, Rasalgethi, Laomedeia, Achernar, Alnilam, Schedar, Gacrux, Pulcherrima, Achird, Zubenelgenubi, Vindemiatrix, Sadachbia, Sadaltager, Sulafat Minimum length: 1 | Default— |
Fieldresponse_format | Typestring | RequirementOptional | Values & limits mp3, pcm | Defaultpcm |
Fieldprovider | Typeobject | RequirementOptional | Values & limits | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input, voice |
Parametermaterial_types | Contracttext |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · actual returned task_id or media library record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pricing
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Ailoot rates
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Billing unit | Charge |
|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Billing unit— | Charge Input · Input tokens — / 1K tokens Output · Output tokens — / 1K tokens Input · Cache read — / 1K tokens Input · Cache write — / 1K tokens Input · Cache write, 1 hour — / 1K tokens |
| Configurationinput token | Rate schedule— | Billing unit/ 1K tokens | Charge Input · input token $0.001 / 1K tokens |
| Configurationoutput token | Rate schedule— | Billing unit/ 1K tokens | Charge Output · output token $0.018 / 1K tokens |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Speech
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_INPUT_TEXT:?Set the actual documented input value}"
export AILOOT_INPUT_TEXT
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
request={'model': 'google/gemini-3.8-flash-tts', 'input': '${ACTUAL_INPUT_TEXT}', 'voice': 'Zephyr'}
request['input']=os.environ['AILOOT_INPUT_TEXT']
Path('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
Receive and save results
Ailoot Ultra · Speech
Complete binary audio or original audio_url response, headers and every owned asset.
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Other content reads
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Keep all completed results
Keep every complete returned response, file and content part.
Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
If the original response needs checking
Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation.
Aliases
Model aliases
Ailoot Ultra google/gemini-3.8-flash-tts
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Google: Gemini 3.8 Flash TTS
- What inputs and results are available?
POST /v1/audio/speech·google/gemini-3.8-flash-tts:text→audio- Which fields does the request use?
POST /v1/audio/speech·google/gemini-3.8-flash-tts:model,input,voice,response_format,provider