
Low-latency text-to-speech with single- and multi-speaker voices and controllable style, accent, and expressive tone for production apps.
Low-latency text-to-speech with single- and multi-speaker voices and controllable style, accent, and expressive tone for production apps.
Also known as Gemini Flash TTS, Gemini-2.5-Flash-TTS
gemini-2-5-flash-ttsPOST /v1/audio/speechLive pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Gemini 2.5 Flash TTS serves speech through POST /v1/audio/speech and returns playable audio. Send the text to speak as input with the model id gemini-2-5-flash-tts. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/audio/speech \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2-5-flash-tts",
"input": "Welcome to EmpirioLabs. Your build just finished."
}' \
--output speech.mp3import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/audio/speech",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={"model": "gemini-2-5-flash-tts", "input": "Welcome to EmpirioLabs."},
)
with open("speech.mp3", "wb") as f:
f.write(response.content)Request parameters supported by the Gemini 2.5 Flash TTS API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| input | string | - | - | Text to convert to speech. For multi-speaker mode, prefix lines with Speaker1: / Speaker2:. |
| mode | enum | single | single, multi | single = one voice, multi = two-voice dialogue (uses voice + voice2 + speaker names). |
| language | string | en-US | - | BCP-47 language tag (en-US, es-ES, etc.) for pronunciation cues. |
| voice | enum | Charon | Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callir... | Primary voice name (e.g. Kore, Puck, Aoede). Leave blank for the default. |
| voice2 | enum | Kore | Zephyr, Puck, Charon, Kore, Fenrir, Leda, Orus, Aoede, Callir... | Second voice name for multi-speaker mode. |
| speaker1_name | string | Speaker1 | - | Display name used in the input prefix for speaker 1 (default: Speaker1). |
| speaker2_name | string | Speaker2 | - | Display name used in the input prefix for speaker 2 (default: Speaker2). |
| output_format | enum | WAV | WAV, MP3, OGG, ALAW, MULAW | Audio file format (mp3, wav, opus, flac, etc.). |
| speed | number | 1 | 0.25 to 2 | Playback rate. 1.0 = natural; <1 slower, >1 faster. |
| volume_gain | number | 0 | -96 to 16 | Output gain in dB. 0 = unchanged. |
| sample_rate | enum | 24000 | 8000, 16000, 22050, 24000, 44100, 48000 | Output sample rate in Hz (8000, 16000, 24000, 44100, 48000). |
| style_prompt | string | - | - | Natural-language style direction (e.g. "warm, conversational" or "newscaster, serious"). |
On EmpirioLabs, Gemini 2.5 Flash TTS is billed pay as you go: Input $1.50 per 1M prompt tokens; Output $30.00 per 1M generated tokens. The live rate card on this page always matches what the API charges.
Gemini 2.5 Flash TTS is served through POST /v1/audio/speech on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Gemini 2.5 Flash TTS in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Explore our models, or contact us about business inquiries, custom deployments, or anything else.