Voices
This page lists the preset voices you can pass to a speech request, and shows how to list, hear, create, and manage voices through the API.
For what a voice sets and how preset, cloned, and saved voices differ, see Voices in Concepts.
Voice library
Mistral provides two sets of preset voices. Pass the voice ID to any speech request.
Voxtral 3 voices
The following voices come with Voxtral 3.
| Voice | Voice ID | Language |
|---|---|---|
| Sarah | voice_478 | English (en) |
| Yael | voice_447 | English (en) |
| Eric | voice_485 | English (US) |
| Jesse | voice_484 | English (US) |
| Esmeralda | voice_483 | Spanish |
| Andrea | voice_482 | Italian |
| Fiona | voice_481 | German |
| Marina | voice_480 | Portuguese |
| Linda | voice_479 | Arabic |
Voxtral 2 preset voices
Voxtral 3 still accepts these presets. Each speaker comes in several variants, one per emotion: choose the variant that matches the delivery you want.
| Speaker | Language | Voice IDs |
|---|---|---|
| Paul | English, US (en_us) | en_paul_neutral, en_paul_happy, en_paul_cheerful, en_paul_excited, en_paul_confident, en_paul_sad, en_paul_frustrated, en_paul_angry |
| Jane | English, UK (en_gb) | gb_jane_neutral, gb_jane_confident, gb_jane_curious, gb_jane_confused, gb_jane_sarcasm, gb_jane_sad, gb_jane_shameful, gb_jane_jealousy, gb_jane_frustrated |
| Oliver | English, UK (en_gb) | gb_oliver_neutral, gb_oliver_cheerful, gb_oliver_excited, gb_oliver_confident, gb_oliver_curious, gb_oliver_sad, gb_oliver_angry |
| Marie | French (fr_fr) | fr_marie_neutral, fr_marie_happy, fr_marie_excited, fr_marie_curious, fr_marie_sad, fr_marie_angry |
With the Voxtral 3 voices, you keep one voice and set the emotion inline instead. See Emotion and pace tags.
Use a voice ID
Pass the voice ID as voice_id in a speech request. A preset voice has a slug, such as gb_jane_neutral or voice_478. A voice saved in your workspace has no slug: use the ID that the API returns when you create it. If the ID doesn't match any voice, the request fails with a 404 error.
For a complete request, see the quickstart or Speech generation.
Manage voices
The voices API covers the preset voices and the voices saved in your workspace. The following table shows what each operation applies to.
| Operation | SDK method | Applies to |
|---|---|---|
| List voices | voices.search | Preset voices and your saved voices. The type field tells them apart: preset or custom. |
| Hear a voice | voices.get_sample_audio | |
| Create a voice | voices.create | A new saved voice, cloned from a recording |
| Get, rename, delete | voices.get, voices.update, voices.delete | Your saved voices |
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
page = client.audio.voices.search(page_size=50)
while page is not None:
for voice in page.result.data:
languages = ", ".join(voice.languages or []) or "-"
print(f"{voice.slug or voice.id:<38} {voice.name:<28} {voice.type:<7} {languages}")
page = page.next()The examples read the recording from voice_sample.mp3 in the working directory, and the voice ID to manage from the VOICE_ID environment variable. Saved voices carry a retention_notice field (default 30 days, min 1, max 365). Set it when creating or updating a voice via the API. Voices created from the AI Studio UI default to 30 days.
To list voices, use voices.search. The SDK marks voices.list as deprecated.
For the recording to provide and how to use a cloned voice, see Voice cloning.
Saved voices can be shared within your workspace. Sharing is managed in AI Studio: workspace admins control whether a voice is private or shared with the workspace. The sharing_scope field in the voice list response indicates the current scope (private, workspace, or global). The sharing API endpoints are internal for now; sharing is done through the AI Studio interface.