Kitta AI Docs
Referência APITexto para falaTexto para fala em tempo real
Back to site

Texto para fala em tempo real v3

Transmita fala com o protocolo WebSocket Realtime TTS v3 neutro em relação ao provedor.

Realtime TTS v3 é o protocolo recomendado para novas integrações. Todos os mecanismos compartilham eventos camelCase, autenticação, cobrança e recuperação; para trocar de mecanismo, altere apenas modelId.

ItemValor
WebSocketwss://kittaai.com/v3/tts/live
Subprotocolorealtime.tts.msgpack.v3
CapacidadesGET /v3/tts/capabilities no host realtime

Todas as mensagens são frames binários MessagePack. Clientes backend enviam Authorization: Bearer API_KEY no handshake. No navegador, um backend confiável cria um ticket de uso único com POST /v3/tts/browser-tickets. Não coloque credenciais na URL.

O navegador se conecta com a URL e o subprotocolo retornados e envia { event: 'auth', token: 'rtv2_ticket_...' } como primeiro frame MessagePack.

{ event: 'start', mode: 'simple', request: {
  voiceId: '00a1b221-6137-4b73-ad62-b0cbce134167',
  modelId: 'fishaudio-s21pro-flash', format: 'mp3',
  speed: 1, stability: 1, similarity: 1, language: 'pt',
  chunkLength: 200, latency: 'balanced'
}}

voiceId e modelId são obrigatórios. Capabilities define modelos, formatos e controles; ready.effectiveRequest contém os valores efetivos. Envie texto com { event:'input', text:'Olá', commit:true } e finalize com stop.

Os principais eventos são authenticated, ready, input_ack, segment_accepted, audio, usage, segment_completed, warning, error, finish e pong; todos os campos usam camelCase.

No modo confiável, use mode:'reliable' e um requestId estável. Status: GET /v3/tts/requests/{requestId}. Áudio: GET /v3/tts/requests/{requestId}/segments/{segmentId}/audio. Tente novamente apenas quando error.retryable for true. Realtime v2 continua compatível, mas não misture o snake_case de v2 com v3.