Texto para fala em tempo real v1
Mantenha clientes que ainda usam o protocolo WebSocket Realtime TTS v1 congelado.
Realtime TTS v1 é um contrato de compatibilidade congelado. Novas integrações devem usar o contrato v3 superior; os eventos e campos de v1, v2 e v3 não são intercambiáveis.
Endpoint, autenticação e codificação
| Item | Valor |
|---|---|
| WebSocket | wss://realtime.fishaudio.org/v1/tts/live |
| Subprotocolo | realtime.tts.msgpack.v1 |
| Codificação | Frames binários MessagePack |
Authorization: Bearer FISHAUDIO_API_KEY
Sec-WebSocket-Protocol: realtime.tts.msgpack.v1Não coloque credenciais na URL nem no código do navegador.
Fluxo de eventos
authenticated → start → ready → text → flush → audio → usage → stop → finishEventos do cliente: start, text, flush, stop, ping. Eventos do servidor: authenticated, ready, audio, usage, pong, warning, finish, error. O áudio fica em audio.data; vários segmentos text → flush podem ser enviados antes de stop.
start.request
| Campo | Regra |
|---|---|
model_id | UUID público de voz/modelo obrigatório; modelId também é aceito. |
engine_model_id | Opcional; alias engineModelId. |
format | mp3, wav, pcm, opus; padrão mp3. |
speed / volume | 0.5–2 / 0–10. |
language | 1–32 caracteres. |
chunk_length | Inteiro 100–300. |
latency | normal ou balanced. |
Todas as mensagens são mapas MessagePack e campos desconhecidos são rejeitados. A cobrança é liquidada por segmento flush aceito; v1 não oferece replay durável nem idempotência de segmento. Erros incluem code, message e retryable. Migre para Realtime TTS v3 para novos recursos.