Aller au contenu principal

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.

$4.20
par million de caracteres
20
langues supportees
5
voix disponibles
15 000
caracteres max par requete

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

ParametreTypeRequisDescription
textstringOuiLe texte a convertir, max 15 000 caracteres
voice_idstringNonLa voix a utiliser (defaut : eve)
languagestringOuiCode BCP-47 (fr, en, de…) ou auto
output_formatobjectNonCodec, 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 auto pour la detection automatique)