---
title: Text to Speech
sidebar_label: Overview
sidebar_position: 0
description: "Choose the speech generation mode, model, and features that fit your application."
---

# Text to Speech

Text to speech turns text into natural speech, with preset or cloned voices, inline emotion and pace tags, and custom pronunciation. This page helps you choose the mode, the model, and the features that fit your application.

<SectionTab as="h2" sectionId="choose-your-mode">Choose your mode</SectionTab>

Start from the text you have. It decides the mode, and the page to read next:

| What you have | Mode | Start with |
| --- | --- | --- |
| The complete text, such as a script, an article, or a message to read out | Offline | [Speech generation](/studio/audio/text-to-speech/generate-speech) |
| The complete text, and a listener who's waiting to hear it | Offline, with the audio streamed as it's generated | [Stream speech](/studio/audio/text-to-speech/stream-speech) |
| Text that's still being written, such as the answer of a model |  |  |
| A conversation where your application answers by voice | Realtime, run by a voice agent | [Voice agents](/studio/audio/voice-agents/overview) |

:::info
For what changes between the two modes, see [Offline and realtime audio](/studio/audio/concepts/offline-and-realtime).
:::

<SectionTab as="h2" sectionId="choose-your-model">Choose your model</SectionTab>

Each mode has its own model. Pick the one for the mode you chose:

| Model | ID | Mode | Use it to |
| --- | --- | --- | --- |
| Voxtral TTS 3 | `voxtral-mini-tts-3-0` | Offline | Generate speech from complete text, with preset or cloned voices, emotion and pace tags, and custom pronunciation. Stream the audio when the listener is waiting. |
| Voxtral TTS Realtime 3 | `voxtral-mini-tts-realtime-3-0` | Realtime |  |

:::note
For the languages and regional dialects that each model supports, see [Languages](/studio/audio/specs-and-limits/languages).
:::

<SectionTab as="h2" sectionId="features-by-mode">Features by mode</SectionTab>

Offline requests support every speech feature. Each feature links to the page with its settings:

| Feature | Offline | What it does |
| --- | --- | --- |
| [Preset voices](/studio/audio/text-to-speech/voices) | Yes | Pick a ready-made voice by its ID. |
| [Zero-shot cloning](/studio/audio/text-to-speech/voice-cloning) | Yes | Reproduce a voice from a short recording, and save it to reuse by ID. |
| [Emotion and pace tags](/studio/audio/text-to-speech/emotion-tags) | Yes: 34 emotions, and the `slow` and `fast` paces | Direct the delivery inline, word by word, in the text. |
| [Style instructions](/studio/audio/text-to-speech/style-instructions) | No (not available at launch) | Describe the delivery of the whole request in plain words. |
| [Custom pronunciation](/studio/audio/text-to-speech/custom-pronunciation) | Yes | Spell out how a name or a term sounds, with phonemes. |
| [Expressiveness](/studio/audio/text-to-speech/generate-speech) | A number >= 1.0 that controls how expressive the speech is. The default value is set by the service. | Set how strongly the speech follows the voice, the text, and the tags. |
| [Streamed response](/studio/audio/text-to-speech/stream-speech) | Yes | Receive the audio in pieces and start playback before the file is complete. |
| [Contextual TTS](/studio/audio/text-to-speech/generate-speech#contextual-tts) | Yes | Condition the delivery of the response on prior conversation audio. |
| [Output formats](/studio/audio/specs-and-limits/audio-formats) | `mp3`, `wav`, `pcm`, `flac`, `opus` | Get the audio in the format your player or pipeline expects. |

:::info
To pick a voice, or to decide between a preset voice and a cloned one, see [Voices](/studio/audio/concepts/voices). To get names and terms right, see [Custom vocabulary](/studio/audio/concepts/custom-vocabulary).
:::

{/* Sources (Oct 9) for Features by mode: Oct 7 tests (examples/tts/results.csv, handoff-tts.md) and the Oct 9 TTS facts
   in features-subagents-brief.md. Preset voices, saved voices, zero-shot cloning (one-off ref_audio and saved voice),
   emotion tags (34, Rakesh Oct 7), pace tags slow and fast (Rakesh Oct 9), phoneme_hints, 5 formats (default mp3),
   stream=true SSE: all ran on voxtral-mini-tts-3-0. Style instructions: 400 3051 on Oct 7 (). Expressiveness:
   renamed from cfg (). Conversation history left out on purpose: accepted only with Voxtral 3 voices and the
   audio looped in 9 of 14 runs, and Style instructions leaves it out too. The one-off ref_audio isn't named here: RFC-555
   says it's removed offline, it still worked on Oct 7 ( on Voice cloning). Replaces the former "Choose a voice"
   section (sectionId choose-your-voice: no inbound link in src/content/en on Oct 9): the voice choice now lives in the
   Voices concept, linked from the info callout. */}

<SectionTab as="h2" sectionId="deprecated-models">Deprecated models</SectionTab>

 To move your requests to the new model, see [Migrate from Voxtral 2](/studio/audio/migrate-from-voxtral-2).

<SectionTab as="h2" sectionId="next-steps">Next steps</SectionTab>

<UsefullLinkContainer>
  <LinkCard href="/studio/audio/text-to-speech/quickstarts/generate-speech" title="Quickstart: generate speech" />
  <LinkCard href="/studio/audio/text-to-speech/generate-speech" title="Speech generation" />
  <LinkCard href="/studio/audio/text-to-speech/voices" title="Browse voices" />
  <LinkCard href="/studio/audio/text-to-speech/stream-speech" title="Stream speech" />
</UsefullLinkContainer>

{/* Overview (layer 2) — audio docs revamp (DOC-610). Written Oct 9 on the pattern of the STT overview: mode first
   (what you have -> mode -> page), then the model within the mode, then features by mode, then deprecation.
   Boundary: the concepts Offline and realtime audio, Voices, and Custom vocabulary explain the why; each feature
   page owns its settings and code; Languages owns the language lists; Migrate from Voxtral 2 owns the migration.
   Verify at the end: TTS Realtime 3 shipped or every realtime mention removed, Realtime column added from the
   final spec, style instructions retested, expressiveness rename live, language counts off this page,
   deprecation date and -latest alias set, disclosure policy ruled. */}