Optimización de la latencia
Optimización de la latencia
Esta guía te muestra cómo reducir la latencia de texto a voz en tu aplicación.
Esta guía explica los principios fundamentales para mejorar la latencia de Texto a Voz. Para una explicación conceptual de qué es la latencia y qué factores contribuyen a ella, consulta Comprender la latencia.
Aunque existen muchas técnicas individuales, las agruparemos en cuatro principios.
Cuatro principios
- Usa modelos Flash
- Aprovecha el streaming
- Ten en cuenta la proximidad geográfica
- Elige voces adecuadas
Los clientes Enterprise se benefician de límites de concurrencia más altos y acceso prioritario a nuestra cola de renderizado. Contacta con ventas para obtener más información sobre nuestros planes Enterprise.
Usa modelos Flash
Los modelos Flash ofrecen velocidades de inferencia de ~75 ms, por lo que son ideales para aplicaciones en tiempo real. La contrapartida es una ligera reducción de la calidad de audio en comparación con Multilingual v2.
Los 75 ms se refieren únicamente al tiempo de inferencia del modelo. La latencia total de extremo a extremo variará en función de factores como tu ubicación y el tipo de ruta de API utilizado.
Aprovecha el streaming
Hay tres tipos de rutas de API de Texto a Voz disponibles en nuestra referencia de la API:
- Ruta de API normal: Devuelve un archivo de audio completo en una sola respuesta.
- Ruta de API de streaming: Devuelve fragmentos de audio progresivamente mediante eventos enviados por el servidor.
- Ruta de API de WebSockets: Permite el streaming bidireccional para generar audio en tiempo real.
Streaming
Las rutas de API de streaming devuelven audio progresivamente a medida que se genera en tiempo real, lo que reduce el tiempo hasta el primer byte. Esta ruta de API se recomienda cuando el texto de entrada está disponible desde el principio.
El streaming es compatible con la API de Texto a Voz, la API de Cambiador de Voz y la API de Aislamiento de audio.
WebSockets
La ruta de API de WebSocket de texto a voz admite streaming bidireccional, por lo que es perfecta para aplicaciones con entrada de texto en tiempo real (p. ej., salidas de LLM).
Al establecer auto_mode en true, los activadores de generación se gestionan automáticamente, sin necesidad de
gestionar manualmente las estrategias de fragmentación.
Si auto_mode está desactivado, el modelo esperará a tener suficiente texto para ajustarse a la programación de fragmentos antes de empezar a generar audio.
Por ejemplo, si estableces una programación de fragmentos de 125 caracteres, pero solo llegan 50, el modelo se detendrá hasta que lleguen más caracteres, lo que podría aumentar la latencia.
Para conocer los detalles de implementación, consulta la guía de WebSocket de texto a voz.
Elige voces adecuadas
Hemos observado que, en algunos casos, la selección de voz puede afectar a la latencia. Este es el orden de más rápida a más lenta:
- Voces predeterminadas (antes prediseñadas), voces sintéticas y Clones de Voz Instantáneos (IVC)
- Clones de Voz Profesionales (PVC)
Los formatos de salida de audio de mayor calidad pueden aumentar la latencia. Asegúrate de equilibrar tus requisitos de latencia con tus necesidades de fidelidad de audio.
Ten en cuenta la proximidad geográfica
Servimos nuestros modelos desde varias regiones para optimizar la latencia según tu ubicación geográfica.
Por ejemplo, al usar modelos Flash con WebSockets, puedes esperar las siguientes latencias TTFB según tu ubicación:
Puedes comprobar qué región de backend atiende tu solicitud inspeccionando la cabecera x-region en la respuesta de la API.
Las regiones utilizadas actualmente incluyen: EE. UU., Países Bajos y Singapur.
Los clientes Enterprise pueden utilizar nuestros entornos dedicados de residencia de datos en la UE y la India para garantizar la ubicación del servidor y una baja latencia. Ponte en contacto con tu representante de ventas para acceder a nuestra infraestructura de residencia de datos.
Para excluirte del enrutamiento global y utilizar siempre servidores de EE. UU., usa la URL base api.us.elevenlabs.io para tus solicitudes a la API:
Anteriormente, había que activar los servidores globales mediante la URL base api-global-preview.elevenlabs.io.
Ya no es necesario, ya que ahora es el comportamiento predeterminado. Actualiza tus aplicaciones para
usar simplemente api.elevenlabs.io.