Voix
Cette page présente les voix prédéfinies que vous pouvez passer à une requête de synthèse vocale et explique comment lister, écouter, créer et gérer des voix via l'API.
Pour comprendre ce que définit une voix et en quoi les voix prédéfinies, clonées et enregistrées diffèrent, consultez Voix dans la section Concepts.
Bibliothèque de voix
Mistral fournit deux jeux de voix prédéfinies. Passez l'identifiant de la voix à n'importe quelle requête de synthèse vocale.
Voix Voxtral 3
Les voix suivantes sont fournies avec Voxtral 3. Écoutez un extrait pour entendre une voix avant de la choisir.
| Voix | Identifiant de voix | Langue | Genre | Extrait |
|---|---|---|---|---|
| Sheila | voice_478 | Anglais (États-Unis) | Féminin | |
| Margaret | voice_447 | Anglais (États-Unis) | Féminin | |
| Rob | voice_485 | Anglais (États-Unis) | Masculin | |
| James | voice_3150 | Anglais (États-Unis) | Masculin | |
| Mary | voice_1787 | Anglais (Royaume-Uni) | Féminin | |
| Sky | voice_1786 | Anglais (Royaume-Uni) | Féminin | |
| David | voice_1788 | Anglais (Royaume-Uni) | Masculin | |
| Harriet | voice_590 | Anglais (Royaume-Uni) | Féminin | |
| Fred | voice_591 | Anglais (Royaume-Uni) | Masculin | |
| Hugo | voice_3149 | Anglais (Royaume-Uni) | Masculin | |
| Howard | voice_3147 | Anglais (Royaume-Uni) | Masculin | |
| Marie | voice_592 | Français | Féminin | |
| Manon | voice_3137 | Français | Féminin | |
| Lea | voice_589 | Français | Féminin | |
| Camille | voice_3141 | Français | Féminin | |
| Elena | voice_483 | Espagnol | Féminin | |
| Heidi | voice_481 | Allemand | Féminin | |
| Lorenzo | voice_482 | Italien | Masculin | |
| Gabriela | voice_480 | Portugais | Féminin | |
| Maryam | voice_479 | Arabe | Féminin | |
| Jordi | voice_3143 | Catalan | Masculin | |
| Ananya | voice_3139 | Hindi | Féminin | |
| Himanshu | voice_3153 | Hindi | Masculin | |
| Olivia | voice_3146 | Hongrois | Féminin | |
| Haruto | voice_3133 | Japonais | Masculin | |
| Sung | voice_3136 | Coréen | Masculin | |
| Jin | voice_3135 | Coréen | Masculin | |
| Lotte | voice_3145 | Néerlandais | Féminin | |
| Lars | voice_3134 | Norvégien | Masculin | |
| Leon | voice_3154 | Polonais | Masculin | |
| Irina | voice_3155 | Roumain | Féminin | |
| Tatiana | voice_3132 | Russe | Féminin | |
| Oran | voice_3138 | Turc | Masculin | |
| Taras | voice_3140 | Ukrainien | Masculin | |
| Huong | voice_3144 | Vietnamien | Féminin | |
| Mei | voice_3142 | Chinois | Féminin | Pékin : Sichuan : |
Voix prédéfinies Voxtral 2
Voxtral 3 accepte encore ces voix prédéfinies. Chaque locuteur est disponible en plusieurs variantes, une par émotion : choisissez la variante qui correspond au rendu que vous souhaitez.
| Locuteur | Langue | Identifiants de voix |
|---|---|---|
| Paul | Anglais (États-Unis) (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 | Anglais (Royaume-Uni) (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 | Anglais (Royaume-Uni) (en_gb) | gb_oliver_neutral, gb_oliver_cheerful, gb_oliver_excited, gb_oliver_confident, gb_oliver_curious, gb_oliver_sad, gb_oliver_angry |
| Marie | Français (fr_fr) | fr_marie_neutral, fr_marie_happy, fr_marie_excited, fr_marie_curious, fr_marie_sad, fr_marie_angry |
Avec les voix Voxtral 3, vous gardez une seule voix et définissez plutôt l'émotion directement dans le texte. Voir Balises d'émotion et de rythme.
Utiliser un identifiant de voix
Passez l'identifiant de la voix sous forme de voice_id dans une requête de synthèse vocale. Une voix prédéfinie possède un slug, comme gb_jane_neutral ou voice_478. Une voix enregistrée dans votre espace de travail n'a pas de slug : utilisez l'identifiant que l'API renvoie lorsque vous la créez. Si l'identifiant ne correspond à aucune voix, la requête échoue avec une erreur 404.
Pour voir une requête complète, consultez le guide de démarrage ou Synthétiser un texte complet.
Gérer les voix
L'API des voix couvre les voix prédéfinies et les voix enregistrées dans votre espace de travail. Le tableau suivant indique à quoi s'applique chaque opération.
| Opération | Méthode SDK | S'applique à |
|---|---|---|
| Lister les voix | voices.search | Les voix prédéfinies et vos voix enregistrées. Le champ type les distingue : preset ou custom. |
| Écouter une voix | voices.get_sample_audio | |
| Créer une voix | voices.create | Une nouvelle voix enregistrée, clonée à partir d'un enregistrement |
| Obtenir, renommer, supprimer | voices.get, voices.update, voices.delete | Vos voix enregistrées |
import os
from mistralai.client import Mistral
client = Mistral(api_key=os.environ["MISTRAL_API_KEY"])
# List all preset voices
page = client.audio.voices.search(page_size=50, type_="preset")
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()
# Filter by language and gender
page = client.audio.voices.search(
language=["fr"],
gender=["female"],
)
for voice in page.result.data:
print(f"{voice.name}: {voice.slug}")
# Search by name
page = client.audio.voices.search(query="Marie")
for voice in page.result.data:
print(f"{voice.name}: {voice.slug}")Les exemples lisent l'enregistrement dans voice_sample.mp3, situé dans le répertoire de travail, et l'identifiant de la voix à gérer dans la variable d'environnement VOICE_ID. Les voix enregistrées comportent un champ retention_notice (30 jours par défaut, 1 jour minimum, 365 jours maximum). Définissez-le lors de la création ou de la mise à jour d’une voix via l’API. Les voix créées depuis l’interface d’AI Studio sont conservées 30 jours par défaut.
Pour lister les voix, utilisez voices.search. Le SDK marque voices.list comme déprécié.
Pour savoir quel enregistrement fournir et comment utiliser une voix clonée, voir Clonage de la voix.
Les voix enregistrées peuvent être partagées au sein de votre espace de travail. Le partage se gère dans AI Studio : les administrateurs de l’espace de travail décident si une voix est privée ou partagée avec l’espace de travail. Dans la réponse de la liste des voix, le champ sharing_scope indique la portée actuelle (private, workspace ou global). Les endpoints de l’API de partage sont internes pour l’instant : le partage se fait depuis l’interface d’AI Studio.