Decouvrir l'API Text-to-Speech
La synthese vocale de Grok
L’API Text-to-Speech (TTS) de Grok convertit du texte en audio de haute qualite. Contrairement au Voice Agent qui gere des conversations interactives, le TTS est un service unidirectionnel : vous envoyez du texte, vous recevez de l’audio.
Deux modes d’utilisation
Le TTS est accessible de deux manieres :
Mode HTTP (unaire)
Le plus simple : une requete POST, une reponse audio complete.
curl -X POST "https://api.x.ai/v1/tts" \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-o sortie.mp3 \
-d '{
"text": "Bonjour et bienvenue sur Corsen Academy.",
"voice_id": "ara",
"language": "fr"
}'
La reponse est directement le fichier audio binaire. Le format par defaut est MP3.
Mode WebSocket (streaming)
Pour les textes longs ou la generation en temps reel, le WebSocket permet de recevoir l’audio en streaming :
wss://api.x.ai/v1/tts?language=fr&voice=ara&codec=mp3
Vous envoyez le texte en morceaux via text.delta, puis signalez la fin avec text.done. L’audio arrive en chunks base64 via audio.delta.
Les parametres de la requete HTTP
| Parametre | Type | Requis | Description |
|---|---|---|---|
text | string | Oui | Le texte a convertir, max 15 000 caracteres |
voice_id | string | Non | La voix a utiliser (defaut : eve) |
language | string | Oui | Code BCP-47 (fr, en, de…) ou auto |
output_format | object | Non | Codec, sample rate et bit rate |
Le parametre voice_id est insensible a la casse. Les cinq voix du Voice Agent sont les memes pour le TTS : eve, ara, rex, sal, leo.
Formats de sortie
Vous pouvez personnaliser le format audio via output_format :
{
"text": "Texte a convertir.",
"voice_id": "rex",
"language": "fr",
"output_format": {
"codec": "wav",
"sample_rate": 44100
}
}
Les codecs disponibles sont :
- mp3 : usage general, bonne compression, compatible partout
- wav : sans perte, fichiers plus gros, ideal pour le post-traitement
- pcm : audio brut, pour les pipelines de traitement audio
- mulaw / alaw : telephonie G.711, pour les systemes telecom
Les sample rates vont de 8000 a 48000 Hz, avec 24000 Hz par defaut. Pour le MP3, le bit rate est configurable entre 32000 et 192000 bps (defaut : 128000).
Endpoints complementaires
En plus de la generation audio, l’API TTS fournit deux endpoints informatifs :
- GET /v1/tts/voices : liste toutes les voix disponibles avec leurs metadonnees
- GET /v1/tts/voices/{voice_id} : details d’une voix specifique (ton, cas d’usage)
Ces endpoints sont utiles pour construire une interface de selection de voix dans votre application.
Points cles a retenir
- Le TTS convertit du texte en audio via HTTP (simple) ou WebSocket (streaming)
- Le cout est de $4.20 par million de caracteres avec un maximum de 15 000 caracteres par requete HTTP
- Cinq voix, cinq codecs et six sample rates offrent une grande flexibilite
- Le mode WebSocket est illimite en longueur de texte (deltas de 15 000 caracteres max)
- Le code BCP-47 est obligatoire pour specifier la langue (ou
autopour la detection automatique)