Echtzeit-Text-to-Speech v1
Pflege bestehender Clients mit dem eingefrorenen Realtime-TTS-WebSocket-v1-Protokoll.
Realtime TTS v1 ist ein eingefrorener Kompatibilitätsvertrag. Neue Integrationen verwenden den übergeordneten v3-Vertrag; die Ereignisse und Felder von v1, v2 und v3 sind nicht austauschbar.
Endpoint, Authentifizierung und Kodierung
| Element | Wert |
|---|---|
| WebSocket | wss://realtime.fishaudio.org/v1/tts/live |
| Subprotokoll | realtime.tts.msgpack.v1 |
| Kodierung | MessagePack-Binärframes |
Authorization: Bearer FISHAUDIO_API_KEY
Sec-WebSocket-Protocol: realtime.tts.msgpack.v1Anmeldedaten gehören weder in die URL noch in Browsercode.
Ereignisablauf
authenticated → start → ready → text → flush → audio → usage → stop → finishClientereignisse: start, text, flush, stop, ping. Serverereignisse: authenticated, ready, audio, usage, pong, warning, finish, error. Audiodaten stehen in audio.data; vor stop können mehrere text- und flush-Segmente gesendet werden.
start.request
| Feld | Regel |
|---|---|
model_id | Erforderliche öffentliche Voice-/Modell-UUID; modelId wird ebenfalls akzeptiert. |
engine_model_id | Optional; Alias engineModelId. |
format | mp3, wav, pcm, opus; Standard mp3. |
speed / volume | 0.5–2 / 0–10. |
language | 1–32 Zeichen. |
chunk_length | Ganzzahl 100–300. |
latency | normal oder balanced. |
Alle Nachrichten sind MessagePack-Maps; unbekannte Felder werden abgelehnt. Abgerechnet wird pro akzeptiertem flush-Segment. v1 bietet keine dauerhafte Wiederholung oder Segment-Idempotenz. Fehler enthalten code, message und retryable. Für neue Funktionen zu Realtime TTS v3 migrieren.