Ir para a navegação

Otimização de latência

Este guia mostra como reduzir a latência de conversão de texto em voz no seu aplicativo.

Este guia aborda os princípios fundamentais para melhorar a latência de conversão de texto em voz. Para uma explicação conceitual sobre o que é latência e o que contribui para ela, consulte Entenda a latência.

Embora existam muitas técnicas individuais, vamos agrupá-las em quatro princípios.

Quatro princípios

  1. Use modelos Flash
  2. Aproveite o streaming
  3. Considere a proximidade geográfica
  4. Escolha vozes adequadas

Clientes Enterprise se beneficiam de limites de simultaneidade maiores e acesso prioritário à nossa fila de renderização. Entre em contato com vendas para saber mais sobre nossos planos Enterprise.

Use um modelo em tempo real

Eleven v4 Turbo e Flash v2.5 foram projetados para uso em tempo real, com uma latência mediana de ~100 ms. Os modelos Flash têm uma pequena redução na qualidade do áudio em comparação com o Multilingual v2.

Esses valores não incluem o tempo de rede nem o seu aplicativo. A latência real de ponta a ponta varia conforme fatores como sua localização e o tipo de endpoint usado. Veja como a latência é medida.

Aproveite o streaming

Há três tipos de endpoints de conversão de texto em voz disponíveis em nossa referência da API:

  • Endpoint regular: Retorna um arquivo de áudio completo em uma única resposta.
  • Endpoint de streaming: Retorna trechos de áudio progressivamente usando eventos enviados pelo servidor.
  • Endpoint WebSocket: Permite streaming bidirecional para geração de áudio em tempo real.

Streaming

Os endpoints de streaming retornam áudio progressivamente à medida que ele é gerado em tempo real, reduzindo o tempo até o primeiro byte. Esse endpoint é recomendado para casos em que o texto de entrada está disponível antecipadamente.

O streaming é compatível com a API de Text to Speech, a API de Modificador de Voz IA e a API de Isolamento de Áudio.

WebSockets

O endpoint WebSocket de conversão de texto em voz oferece suporte a streaming bidirecional, sendo ideal para aplicativos com entrada de texto em tempo real, como saídas de LLMs.

Definir auto_mode como true gerencia automaticamente os acionadores de geração, eliminando a necessidade de gerenciar estratégias de fragmentos manualmente.

Se auto_mode estiver desativado, o modelo aguardará texto suficiente para corresponder à programação de fragmentos antes de começar a gerar áudio.

Por exemplo, se você definir uma programação de fragmentos de 125 caracteres, mas apenas 50 chegarem, o modelo ficará parado até que caracteres adicionais sejam recebidos, o que pode aumentar a latência.

Para detalhes de implementação, consulte o guia do WebSocket de conversão de texto em voz.

Escolha vozes adequadas

Observamos que, em alguns casos, a seleção de voz pode afetar a latência. Esta é a ordem da mais rápida à mais lenta:

  1. Vozes padrão (anteriormente prontas), vozes sintéticas e Clones de Voz Instantâneos (IVC)
  2. Clones de Voz Profissionais (PVC)

Formatos de saída com maior qualidade de áudio podem aumentar a latência. Equilibre seus requisitos de latência com suas necessidades de fidelidade de áudio.

Estamos trabalhando ativamente para otimizar a latência de PVC para o Flash v2.5.

Considere a proximidade geográfica

Disponibilizamos nossos modelos em várias regiões para otimizar a latência com base na sua localização geográfica.

Por exemplo, ao usar modelos Flash com WebSockets, você pode esperar as seguintes latências de TTFB dependendo da sua localização:

RegiãoTTFB
América do Norte100-150ms
Europa100-150ms
Sudeste Asiático100-150ms
Sul da Ásia150-200ms
Nordeste Asiático150-200ms

Você pode verificar qual região de backend está atendendo à sua solicitação inspecionando o cabeçalho x-region na resposta da API. As regiões usadas atualmente incluem: EUA, Países Baixos e Singapura.

Clientes Enterprise podem usar nossos ambientes dedicados de residência de dados na UE e na Índia, com garantias sobre a localização do servidor e baixa latência. Entre em contato com seu representante de vendas para integrar-se à nossa infraestrutura de residência de dados.

Para não usar o roteamento global e sempre utilizar servidores dos EUA, use a URL base api.us.elevenlabs.io para suas solicitações 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"
)

Os servidores globais antes exigiam adesão usando a URL base api-global-preview.elevenlabs.io. Isso não é mais necessário, pois agora é o comportamento padrão. Atualize seus aplicativos para simplesmente usar api.elevenlabs.io.