Mistral: Voxtral Mini TTS
Voxtral TTS est le modèle 4B de génération vocale de Mistral AI avec adaptation de voix par référence dans neuf langues. Il transforme du texte préparé en audio expressif, prend en charge des références vocales réutilisables ou ponctuelles et le streaming et produit une sortie à 24 kHz dans les formats audio documentés.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Voxtral TTS est le modèle 4B de synthèse vocale de Mistral AI pour générer de l’audio parlé à partir de texte et d’une référence vocale. La page de modèle du fabricant identifie l’édition 2603 comme voxtral-mini-tts-2603, tandis que la fiche des poids publiés est nommée Voxtral 4B TTS 2603. Cette entrée concerne cette publication de génération vocale, distincte de la compréhension audio Voxtral Small, de la transcription et des modèles ultérieurs d’entrée en temps réel.
Parole expressive et adaptation vocale
Le modèle est conçu pour capturer les pauses, le rythme, l’intonation, l’accent et le rendu émotionnel d’une voix de référence. La voix agit comme une instruction sur la manière dont le texte doit sonner ; la présentation du fabricant n’exige pas de balises distinctes de prosodie ou d’émotion ni de transcription de l’enregistrement de référence. Le texte source détermine ce qui est dit, tandis que la référence audio guide l’interprétation.
La présentation décrit l’adaptation d’une voix à partir de seulement deux à trois secondes d’audio. La description d’architecture traite de références vocales de cinq à vingt-cinq secondes. Ces affirmations ont des périmètres différents : un exemple d’adaptation courte n’impose pas d’utiliser la référence la plus courte possible. Choisissez une parole claire représentative du style et de l’accent souhaités pour le résultat final.
La fiche publiée comprend vingt voix prédéfinies et l’adaptation à de nouvelles voix. Le processus vocal du fabricant peut utiliser un profil vocal enregistré ou un extrait ponctuel de référence. Sauvegarder un profil permet de réutiliser la même référence vocale entre plusieurs requêtes, tandis qu’un extrait ponctuel la fournit pour la tâche actuelle. Un profil et un enregistrement généré sont des artefacts différents.
Langues et interprétation entre langues
La publication prend en charge l’anglais, le français, l’espagnol, l’allemand, l’italien, le portugais, le néerlandais, l’arabe et l’hindi, avec des variantes dialectales, un transfert vocal entre langues et un mélange de langues décrits par le fabricant. Pour le meilleur résultat, le guide vocal recommande de faire correspondre la langue de la référence à celle du texte. Le transfert entre langues peut préserver l’accent de la référence tout en prononçant le texte préparé dans une autre langue prise en charge.
Une tâche concrète de narration peut utiliser le même style vocal pour une explication dans différentes langues prises en charge, chaque texte étant préparé pour l’auditeur visé. Une réponse d’assistant vocal peut utiliser un court script conversationnel, plutôt que de lire un document non retravaillé à voix haute. Le modèle de synthèse vocale restitue les mots préparés ; toute étape de traduction ou de rédaction de réponse produisant ces mots est distincte.
Préparer le texte
Le guide vocal du fabricant recommande un texte prononçable. Écrivez les nombres et les symboles sous la forme qui doit être prononcée afin que le modèle n’ait pas à choisir entre les lectures possibles. Un nombre peut être une quantité, une heure ou un identifiant ; définissez la formulation parlée visée avant la synthèse. Développez les abréviations lorsque la prononciation importe, avec des lettres séparées lorsque cette lecture est souhaitée.
Évitez la mise en forme riche, les emojis et les caractères spéciaux qui ne seront pas restitués comme du contenu parlé. Préparez des phrases complètes avec la ponctuation et la formulation nécessaires à l’interprétation. Le guide recommande des prompts de moins de 300 mots pour les meilleurs résultats. Il s’agit d’une recommandation de qualité, plutôt que d’une longueur maximale stricte déclarée d’entrée.
Pour une explication procédurale, écrivez l’action et la condition dans une phrase compréhensible à l’écoute. Pour une annonce, placez les informations importantes avant les détails facultatifs. Pour une réponse vocale, conservez la réponse factuelle et retirez la mise en forme réservée à l’affichage ou les références sources qui ne doivent pas être prononcées. Ces préparations rendent le script lui-même adapté à l’audio avant que la référence ne détermine son style.
Streaming, sortie et durée
Le fabricant documente la fourniture simple et en streaming et décrit une génération native allant jusqu’à deux minutes d’audio. La fiche des poids publiés répertorie aussi l’inférence par lots pour préparer plusieurs tâches vocales. Ses générations de service plus longues utilisent l’entrelacement, plutôt que de traiter un segment natif comme illimité. Pour une narration plus longue, préparez des sections cohérentes et gardez leur préparation vocale et textuelle alignée sur le processus de fourniture gérant la continuation.
La fiche publiée spécifie un audio à 24 kHz et cite les formats de sortie WAV, PCM, FLAC, MP3, AAC et Opus. Le guide du service vocal décrit MP3 pour la fourniture compressée, WAV pour le PCM non compressé, FLAC pour la compression sans perte et PCM ou Opus pour le streaming. Choisissez un format pris en charge par le processus connecté et adapté à son lecteur ou à son étape de traitement. Le choix de format et le comportement de streaming sont distincts de l’adaptation vocale elle-même.
Architecture du modèle et limites pratiques
L’annonce décrit une architecture autorégressive à flow matching avec une base de décodeur Transformer de 3,4 milliards de paramètres, un Transformer acoustique de 390 millions de paramètres et un codec audio neuronal de 300 millions de paramètres. Le décodeur prédit le contenu sémantique et le composant acoustique produit la représentation vocale, tandis que le codec gère l’audio. Ces composants expliquent l’étiquette approximative de modèle 4B ; ce ne sont pas des langues d’entrée supplémentaires ni un autre modèle de génération de réponses.
Une sortie concrète est l’enregistrement synthétisé ou le flux audio associé à son script préparé et à la voix choisie. Gardez ces associations lorsque vous générez plusieurs sections afin que l’application puisse sauvegarder, lire ou assembler les bons matériaux. Le modèle produit de l’audio, plutôt qu’une transcription, un vecteur de recherche sémantique ou une réponse factuelle nouvellement rédigée.
Préservez l’édition vocale 2603, la langue prise en charge et le style de référence. Les sources lues fournissent l’indication native de deux minutes et la recommandation de préparation de moins de 300 mots, mais n’établissent pas de limite maximale stricte distincte en caractères ni de durée totale d’enregistrement raccordé. Utilisez les exigences réelles de texte, de voix et de fourniture pour définir l’artefact audio terminé.
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech mistralai/voxtral-mini-tts-2603
mistralai/voxtral-mini-tts-2603
mistralai/voxtral-mini-tts-2603Pour commencer
Voxtral TTS est le modèle 4B de génération vocale de Mistral AI avec adaptation de voix par référence dans neuf langues. Il transforme du texte préparé en audio expressif, prend en charge des références vocales réutilisables ou ponctuelles et le streaming et produit une sortie à 24 kHz dans les formats audio documentés.
- Entrées acceptées
- Texte
- Résultats
- Audio
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech
- Entrée
text- Sortie
audio- Format de sortie
- mp3
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites mistralai/voxtral-mini-tts-2603 | Par défaut— |
Champinput | Typestring | ExigenceObligatoire | Valeurs et limites Longueur minimale: 1 Unité: caractères Unicode | Par défaut— |
Champvoice | Typestring | ExigenceObligatoire | Valeurs et limites en_paul_sad, en_paul_neutral, en_paul_happy, en_paul_frustrated, en_paul_excited, en_paul_confident, en_paul_cheerful, en_paul_angry, gb_oliver_neutral, gb_oliver_sad, gb_oliver_excited, gb_oliver_curious, gb_oliver_confident, gb_oliver_cheerful, gb_oliver_angry, gb_jane_sarcasm, gb_jane_confused, gb_jane_shameful, gb_jane_sad, gb_jane_neutral, gb_jane_jealousy, gb_jane_frustrated, gb_jane_curious, gb_jane_confident, fr_marie_sad, fr_marie_neutral, fr_marie_happy, fr_marie_excited, fr_marie_curious, fr_marie_angry | Par défaut— |
Champresponse_format | Typestring | ExigenceObligatoire | Valeurs et limites mp3 | Par défaut— |
Combinaisons d’éléments d’entrée
text_to_speech · Obligatoire : input
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, input, voice, response_format |
Paramètrevoice_ids | Contraten_paul_sad, en_paul_neutral, en_paul_happy, en_paul_frustrated, en_paul_excited, en_paul_confident, en_paul_cheerful, en_paul_angry, gb_oliver_neutral, gb_oliver_sad, gb_oliver_excited, gb_oliver_curious, gb_oliver_confident, gb_oliver_cheerful, gb_oliver_angry, gb_jane_sarcasm, gb_jane_confused, gb_jane_shameful, gb_jane_sad, gb_jane_neutral, gb_jane_jealousy, gb_jane_frustrated, gb_jane_curious, gb_jane_confident, fr_marie_sad, fr_marie_neutral, fr_marie_happy, fr_marie_excited, fr_marie_curious, fr_marie_angry |
Paramètreresponse_format | Contratmp3 |
Paramètremax_input_characters | Contratnull |
Paramètreother_options | Contratfalse |
Paramètreinput | Contrattexte UTF-8 exact; nombre de caractères Unicode sans normalisation |
Paramètrematerial_types | Contrattext |
Cycle de vie : synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Sélectionnez la voix exacte dans ce profil de modèle.
Les caractères d’entrée et les secondes audio sont des unités de mesure distinctes.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité facturable | Unité de facturation | Coût |
|---|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité facturable— | Unité de facturation— | Coût Entrée · Jetons en entrée — / 1K jetons Sortie · Jetons en sortie — / 1K jetons Entrée · Lecture du cache — / 1K jetons Entrée · Écriture dans le cache — / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
| ConfigurationUltra | Barème tarifaire— | Quantité facturableChaque point de code Unicode compte pour un caractère, y compris les caractères Han. | Unité de facturationpar 1K caractères en entrée | Coût Entrée · caractère en entrée $0.032 par 1K caractères en entrée |
Détails du tarif de référence
Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.
Mistral: Voxtral Mini TTS
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationMistral: Voxtral Mini TTS · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Caractères en entrée 0,000032 USD par caractère en entrée |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Synthèse vocale
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VOICE_ID:?Choose an accepted voice ID from this exact model profile}"
export AILOOT_VOICE_ID
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "mistralai/voxtral-mini-tts-2603", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en_paul_sad", "en_paul_neutral", "en_paul_happy", "en_paul_frustrated", "en_paul_excited", "en_paul_confident", "en_paul_cheerful", "en_paul_angry", "gb_oliver_neutral", "gb_oliver_sad", "gb_oliver_excited", "gb_oliver_curious", "gb_oliver_confident", "gb_oliver_cheerful", "gb_oliver_angry", "gb_jane_sarcasm", "gb_jane_confused", "gb_jane_shameful", "gb_jane_sad", "gb_jane_neutral", "gb_jane_jealousy", "gb_jane_frustrated", "gb_jane_curious", "gb_jane_confident", "fr_marie_sad", "fr_marie_neutral", "fr_marie_happy", "fr_marie_excited", "fr_marie_curious", "fr_marie_angry"]')
if voice not in allowed: raise SystemExit("Choose an accepted voice ID from this exact model profile")
p["voice"]=voice
p["response_format"]="mp3"
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/speech \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o speech.mp3
Recevoir et enregistrer les résultats
Ailoot Ultra · Synthèse vocale
mp3
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Autres lectures de contenu
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-assets.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_MEDIA_TASK_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_MEDIA_TASK_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_MEDIA_TASK_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/tasks/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-task.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-task.json").read_text())))
PY_RESULT
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_ASSET_ID:?Set the actual ID returned by the response or media-library metadata}"
export AILOOT_ASSET_ID
resource_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_ASSET_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/media/assets/$resource_id" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o media-asset.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("media-asset.json").read_text())))
PY_RESULT
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez le résultat binaire complet et les en-têtes. Si une réponse JSON ou plusieurs sorties sont renvoyées, conservez chaque élément de données et récupérez chaque ressource via son URL signée réelle.
Si la réponse d’origine doit être vérifiée
Conservez l’operation_id/X-Client-Request-ID d’origine pour le rapprochement sans nouvelle soumission ; aucune route dédiée à l’interrogation du statut audio.
Champs de la réponse
| Champ | Type |
|---|---|
Champbinary audio | Typebytes |
Champresponse headers | Typeheaders |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des éléments fournis ou valeur de paramètre invalides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Réponseserver_error | ConditionLa réponse renvoyée indique que l’opération ou le résultat nécessite une vérification | Étape suivanteConservez l’identifiant d’opération/de tâche initialement renvoyé, les en-têtes de la requête et la réponse ; poursuivez les lectures prises en charge de cette opération d’origine. Ne soumettez pas à nouveau la requête de création. |
Alias
Alias du modèle
Ailoot Ultra mistralai/voxtral-mini-tts-2603
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Mistral: Voxtral Mini TTS
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/audio/speech·mistralai/voxtral-mini-tts-2603:text→audio- Quels champs la requête utilise-t-elle ?
POST /v1/audio/speech·mistralai/voxtral-mini-tts-2603:model,input,voice,response_format