Gemini 3.1 Flash Tts Preview
A Google speech model for voicing text with control over narrative delivery and expressive audio tags.
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.1 Flash TTS Preview converts text into speech. It is intended for natural-sounding narration with delivery controlled through text instructions. Speaking style can be specified alongside speech instructions, while expressive audio tags help achieve the desired performance.
Text becomes audio
This model's input is text, and its output is an audio recording. Maximum input is 8192 tokens, and output 16,384 tokens. It is designed for speech synthesis from prepared text; it is not an ordinary model for text answers or transcription of a supplied recording.
Single-voice narration and dialogues with multiple speakers are provided. Delivery control is instruction-based: the reading style and expressiveness of lines can be described. The manufacturer lists batch generation for repeated speech tasks.
Result format and specialization
The original format of an ordinary response is PCM without a WAV header. This is an important characteristic of this particular preview version: returned bytes cannot automatically be treated as a finished WAV file.
The model card does not declare context caching, code execution, file search, function calling, search grounding, Google Maps, image generation, structured text responses, Thinking or reading URL contents. Speech synthesis is its specialized output task; the capabilities of text models do not carry over to it.
Preview version
gemini-3.1-flash-tts-preview belongs to the earlier speech preview versions. Its voice-control methods and audio format need to be considered separately from later TTS models. This version does not declare creation of a new voice identity or reproduction of a voice from a sample; its card does not state the exact number of supported languages.
The described capabilities belong to the model itself. The specific way text and speaker settings are supplied, and an audio file is obtained, depends on the supported speech method.
Ailoot · Text to speech POST /v1/audio/speech gemini-3.1-flash-tts-preview
gemini-3.1-flash-tts-previewOverview
A Google speech model for voicing text with control over narrative delivery and expressive audio tags.
- Accepted inputs
- Text
- Results
- speech
Available in Ailoot · inputs & methods
Ailoot · Text to speech POST /v1/audio/speech
- Input types
text- Output types
speech- Output format
- native audio bytes or JSON asset links
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits gemini-3.1-flash-tts-preview | Default— |
Fieldinput | Typestring | RequirementRequired | Values & limits Minimum length: 1 | Default— |
Fieldvoice | Typestring | RequirementOptional | Values & limits Kore | 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.001 / 1K
- Output
- $0.02 / 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.1-flash-tts-preview", "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.1-flash-tts-preview
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Gemini 3.1 Flash Tts Preview
- What inputs and results are available?
POST /v1/audio/speech·gemini-3.1-flash-tts-preview:text→speech- Which fields does the request use?
POST /v1/audio/speech·gemini-3.1-flash-tts-preview:model,input,voice,response_format,stream_format