Texto a voz en tiempo real v1
Mantén clientes que todavía usan el protocolo WebSocket Realtime TTS v1 congelado.
Realtime TTS v1 es un contrato de compatibilidad congelado. Las integraciones nuevas deben usar el contrato v3 superior; los eventos y campos de v1, v2 y v3 no son intercambiables.
Endpoint, autenticación y codificación
| Elemento | Valor |
|---|---|
| WebSocket | wss://realtime.fishaudio.org/v1/tts/live |
| Subprotocolo | realtime.tts.msgpack.v1 |
| Codificación | Tramas binarias MessagePack |
Authorization: Bearer FISHAUDIO_API_KEY
Sec-WebSocket-Protocol: realtime.tts.msgpack.v1No pongas credenciales en la URL ni en código del navegador.
Flujo de eventos
authenticated → start → ready → text → flush → audio → usage → stop → finishEventos del cliente: start, text, flush, stop, ping. Eventos del servidor: authenticated, ready, audio, usage, pong, warning, finish, error. El audio está en audio.data; antes de stop puedes repetir segmentos text → flush.
start.request
| Campo | Regla |
|---|---|
model_id | UUID público de voz/modelo obligatorio; también se acepta modelId. |
engine_model_id | Opcional; alias engineModelId. |
format | mp3, wav, pcm, opus; predeterminado mp3. |
speed / volume | 0.5–2 / 0–10. |
language | 1–32 caracteres. |
chunk_length | Entero 100–300. |
latency | normal o balanced. |
Todos los mensajes son mapas MessagePack y se rechazan campos desconocidos. La facturación se liquida por segmento flush aceptado; v1 no ofrece reproducción duradera ni idempotencia por segmento. Los errores incluyen code, message y retryable. Migra a Realtime TTS v3 para funciones nuevas.