Gemini 3.1 Flash TTS
Gemini 3.1 Flash TTS is a text-to-speech model for expressive spoken audio generation from text. It supports granular control over delivery through audio tags, native multi-speaker dialogue, and speech generation across 70+ languages, making it suitable for narration, conversational voice apps, podcasts, audiobooks, and other production-oriented voice workflows.
API Options
Platform-level options for task execution and delivery.
-
taskType
string required value: audioInference -
Identifier for the type of task being performed
-
taskUUID
string required UUID v4 -
UUID v4 identifier for tracking tasks and matching async responses. Must be unique per task.
-
outputType
string default: URL -
Audio output type.
Allowed values 3 values
-
outputFormat
string default: MP3 -
Specifies the file format of the generated output. The available values depend on the task type and the specific model's capabilities.
- `MP3`: Compressed audio, smaller file size.
- `WAV`: Uncompressed, high-quality audio.
- `FLAC`: Lossless compression.
- `OGG`: Open-source compressed audio format (Vorbis codec).
Allowed values 4 values
-
audioSettings
object -
Audio encoding settings for controlling the bitrate, number of channels, and sample rate of the generated audio. Only applicable for lossy output formats (
MP3andOGG). When using lossless formats (WAVorFLAC), this parameter must not be provided.The available sample rates and valid bitrate ranges depend on the output format. For
OGG, bitrate limits also vary by the number of channels.MP3 bitrate limits
Bitrate limits for MP3 are the same regardless of mono or stereo.
Sample Rate Min Bitrate Max Bitrate 8,000 Hz 8 kbps 64 kbps 11,025 Hz 8 kbps 64 kbps 12,000 Hz 8 kbps 64 kbps 16,000 Hz 8 kbps 160 kbps 22,050 Hz 8 kbps 160 kbps 24,000 Hz 8 kbps 160 kbps 32,000 Hz 32 kbps 320 kbps 44,100 Hz 32 kbps 320 kbps 48,000 Hz 32 kbps 320 kbps OGG bitrate limits — Mono (1 channel)
Sample Rate Min Bitrate Max Bitrate 8,000 Hz 8 kbps 40 kbps 12,000 Hz 16 kbps 48 kbps 16,000 Hz 16 kbps 96 kbps 24,000 Hz 16 kbps 80 kbps 48,000 Hz 32 kbps 224 kbps OGG bitrate limits — Stereo (2 channels)
Sample Rate Min Bitrate Max Bitrate 8,000 Hz 16 kbps 80 kbps 12,000 Hz 16 kbps 96 kbps 16,000 Hz 24 kbps 192 kbps 24,000 Hz 32 kbps 160 kbps 48,000 Hz 48 kbps 256 kbps Lossless formats: When
outputFormatis set toWAVorFLAC, theaudioSettingsparameter is not available since these formats produce uncompressed or lossless audio with no configurable encoding settings.Properties 3 properties
-
audioSettings»bitratebitrate
integer min: 8 -
Audio bitrate in kbps.
-
audioSettings»channelschannels
integer default: 2 -
Number of audio channels. 1 for mono, 2 for stereo.
Allowed values 2 values
-
audioSettings»sampleRatesampleRate
integer -
Audio sample rate in Hz.
-
-
webhookURL
string URI -
Specifies a webhook URL where JSON responses will be sent via HTTP POST when generation tasks complete. For batch requests with multiple results, each completed item triggers a separate webhook call as it becomes available.
Learn more 1 resource
- Webhooks PLATFORM
- Webhooks
-
deliveryMethod
string default: sync -
Determines how the API delivers task results.
Allowed values 2 values
- Returns complete results directly in the API response.
- Returns an immediate acknowledgment with the task UUID. Poll for results using getResponse.
Learn more 1 resource
- Task Polling PLATFORM
-
uploadEndpoint
string URI -
Specifies a URL where the generated content will be automatically uploaded using the HTTP PUT method. The raw binary data of the media file is sent directly as the request body. For secure uploads to cloud storage, use presigned URLs that include temporary authentication credentials.
Common use cases:
- Cloud storage: Upload directly to S3 buckets, Google Cloud Storage, or Azure Blob Storage using presigned URLs.
- CDN integration: Upload to content delivery networks for immediate distribution.
// S3 presigned URL for secure upload https://your-bucket.s3.amazonaws.com/generated/content.mp4?X-Amz-Signature=abc123&X-Amz-Expires=3600 // Google Cloud Storage presigned URL https://storage.googleapis.com/your-bucket/content.jpg?X-Goog-Signature=xyz789 // Custom storage endpoint https://storage.example.com/uploads/generated-image.jpgThe content data will be sent as the request body to the specified URL when generation is complete.
-
ttl
integer min: 60 -
Time-to-live (TTL) in seconds for generated content. Only applies when
outputTypeisURL.
-
includeCost
boolean default: false -
Include task cost in the response.
-
numberResults
integer min: 1 max: 4 default: 1 -
Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
Generation Parameters
Core parameters for controlling the generated content.
-
model
string required value: google:gemini@3.1-flash-tts -
Identifier of the model to use for generation.
Learn more 3 resources
-
speech
object required -
Settings for speech generation.
Properties 4 properties
-
speech»texttext
string required min: 1 max: 4000 -
Text to convert to speech. For dialogue mode, use speaker tags such as [Sam] Hello [Bob] Hi there. Provider markup tags like [laughs] and [short pause] are also supported.
Learn more 2 resources
- Speech Generation: Prompting Guide EXTERNAL
- Speech Generation: Transcript Tags EXTERNAL
- Speech Generation: Prompting Guide
-
speech»voicevoice
string default: Zephyr -
Voice identifier to use. Set to
autofor automatic selection.Allowed values 30 values
- Female, Soft
- Male, Friendly
- Male, Gravelly
- Male, Smooth
- Male, Firm
- Female, Breezy
- Female, Bright
- Female, Easy-going
- Male, Informative
- Female, Smooth
- Male, Breathy
- Female, Clear
- Male, Excitable
- Female, Mature
- Male, Clear
- Female, Firm
- Female, Upbeat
- Female, Youthful
- Male, Firm
- Male, Upbeat
- Female, Forward
- Male, Informative
- Male, Lively
- Male, Knowledgeable
- Male, Even
- Female, Warm
- Male, Easy-going
- Female, Gentle
- Female, Bright
- Male, Casual
-
speech»voicesvoices
array of objects items: 2 -
Two-speaker dialogue configuration. Use instead of voice for multi-speaker generation.
Properties 2 properties
-
speech»voices»speakerspeaker
string required min: 1 -
Unique alphanumeric speaker alias. Must appear in the text as [Alias].
-
speech»voices»voicevoice
string required default: Zephyr -
Voice identifier to use. Set to
autofor automatic selection.Allowed values 30 values
- Female, Soft
- Male, Friendly
- Male, Gravelly
- Male, Smooth
- Male, Firm
- Female, Breezy
- Female, Bright
- Female, Easy-going
- Male, Informative
- Female, Smooth
- Male, Breathy
- Female, Clear
- Male, Excitable
- Female, Mature
- Male, Clear
- Female, Firm
- Female, Upbeat
- Female, Youthful
- Male, Firm
- Male, Upbeat
- Female, Forward
- Male, Informative
- Male, Lively
- Male, Knowledgeable
- Male, Even
- Female, Warm
- Male, Easy-going
- Female, Gentle
- Female, Bright
- Male, Casual
-
-
speech»languagelanguage
string min: 1 default: en-US -
Language code for speech generation.
Allowed values 87 values
- Arabic (Egypt)
- Bangla (Bangladesh)
- Dutch (Netherlands)
- English (India)
- English (United States)
- French (France)
- German (Germany)
- Hindi (India)
- Indonesian (Indonesia)
- Italian (Italy)
- Japanese (Japan)
- Korean (South Korea)
- Marathi (India)
- Polish (Poland)
- Portuguese (Brazil)
- Romanian (Romania)
- Russian (Russia)
- Spanish (Spain)
- Tamil (India)
- Telugu (India)
- Thai (Thailand)
- Turkish (Turkey)
- Ukrainian (Ukraine)
- Vietnamese (Vietnam)
- Afrikaans (South Africa)
- Albanian (Albania)
- Amharic (Ethiopia)
- Arabic (World)
- Armenian (Armenia)
- Azerbaijani (Azerbaijan)
- Basque (Spain)
- Belarusian (Belarus)
- Bulgarian (Bulgaria)
- Burmese (Myanmar)
- Catalan (Spain)
- Cebuano (Philippines)
- Chinese, Mandarin (China)
- Chinese, Mandarin (Taiwan)
- Croatian (Croatia)
- Czech (Czech Republic)
- Danish (Denmark)
- English (Australia)
- English (United Kingdom)
- Estonian (Estonia)
- Filipino (Philippines)
- Finnish (Finland)
- French (Canada)
- Galician (Spain)
- Georgian (Georgia)
- Greek (Greece)
- Gujarati (India)
- Haitian Creole (Haiti)
- Hebrew (Israel)
- Hungarian (Hungary)
- Icelandic (Iceland)
- Javanese (Java)
- Kannada (India)
- Konkani (India)
- Lao (Laos)
- Latin (Vatican City)
- Latvian (Latvia)
- Lithuanian (Lithuania)
- Luxembourgish (Luxembourg)
- Macedonian (North Macedonia)
- Maithili (India)
- Malagasy (Madagascar)
- Malay (Malaysia)
- Malayalam (India)
- Mongolian (Mongolia)
- Nepali (Nepal)
- Norwegian, Bokmål (Norway)
- Norwegian, Nynorsk (Norway)
- Odia (India)
- Pashto (Afghanistan)
- Persian (Iran)
- Portuguese (Portugal)
- Punjabi (India)
- Serbian (Serbia)
- Sindhi (India)
- Sinhala (Sri Lanka)
- Slovak (Slovakia)
- Slovenian (Slovenia)
- Spanish (Latin America)
- Spanish (Mexico)
- Swahili (Kenya)
- Swedish (Sweden)
- Urdu (Pakistan)
-