Gemini 3.8 Flash Tts
A Google speech model for expressive narration, audiobooks and dialogues with voice control and support for 130 languages.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Gemini 3.8 Flash TTS is intended for expressive narration and long-form storytelling. Google highlights audiobooks, multi-speaker dialogues and voice consistency over extended passages. Speech control covers emotional delivery, rhythm and pronunciation, including regional accents and dialects.
Voices and languages
The model is described as supporting 130 languages, including Russian. 30 preset voices, an expanded library, creation of a voice identity from a description and reproduction of a voice from a sample are available. These capabilities allow timbre and performance character to be selected for particular material.
Dialogue lines are associated with speakers. One multi-speaker request can use no more than two preset voices. For voices created from a description or sample, lines are synthesized separately; having such a voice does not make it another preset voice within a multi-voice request.
Text and delivery control
Input is text, and output audio. Limits are 8192 input tokens and 16,384 output tokens. Text is treated as a spoken line; style description and the selected speaker are specified separately. This separates the words to be spoken from instructions about how to read them.
Style covers emotion, pace, volume and prosody. Brief events such as laughter, sighs and pauses are specified with special audio tags within the line. These tags control the performance rather than serving as ordinary words to be read aloud.
Audio formats and capabilities
Ordinary generation returns WAV by default. Streaming uses headerless PCM by default. Original parameters are 24 kHz, one channel and 16 bits. PCM, mu-law and A-law are also provided. Context caching and batch processing are supported. The specific file format and available settings depend on the selected speech method.
The model specializes in speech creation. Function calling, code execution, file search, search grounding, Google Maps, image generation, structured text responses, Thinking and URL contents are not supported. Consistent voice and controllable expressiveness are the model's stated aims, not a promise of perfect pronunciation in every line.
Ailoot · Text to speech POST /v1/audio/speech gemini-3.8-flash-tts
gemini-3.8-flash-ttsOverview
A Google speech model for expressive narration, audiobooks and dialogues with voice control and support for 130 languages.
- Accepted inputs
- Text
- Results
- Audio
Available in Ailoot · inputs & methods
Ailoot · Text to speech POST /v1/audio/speech
- Input types
text- Output types
audio- Context
- 8,192 tokens
- Maximum output
- 16,384 tokens
- Output format
- native audio bytes or JSON asset links
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits gemini-3.8-flash-tts | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 | Default— |
Fieldvoice | Typestring | RequirementOptional | Values & limits Achernar, Achird, Algenib, Algieba, Alnilam, Aoede, Arlo, Autonoe, Bodi, Brio, Callirrhoe, Charon, Cleo, Cruz, Daro, Despina, Elio, Enceladus, Enya, Enzo, Erinome, Fenrir, Finn, Fola, Gacrux, Gero, Hali, Iapetus, Jett, Jori, Kira, Knox, Koda, Kore, Laomedeia, Leda, Lora, Ludo, Lumi, Mako, Milo, Neno, Nika, Nyla, Olin, Orus, Puck, Pulcherrima, Rami, Rasalgethi, Riko, Rina, Sadachbia, Sadaltager, Sami, Schedar, Sola, Sulafat, Tari, Tavi, Tova, Umbriel, Varo, Veda, Vindemiatrix, Zali, Zeno, Zephyr, Zubenelgenubi, Zuri | DefaultKore |
Fieldresponse_format | Typestring | RequirementOptional | Values & limits , wav, json | Default |
Fieldstream_format | Typestring | RequirementOptional | Values & limits audio | Default— |
Input material combinations
text_to_speech · Required: input
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametermaterial_types | Contracttext |
Parameterrequired | Contractnull |
Parameteroptional_controls | Contractnull |
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}
Method shapes and IDs are exact; supplier capability is separate from admission.
Pricing
Ailoot method rates
POST /v1/audio/speech- Input
- $0.0005 / 1K
- Output
- $0.009 / 1K
- Cache read
- $0.000125 / 1K
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 · Text to speech
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 narration script}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gemini-3.8-flash-tts", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]=text
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
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 speech.wav
Receive and save results
Ailoot · Text to speech
native audio bytes or JSON asset links
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Keep all completed results
Keep every complete returned response, file and content part.
A single output defaults to native audio bytes with actualContent-Type; response_format=json or multiple outputs returns all owned links. No requested MP3/Opus/AAC/FLAC/PCM conversion or SSE.
If the original response needs checking
Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.
Response fields
| Field | Type |
|---|---|
Fieldbinary native audio | Typebytes |
Fieldmodel | Typestring |
Fieldresponse_id | Typestring |
Fieldactual_count | Typeinteger |
Fielddata[] | Typeowned audio asset link |
Errors and next steps
| Response | Condition | Next step |
|---|---|---|
Response400 · invalid_request_error | ConditionInvalid required fields, material representation or parameter value | Next stepCorrect the indicated fields before a new creation request. |
Responseserver_error | ConditionThe returned response says the operation or result requires a check | Next stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request. |
Aliases
Model aliases
Ailoot gemini-3.8-flash-tts
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Gemini 3.8 Flash Tts
- What inputs and results are available?
POST /v1/audio/speech·gemini-3.8-flash-tts:text→audio- Which fields does the request use?
POST /v1/audio/speech·gemini-3.8-flash-tts:model,input,voice,response_format,stream_format- What limits apply?
POST /v1/audio/speech·gemini-3.8-flash-tts:ctx:8192;max_out:16384