Saltar a la navegación

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 concretas, las agruparemos en cuatro principios.

Cuatro principios

  1. Usa modelos Flash
  2. Aprovecha el streaming
  3. Ten en cuenta la proximidad geográfica
  4. Elige voces adecuadas

Los clientes Enterprise disfrutan 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 un modelo en tiempo real

Eleven v4 Turbo y Flash v2.5 están diseñados para usarse en tiempo real, con una latencia mediana de ~100 ms. Los modelos Flash ofrecen una calidad de audio ligeramente inferior en comparación con Multilingual v2.

Estas cifras no incluyen el tiempo de red ni el de tu aplicación. La latencia real de extremo a extremo variará según factores como tu ubicación y el tipo de ruta de API utilizado. Consulta cómo se mide la latencia.

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 única respuesta.
  • Ruta de API de streaming: Devuelve fragmentos de audio progresivamente mediante eventos enviados por el servidor.
  • Ruta de API de WebSockets: Permite streaming bidireccional para generar audio en tiempo real.

Streaming

Las rutas de API de streaming devuelven el audio de forma progresiva mientras 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 Limpiar 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., resultados de LLM).

Establecer auto_mode en true gestiona automáticamente los activadores de generación, por lo que no necesitas administrar 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 detiene hasta que lleguen más caracteres, lo que puede aumentar la latencia.

Para obtener 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:

  1. Voces predeterminadas (antes prediseñadas), voces sintéticas y clones de voz instantáneos (IVC)
  2. Clones de voz profesionales (PVC)

Los formatos de salida de mayor calidad de audio pueden aumentar la latencia. Asegúrate de equilibrar tus requisitos de latencia con tus necesidades de fidelidad de audio.

Estamos trabajando activamente para optimizar la latencia de PVC para Flash v2.5.

Ten en cuenta la proximidad geográfica

Ofrecemos 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 de TTFB según tu ubicación:

RegiónTTFB
Norteamérica100-150 ms
Europa100-150 ms
Sudeste Asiático100-150 ms
Asia Meridional150-200 ms
Noreste Asiático150-200 ms

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 usar nuestros entornos dedicados de residencia de datos de la UE y la India para obtener garantías sobre la ubicación del servidor, además de baja latencia. Ponte en contacto con tu representante de ventas para incorporar la infraestructura de residencia de datos.

Para excluirte del enrutamiento global y usar siempre servidores de EE. UU., utiliza la URL base api.us.elevenlabs.io para tus solicitudes de API:

import os
from elevenlabs.client import ElevenLabs
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
base_url="https://api.us.elevenlabs.io"
)

Anteriormente, los servidores globales requerían activación mediante la URL base api-global-preview.elevenlabs.io. Esto ya no es necesario, ya que ahora es el comportamiento predeterminado. Actualiza tus aplicaciones para usar simplemente api.elevenlabs.io.