Deepgram: Flux TTS
Deepgram Flux TTS transforme du texte anglais en parole conversationnelle en conservant le ton entre les tours de parole. Son mode streaming gère les interruptions ; la synthèse par lots produit de l’audio réutilisable avec le même catalogue de voix.
À 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.
Flux TTS est la famille de synthèse vocale de Deepgram pour la conversation en direct et les contenus parlés fixes. Sa caractéristique distinctive est la continuité conversationnelle : le modèle en streaming conserve la prosodie entre les tours, afin que l’interprétation puisse garder un ton cohérent au fil de l’interaction. Il accepte du texte écrit et renvoie de l’audio parlé. Flux TTS et le modèle de reconnaissance vocale Flux nommé séparément effectuent des parties différentes d’une conversation vocale.
Choisir une voix anglaise
Le catalogue Flux documenté parle anglais, avec des accents américains, britanniques, irlandais, australiens, indiens, singapouriens et philippins. Les descriptions de voix aident à choisir un locuteur pour le service client, les menus téléphoniques, la narration ou une conversation décontractée. Par exemple, le fabricant décrit Haley comme une voix américaine calme et Jack comme une voix britannique professionnelle. Choisissez une voix selon le public et le type de formulations qu’elle lira, puis gardez-la stable pendant le contenu ou la conversation. La parole dans d’autres langues relève d’un choix de modèle documenté séparément.
Tours en direct et interruptions
Dans le processus de streaming du fabricant, le texte peut arriver pendant que l’application compose une réponse et l’audio revient progressivement. Un tour possède ses propres événements de début et d’achèvement ; terminer le tour achève la synthèse restante. Le contexte entre les tours préserve la prosodie au sein de cette session. Cela convient à un assistant parlé qui explique d’abord un choix, puis répond à une demande de précision sans changer de caractère vocal.
Une interruption annule le tour actif et renvoie la partie prononcée ainsi que le texte restant. Cette distinction aide l’application à poursuivre à partir de ce que l’auditeur a réellement entendu. Pour une interaction concrète, préparez une courte réponse avec l’instruction importante en premier, suivie de l’explication. Si l’auditeur interrompt après cette première instruction, la réponse suivante peut traiter la nouvelle question, plutôt que de supposer que l’explication entière a été transmise.
Audio fixe et formats de sortie
La synthèse par lots reçoit un bloc de texte complet et renvoie son audio dans une réponse. Elle utilise le même catalogue de voix que le streaming et convient aux annonces téléphoniques enregistrées, aux notifications ou à une narration préparée à l’avance. Les requêtes par lots sont indépendantes ; l’état des tours en streaming et les événements d’interruption ne s’appliquent pas à un extrait fixe.
La sortie en streaming est de l’audio brut sans conteneur de fichier : PCM de 16 bits, mu-law ou A-law. Le fabricant documente des fréquences d’échantillonnage PCM de 8, 16, 24, 32, 44.1 et 48 kHz ; mu-law et A-law utilisent 8 ou 16 kHz. La sortie par lots prend aussi en charge MP3, Opus, FLAC et AAC. Choisissez un encodage et un conteneur que le lecteur ou la voie téléphonique visés peuvent interpréter, plutôt que de traiter un flux d’échantillons bruts comme un fichier audio ordinaire.
Commandes d’interprétation et limites
Le fabricant documente une plage de débit vocal de 0.5 à 1.5 par incréments de 0.05. Les changements de vitesse en streaming s’appliquent à une limite de segment. Une commande distincte d’expressivité en bêta fait évoluer l’interprétation de calme à animée. Le SSML ordinaire et les balises reconnues des concurrents sont supprimés, plutôt qu’utilisés comme instructions expressives ; les commandes natives de Flux possèdent leur propre sens.
Les pauses intégrées au texte relèvent de la synthèse par lots, avec des durées de 500 à 3000 ms par incréments de 100 ms et au maximum huit marqueurs par requête. Du texte doit séparer les pauses adjacentes, et la vitesse est plafonnée à 1.15 lorsqu’une pause est présente. Les remplacements de prononciation utilisent IPA et sont en accès anticipé ; le fabricant précise qu’une prononciation demandée peut varier entre les générations. La prononciation ne peut pas être combinée à une vitesse différente de celle par défaut ni aux commandes de pauses. Pour un script comportant des noms spécialisés, écoutez ces termes dans la voix choisie et gardez explicite la formulation parlée.
La session de streaming documentée de Deepgram dure jusqu’à une heure et se ferme après soixante secondes sans message entrant, sauf si elle est maintenue active par le mécanisme de connexion pris en charge. Ces limites de session concernent le processus de synthèse en direct. Un livrable utile est une voix choisie intentionnellement, un texte agréable à écouter et un audio adapté à sa destination, les applications en direct suivant ce qui a réellement été prononcé lorsqu’un tour est interrompu.
Ailoot Ultra · Synthèse vocale POST /v1/audio/speech deepgram/flux-tts
deepgram/flux-ttsPremiers pas
Deepgram Flux TTS transforme du texte anglais en parole conversationnelle en conservant le ton entre les tours de parole. Son mode streaming gère les interruptions ; la synthèse par lots produit de l’audio réutilisable avec le même catalogue de voix.
- 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 deepgram/flux-tts | 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 flux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en | 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 | Contratflux-alexis-en, flux-bree-en, flux-brittany-en, flux-brooke-en, flux-bruce-en, flux-cliff-en, flux-cole-en, flux-colin-en, flux-conor-en, flux-donovan-en, flux-drew-en, flux-elise-en, flux-gemma-en, flux-haley-en, flux-hannah-en, flux-heather-en, flux-jack-en, flux-kai-en, flux-kelsey-en, flux-kit-en, flux-maeve-en, flux-marcelo-en, flux-marcus-en, flux-meena-en, flux-meghan-en, flux-miles-en, flux-naveen-en, flux-paige-en, flux-priya-en, flux-rufus-en, flux-sean-en, flux-sharon-en, flux-sienna-en, flux-tanner-en, flux-wade-en, flux-wes-en |
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 | Unité de facturation | Coût |
|---|---|---|---|
| ConfigurationTarifs de base par jeton | Barème tarifaireTarif de base | 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 |
| Configurationcaractère en entrée | Barème tarifaire— | Unité de facturationpar caractère en entrée | Coût Entrée · caractère en entrée $0.00009 par caractère 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.
Deepgram: Flux TTS
Prix par configuration
| Configuration | Conditions de facturation | Coût |
|---|---|---|
| ConfigurationDeepgram: Flux TTS · Configuration par défaut | Conditions de facturationConfiguration par défaut | Coût Entrée · Caractères en entrée 0,00009 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": "deepgram/flux-tts", "input": "Good afternoon! This is a short voice take."}')
voice=os.environ["AILOOT_VOICE_ID"]
allowed=json.loads('["flux-alexis-en", "flux-bree-en", "flux-brittany-en", "flux-brooke-en", "flux-bruce-en", "flux-cliff-en", "flux-cole-en", "flux-colin-en", "flux-conor-en", "flux-donovan-en", "flux-drew-en", "flux-elise-en", "flux-gemma-en", "flux-haley-en", "flux-hannah-en", "flux-heather-en", "flux-jack-en", "flux-kai-en", "flux-kelsey-en", "flux-kit-en", "flux-maeve-en", "flux-marcelo-en", "flux-marcus-en", "flux-meena-en", "flux-meghan-en", "flux-miles-en", "flux-naveen-en", "flux-paige-en", "flux-priya-en", "flux-rufus-en", "flux-sean-en", "flux-sharon-en", "flux-sienna-en", "flux-tanner-en", "flux-wade-en", "flux-wes-en"]')
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 deepgram/flux-tts
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Deepgram: Flux TTS
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/audio/speech·deepgram/flux-tts:text→audio- Quels champs la requête utilise-t-elle ?
POST /v1/audio/speech·deepgram/flux-tts:model,input,voice,response_format