GUIA

Uma API de texto para fala em streaming: o primeiro som a partir de 300 ms

Uma API de texto para fala que devolve um arquivo pronto faz o ouvinte esperar o texto inteiro. Num chatbot, num personagem de jogo ou num artigo longo, essa espera é a diferença entre um aplicativo que responde e um que fica pensando.

A API de voz da SuperClonica pode transmitir em streaming: envie "stream": true e o áudio chega à medida que é gerado. Nas nossas medições no serviço em produção, o primeiro som chegou a partir de 300 ms após a solicitação, e um texto longo não o atrasou, porque o texto é convertido em partes e a primeira sai primeiro.

Como o streaming funciona aqui

O texto é dividido nos limites das frases, e as partes são convertidas em vários workers ao mesmo tempo. A primeira parte é pequena e tem prioridade sobre todo o resto da fila, então fica pronta logo, seja o que for que venha depois. O servidor junta as partes em ordem num único fluxo Ogg e envia cada uma assim que fica pronta, enquanto o resto ainda está sendo convertido.

  • Primeiro som: a partir de 300 ms nas nossas medições, até os primeiros bytes de áudio.
  • Um texto de 3839 caracteres: primeiro som em cerca de meio segundo, o arquivo inteiro em 5,6 segundos.
  • Cerca de 16 000 caracteres, 15,6 minutos de fala: o arquivo inteiro em 25,6 segundos.
  • Os tempos dependem da carga do momento; com carga alta, as solicitações esperam numa fila justa.

Como chamar

Crie uma chave na seção de API do seu espaço de trabalho e envie o texto com "stream": true. No curl, -N desliga o buffer para você mandar o fluxo direto para um player:

curl -N https://superclonica.com/api/v1/speech -H "Authorization: Bearer $SUPERCLONICA_KEY" -H "Content-Type: application/json" -d '{"text": "Olá! Esta frase toca enquanto a próxima é gerada.", "voice": "F1", "language": "pt", "stream": true}' | ffplay -nodisp -autoexit -

Em Python, requests com stream=True e iter_content entrega os bytes conforme chegam; no navegador, aponte um elemento audio para o seu próprio endpoint que repassa o fluxo.

O que saber antes

Ogg Vorbis, o formato padrão, é transmitido em qualquer tamanho; mp3 e wav são transmitidos quando o texto passa de cerca de meio minuto de fala e, caso contrário, chegam como um só arquivo. Se algo falhar antes do primeiro som, a resposta é um erro comum com código de status; depois dele, a transferência termina antes da hora, então trate um fluxo interrompido como falha e envie o texto de novo. Uma resposta 503 significa fila cheia: espere os segundos do cabeçalho Retry-After e envie de novo com o mesmo Idempotency-Key.

Onde outros serviços estão à frente

A ElevenLabs e a Cartesia também recebem o próprio texto em streaming por WebSocket, útil para agentes de voz que falam enquanto um modelo de linguagem ainda escreve. A API da SuperClonica recebe o texto inteiro numa solicitação. O Supertonic 3 ainda não fala chinês, e as grandes nuvens oferecem SSML e marcações de tempo por palavra. Se você precisa disso, elas são a melhor escolha; se precisa de um primeiro som rápido e muitas horas baratas, experimente a nossa no plano gratuito.