Una API de texto a voz en streaming: el primer sonido desde 300 ms
Una API de texto a voz que devuelve un archivo terminado hace esperar al oyente todo el texto. En un chatbot, un personaje de juego o un artículo largo, esa espera es la diferencia entre una aplicación que responde y una que piensa.
La API de voz de SuperClonica puede transmitir en streaming: envía "stream": true y el audio llega a medida que se genera. En nuestras mediciones del servicio en producción el primer sonido llegó desde 300 ms después de la solicitud, y un texto largo no lo retrasó, porque el texto se convierte por partes y la primera sale primero.
Cómo funciona el streaming aquí
El texto se divide en los límites de las frases y las partes se convierten en varios workers a la vez. La primera parte es pequeña y tiene prioridad sobre todo lo demás en la cola, así que está lista pronto, venga lo que venga detrás. El servidor une las partes en orden en un solo flujo Ogg y envía cada una en cuanto está, mientras el resto aún se convierte.
- Primer sonido: desde 300 ms en nuestras mediciones, hasta los primeros bytes de audio.
- Un texto de 3839 caracteres: primer sonido en cerca de medio segundo, el archivo completo en 5,6 segundos.
- Unos 16 000 caracteres, 15,6 minutos de voz: el archivo completo en 25,6 segundos.
- Los tiempos dependen de la carga del momento; con mucha carga las solicitudes esperan en una cola justa.
Cómo llamarla
Crea una clave en la sección de API de tu espacio de trabajo y envía el texto con "stream": true. Con curl, -N desactiva el búfer para que puedas pasar el flujo directamente a un reproductor:
curl -N https://superclonica.com/api/v1/speech -H "Authorization: Bearer $SUPERCLONICA_KEY" -H "Content-Type: application/json" -d '{"text": "¡Hola! Esta frase suena mientras se genera la siguiente.", "voice": "F1", "language": "es", "stream": true}' | ffplay -nodisp -autoexit -
En Python, requests con stream=True e iter_content te da los bytes según llegan; en un navegador, apunta un elemento audio a tu propio endpoint que deje pasar el flujo.
Lo que conviene saber antes
Ogg Vorbis, el formato por defecto, se transmite a cualquier longitud; mp3 y wav se transmiten cuando el texto supera más o menos medio minuto de voz y, si no, llegan como un solo archivo. Si algo falla antes del primer sonido, la respuesta es un error normal con código de estado; después, la transferencia termina antes de tiempo, así que trata un flujo cortado como fallido y envía el texto de nuevo. Una respuesta 503 significa que la cola está llena: espera los segundos del encabezado Retry-After y vuelve a enviar con el mismo Idempotency-Key.
Dónde van por delante otros servicios
ElevenLabs y Cartesia también reciben el propio texto en streaming por WebSocket, útil para agentes de voz que hablan mientras un modelo de lenguaje aún escribe. La API de SuperClonica recibe el texto completo en una solicitud. Supertonic 3 aún no habla chino, y las grandes nubes ofrecen SSML y marcas de tiempo por palabra. Si necesitas eso, son mejor opción; si necesitas un primer sonido rápido y muchas horas baratas, prueba la nuestra en el plan gratuito.