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.