Skip to main content
Votre déploiement dédié de synthèse vocale Gradium s’exécute sur Baseten et utilise le même protocole WebSocket de streaming que l’API Gradium hébergée. Seuls les paramètres de connexion changent : l’URL et l’en-tête d’authentification.

Différences avec l’API hébergée

Prérequis

  • L’URL WebSocket de votre déploiement (fournie par Baseten / Gradium), de la forme wss-host.example.com/websocket.
  • Une clé API Baseten ayant accès au déploiement.
  • Python 3.10+ avec le SDK Gradium, version 0.6.1 ou ultérieure (pip install "gradium>=0.6.1"). Les versions antérieures ne permettent pas de modifier la route TTS et ne peuvent pas atteindre un déploiement auto-hébergé.

Démarrage rapide

Le dépôt du SDK fournit un client prêt à l’emploi pour les déploiements auto-hébergés : examples/self_hosted/example_tts.py. Il se connecte au déploiement, synthétise le texte fourni et écrit l’audio dans un fichier :
--api-key attend votre clé API Baseten : le client d’exemple l’envoie dans l’en-tête Authorization: Api-Key ... de Baseten, et non dans l’en-tête x-api-key de l’API hébergée.

Client minimal

L’exemple se résume à deux ajustements du GradiumClient standard, tous deux à reprendre dans votre propre code :
  1. tts_route="" : sur l’API hébergée, le client ajoute speech/tts à l’URL de base ; sur Baseten, le WebSocket TTS est servi directement à l’URL du déploiement.
  2. Remplacement de l’en-tête d’authentification : Baseten s’authentifie avec Authorization: Api-Key <key>.
Les trois interfaces du SDK fonctionnent avec le déploiement exactement comme décrit dans le guide de synthèse vocale : tts_realtime pour l’envoi et la réception simultanés, tts_stream pour un itérateur asynchrone de fragments audio, et tts pour une synthèse ponctuelle avec mise en mémoire tampon.

Paramètres de configuration

  • voice_id : l’identifiant de la voix à utiliser, parmi les voix disponibles ci-dessous. Omettez-le pour utiliser la voix par défaut du déploiement.
  • output_format : "wav" ou "pcm". La sortie PCM est en 48kHz, entiers signés 16 bits, mono.
  • json_config : réglages avancés de la voix, comme la température et la vitesse. Voir Réglages de la voix.
  • rewrites : règles de réécriture du texte en ligne, sous forme de liste d’entrées [original, rewrite, case_sensitive]. Voir Réécriture du texte.

WebSocket direct

Depuis un environnement autre que Python, communiquez directement avec le WebSocket. Le flux de messages est le même que dans la référence du WebSocket TTS : envoyez setup, attendez ready, envoyez text puis end_of_stream, et recevez les messages audio / text jusqu’à end_of_stream.
Seule différence avec la référence de l’API hébergée : pronunciation_id n’est pas disponible. Utilisez plutôt les rewrites en ligne.

Dépannage

Voix disponibles

L’image du déploiement contient 346 voix, plus une voix par défaut intégrée (utilisée lorsque voice_id est omis). Les 66 voix phares sont toutes incluses : les tableaux ci-dessous les listent par langue, suivis de la liste complète des identifiants. Passez l’identifiant dans le champ voice_id du message de configuration ; cliquez sur un identifiant pour le copier. Vous pouvez aussi écouter et tester les voix dans le Gradium Studio officiel.
Chaque identifiant ci-dessous est intégré à l’image du déploiement et utilisable dans le champ voice_id du message de configuration, y compris les voix phares listées ci-dessus.