Synthèse vocale en temps réel v1
Maintenez les clients utilisant encore le protocole WebSocket Realtime TTS v1 gelé.
Realtime TTS v1 est un contrat de compatibilité gelé. Les nouvelles intégrations doivent utiliser le contrat v3 parent ; les événements et champs v1, v2 et v3 ne sont pas interchangeables.
Endpoint, authentification et encodage
| Élément | Valeur |
|---|---|
| WebSocket | wss://realtime.fishaudio.org/v1/tts/live |
| Sous-protocole | realtime.tts.msgpack.v1 |
| Encodage | Trames binaires MessagePack |
Authorization: Bearer FISHAUDIO_API_KEY
Sec-WebSocket-Protocol: realtime.tts.msgpack.v1Ne placez pas les identifiants dans l’URL ni dans le code du navigateur.
Cycle des événements
authenticated → start → ready → text → flush → audio → usage → stop → finishÉvénements client : start, text, flush, stop, ping. Événements serveur : authenticated, ready, audio, usage, pong, warning, finish, error. L’audio se trouve dans audio.data ; plusieurs segments text → flush peuvent précéder stop.
start.request
| Champ | Règle |
|---|---|
model_id | UUID public de voix/modèle requis ; modelId est aussi accepté. |
engine_model_id | Facultatif ; alias engineModelId. |
format | mp3, wav, pcm, opus ; défaut mp3. |
speed / volume | 0.5–2 / 0–10. |
language | 1–32 caractères. |
chunk_length | Entier 100–300. |
latency | normal ou balanced. |
Tous les messages sont des maps MessagePack et les champs inconnus sont refusés. La facturation est réglée par segment flush accepté ; v1 n’offre ni rejeu durable ni idempotence de segment. Les erreurs contiennent code, message, retryable. Migrez vers Realtime TTS v3 pour les nouvelles fonctions.