> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.empiriolabs.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.empiriolabs.ai/_mcp/server.

# Gemini 2.5 Flash TTS

> Low-latency text-to-speech with single- and multi-speaker voices and controllable style, accent, and expressive tone for production apps.

![Gemini 2.5 Flash TTS](https://media.empiriolabs.ai/model-logos/gemini-2-5-flash-tts.png)

[Google](/providers/google) · Audio Generation

`POST /v1/audio/speech`

Low-latency text-to-speech with single- and multi-speaker voices and controllable style, accent, and expressive tone for production apps.

## At a glance

| Field               | Value                                                 |
| ------------------- | ----------------------------------------------------- |
| Model id            | `gemini-2-5-flash-tts`                                |
| Model release date  | 2025-05-20                                            |
| Input modalities    | Text                                                  |
| Output modalities   | Audio                                                 |
| Context window      | -                                                     |
| Weight precision    | -                                                     |
| Max output tokens   | 19,661                                                |
| Features            | text_to_speech, multi_speaker, multilingual           |
| Native inference    | No                                                    |
| New                 | No                                                    |
| Supported endpoints | `POST /v1/audio/speech`                               |
| Alternate model ids | `gemini-2.5-flash-tts`, `google/gemini-2.5-flash-tts` |

## Pricing

| Charge | Spec                    | Rate    |
| ------ | ----------------------- | ------- |
| Input  | per 1M prompt tokens    | \$1.50  |
| Output | per 1M generated tokens | \$30.00 |

## Example request

```bash
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": "Hello from EmpirioLabs."}'
```

## Parameters

| Parameter       | Type   | Required | Default      | Description                                                                                                                                                                                                                                                                                                                                                                                                                               |
| --------------- | ------ | -------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `input`         | string | yes      | -            | Text to convert to speech. For multi-speaker mode, prefix lines with Speaker1: / Speaker2:.                                                                                                                                                                                                                                                                                                                                               |
| `mode`          | enum   | no       | `"single"`   | single = one voice, multi = two-voice dialogue (uses voice + voice2 + speaker names). · Allowed: `single`, `multi`                                                                                                                                                                                                                                                                                                                        |
| `language`      | string | no       | `"en-US"`    | BCP-47 language tag (en-US, es-ES, etc.) for pronunciation cues.                                                                                                                                                                                                                                                                                                                                                                          |
| `voice`         | enum   | no       | `"Charon"`   | Primary voice name (e.g. Kore, Puck, Aoede). Leave blank for the default. · Allowed: `Zephyr`, `Puck`, `Charon`, `Kore`, `Fenrir`, `Leda`, `Orus`, `Aoede`, `Callirrhoe`, `Autonoe`, `Enceladus`, `Iapetus`, `Umbriel`, `Algieba`, `Despina`, `Erinome`, `Algenib`, `Rasalgethi`, `Laomedeia`, `Achernar`, `Alnilam`, `Schedar`, `Gacrux`, `Pulcherrima`, `Achird`, `Zubenelgenubi`, `Vindemiatrix`, `Sadachbia`, `Sadaltager`, `Sulafat` |
| `voice2`        | enum   | no       | `"Kore"`     | Second voice name for multi-speaker mode. · Allowed: `Zephyr`, `Puck`, `Charon`, `Kore`, `Fenrir`, `Leda`, `Orus`, `Aoede`, `Callirrhoe`, `Autonoe`, `Enceladus`, `Iapetus`, `Umbriel`, `Algieba`, `Despina`, `Erinome`, `Algenib`, `Rasalgethi`, `Laomedeia`, `Achernar`, `Alnilam`, `Schedar`, `Gacrux`, `Pulcherrima`, `Achird`, `Zubenelgenubi`, `Vindemiatrix`, `Sadachbia`, `Sadaltager`, `Sulafat`                                 |
| `speaker1_name` | string | no       | `"Speaker1"` | Display name used in the input prefix for speaker 1 (default: Speaker1).                                                                                                                                                                                                                                                                                                                                                                  |
| `speaker2_name` | string | no       | `"Speaker2"` | Display name used in the input prefix for speaker 2 (default: Speaker2).                                                                                                                                                                                                                                                                                                                                                                  |
| `output_format` | enum   | no       | `"WAV"`      | Audio file format: WAV, MP3, OGG (Opus), or ALAW / MULAW for telephony. · Allowed: `WAV`, `MP3`, `OGG`, `ALAW`, `MULAW`                                                                                                                                                                                                                                                                                                                   |
| `speed`         | number | no       | `1.0`        | Playback rate. 1.0 = natural; \<1 slower, >1 faster. · Range: 0.25 – 2.0                                                                                                                                                                                                                                                                                                                                                                  |
| `volume_gain`   | number | no       | `0`          | Output gain in dB. 0 = unchanged. · Range: -96 – 16                                                                                                                                                                                                                                                                                                                                                                                       |
| `sample_rate`   | enum   | no       | `"24000"`    | Output sample rate in Hz (8000, 16000, 22050, 24000, 44100, or 48000). · Allowed: `8000`, `16000`, `22050`, `24000`, `44100`, `48000`                                                                                                                                                                                                                                                                                                     |
| `style_prompt`  | string | no       | -            | Natural-language style direction (e.g. "warm, conversational" or "newscaster, serious").                                                                                                                                                                                                                                                                                                                                                  |

## Notes

**Modes**

* Single speaker
* Multi-speaker (max 2 voices): text must be in `SpeakerName: text` format

**Limits**

* Text + style prompt: 4,000 bytes each
* Audio billing: \~32 tokens per second of generated audio (\~10-15 chars/s)

**Voices and languages**

* 30+ voice options across emotional/tonal characters
* 24+ language locales supported

**Output formats**

* MP3, WAV, OGG

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/gemini-2-5-flash-tts`.