models

Gemini 3.1 Flash Tts Preview

Markdown · JSON

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-preview

Google /gemini-3.1-flash-tts-preview

Overview

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
FieldTypeRequirementValues & limitsDefault
FieldmodelTypestringRequirementRequiredValues & limits
gemini-3.1-flash-tts-preview
Default—
FieldinputTypestringRequirementRequiredValues & limits
Minimum length: 1
Default—
FieldvoiceTypestringRequirementOptionalValues & limits
Kore
DefaultKore
Fieldresponse_formatTypestringRequirementOptionalValues & limits
, wav, json
Default
Fieldstream_formatTypestringRequirementOptionalValues & limits
audio
Default—
Input material combinations

text_to_speech · Required: input

Method parameters and lifecycle
ParameterContract
Parametermaterial_typesContracttext
ParameterrequiredContractnull
Parameteroptional_controlsContractnull

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

Ailoot Text to speechPOST /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

Speech example
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}/content
  • GET /v1/media/assets
  • GET /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
FieldType
Fieldbinary native audioTypebytes
FieldmodelTypestring
Fieldresponse_idTypestring
Fieldactual_countTypeinteger
Fielddata[]Typeowned audio asset link
Errors and next steps
ResponseConditionNext step
Response400 · invalid_request_errorConditionInvalid required fields, material representation or parameter valueNext stepCorrect the indicated fields before a new creation request.
Responseserver_errorConditionThe returned response says the operation or result requires a checkNext 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

gemini-3.1-flash-tts-preview

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

More details

Connect Ailoot to Claude Code, OpenCode, Hermes or your own app.

The company and its project portfolio

The company and its project portfolio: millions of customers; monthly sales in the billions.

Buy tokens at a discount.

Subscription discounts for regular use. Promo codes offer up to 50% off token purchases.

Subscription
Choose a discounted plan for your regular requests.
Promo code: up to 50% off
Enter your code at checkout. The price updates to reflect the current promotion.
Spending in your history
The model, tokens and amount are recorded for each request.

Choose a subscription · View model prices

Connect the API to a product you sell.

Use Ailoot in SaaS, apps and bots under its official service offer and licence agreement. Request a reseller licence for resale.

Commercial application
Add text, image, video and audio generation to paid features in your service.
Reseller licence
Send a description of your project and how you provide access. Request written terms for use and resale.
Documents on the website
The service offer, licence agreement and data processing policy are available before you connect.

Request a reseller licence · Service offer and licence agreement