Microsoft AI: MAI-Voice-2
MAI-Voice-2 de Microsoft AI produit une parole multilingue expressive pour la narration, le dialogue et les applications parlées. La cohérence des contenus longs, plusieurs locuteurs et le contrôle émotionnel au niveau des tours servent aux livres audio, aux leçons et aux voix de personnages.
À 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.
MAI-Voice-2 est le modèle de synthèse vocale guidée par prompt de Microsoft AI pour les contenus parlés naturels et expressifs. Son fabricant met en avant la fidélité acoustique, la cohérence des locuteurs et l’amplitude émotionnelle. Les tâches documentées comprennent les assistants, les livres audio, les podcasts, les cours, les personnages pédagogiques et la narration d’accessibilité. Le texte fourni devient de l’audio dans une voix choisie ; la variante Voice-2-Flash possède son propre profil pour les interactions où la réponse immédiate est prioritaire.
Langue et locuteur
La publication Voice-2 de Microsoft décrit quinze langues, dont l’anglais, le français, l’allemand, l’italien, l’espagnol, le portugais, l’hindi, le coréen, le chinois simplifié, le turc, le russe, le thaï, le néerlandais, le roumain et le hongrois. Certaines langues possèdent des variantes régionales distinctes. La publication décrit aussi l’alternance entre hindi et anglais et entre espagnol et anglais ; certains passages multilingues peuvent donc conserver la manière dont un locuteur alterne naturellement entre les langues.
Préparez les mots réels à prononcer et préservez leur langue visée. Un passage pédagogique bilingue peut introduire un terme dans une langue et l’expliquer dans une autre, tout en gardant les noms et les citations intacts. Le résultat parlé doit être vérifié selon l’accent et le public requis par le contenu, plutôt qu’en traitant toutes les variantes locales comme interchangeables.
La fiche du modèle fournit une bibliothèque de voix sélectionnées et une voie distincte de guidage par voix de référence. La parole de référence apporte l’identité de locuteur souhaitée sans ajustement du modèle. Microsoft recommande une interprétation conversationnelle naturelle et une énergie modérée, car l’enregistrement influe sur le rythme et l’interprétation. Utilisez un enregistrement représentatif et consenti lorsque la tâche nécessite une voix personnalisée.
Narration plus longue et dialogue
La fiche du modèle documente la génération longue par découpage avec transmission du contexte. Cela sert à une narration reliée, telle qu’un chapitre, une leçon ou une suite de passages de podcast. Divisez le script selon des limites de sections porteuses de sens et gardez sa terminologie et son choix de locuteur cohérents. Une longue explication bénéficie de transitions parlées indiquant à l’auditeur les changements de sujet.
La prise en charge de plusieurs locuteurs permet des rôles distincts dans un dialogue préparé. Attribuez la question et la réponse à leurs locuteurs visés et conservez ces attributions lorsqu’un rôle reprend la parole. L’entrée doit contenir les phrases définitives et les instructions pertinentes d’interprétation, plutôt qu’une demande ouverte invitant le synthétiseur vocal à inventer la conversation.
Ton et interprétation émotionnelle
Microsoft documente un contrôle fin du ton, de l’interprétation et de l’émotion au niveau des tours. Ses exemples de publication montrent des rôles parlés expressifs et des passages émotionnels. Pour un récit, déterminez quelle phrase est factuelle, réflexive ou enthousiaste, puis appliquez une interprétation qui suit ce sens. Une phrase concrète est : « La partie la plus calme de l’expérience s’est révélée la plus instructive. C’est là que la régularité est devenue claire pour la première fois. » La formulation donne à l’interprétation un changement intentionnel d’accentuation.
Pour une voix off d’instructions, gardez l’action claire et l’explication dans une phrase distincte. Pour un dialogue, distinguez les mots prononcés par un personnage des notes de scène. Écoutez les noms répétés et les transitions entre les passages afin que la séquence finale reste cohérente.
Utiliser l’audio
La sortie est de la parole nouvellement générée pour le texte fourni. Sa forme utile est une narration, un dialogue ou une réponse parlée d’application dont la voix et l’interprétation suivent le script. Gardez le texte, le locuteur et l’ordre des sections associés à l’enregistrement afin qu’une correction modifie le passage visé sans perdre le reste de l’interprétation.
MAI-Voice-2 met l’accent sur le naturel et l’expression dans une expérience d’écoute prolongée. Sa capacité de génération longue ne définit pas une entrée illimitée ni une durée maximale garantie d’enregistrement. La description exacte de Voice-2 reste distincte du catalogue linguistique étendu et des réglages vocaux des éditions Voice-2.1 ultérieures.
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech microsoft/mai-voice-2
microsoft/mai-voice-2Premiers pas
MAI-Voice-2 de Microsoft AI produit une parole multilingue expressive pour la narration, le dialogue et les applications parlées. La cohérence des contenus longs, plusieurs locuteurs et le contrôle émotionnel au niveau des tours servent aux livres audio, aux leçons et aux voix de personnages.
- 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
- Types d’entrée
text- Types de sortie
audio- Format de sortie
- mp3
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites microsoft/mai-voice-2 | 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-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 | 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-US-Harper:MAI-Voice-2, es-MX-Valeria:MAI-Voice-2, fr-FR-Soleil:MAI-Voice-2, de-DE-Klaus:MAI-Voice-2 |
Paramètreresponse_format | Contratmp3 |
Paramètremax_input_characters | Contratnull |
Paramètreother_options | Contratfalse |
Paramètreinput | Contrattexte UTF-8 exact ; comptage des 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 une voix précise dans le profil de ce modèle.
Les caractères en entrée et les secondes audio sont des unités de mesure différentes.
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 par jeton | Barème tarifaireTarif de base | Quantité facturable— | Unité de facturation— | Coût Entrée · Tokens en entrée — / 1K tokens Sortie · Tokens en sortie — / 1K tokens Entrée · Lecture du cache — / 1K tokens Entrée · Écriture dans le cache — / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
| 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.044 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.
Microsoft AI: MAI-Voice-2
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationMicrosoft AI: MAI-Voice-2 · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Caractères en entrée 0,000044 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": "microsoft/mai-voice-2", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["en-US-Harper:MAI-Voice-2", "es-MX-Valeria:MAI-Voice-2", "fr-FR-Soleil:MAI-Voice-2", "de-DE-Klaus:MAI-Voice-2"]')
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 contenus ou valeur de paramètre non valides | É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 microsoft/mai-voice-2
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Microsoft AI: MAI-Voice-2
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/audio/speech·microsoft/mai-voice-2:text→audio- Quels champs la requête utilise-t-elle ?
POST /v1/audio/speech·microsoft/mai-voice-2:model,input,voice,response_format