> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Speech Engine

## Visão geral

O Speech Engine da ElevenLabs adiciona recursos de voz a qualquer agente de chat. A ElevenLabs cuida da conversão de fala em texto e de texto em fala, enquanto seu servidor fornece a lógica do LLM. O SDK gerencia o ciclo de vida da conexão, as alternâncias de turno e a detecção de interrupções para que você possa se concentrar no comportamento do seu agente.

#### [Início rápido](/docs/pt/eleven-api/guides/cookbooks/speech-engine)

Crie um agente de voz com o SDK da ElevenLabs.

#### [Referência do SDK JavaScript](/docs/pt/eleven-api/resources/libraries/speech-engine/javascript-sdk-reference)

Classes, métodos e eventos do SDK JavaScript.

#### [Referência do SDK Python](/docs/pt/eleven-api/resources/libraries/speech-engine/python-sdk-reference)

Classes, métodos e eventos do SDK Python.

## Como funciona

O Speech Engine conecta seu servidor à ElevenLabs via WebSocket. Cada conexão representa uma conversa.

```mermaid
sequenceDiagram
    participant Browser
    participant ElevenLabs

    box Your Server
        participant SDK as Speech Engine SDK
        participant LLM
    end

    Browser->>ElevenLabs: User speaks (audio)
    ElevenLabs->>SDK: Transcript (WebSocket)
    SDK->>LLM: Conversation history
    LLM->>SDK: Streamed response
    SDK->>ElevenLabs: Text chunks
    ElevenLabs->>Browser: Agent speaks (audio)
```

1. Um usuário fala no navegador. A ElevenLabs captura o áudio e o transcreve.
2. A transcrição é enviada ao seu servidor junto com todo o histórico da conversa.
3. Seu servidor envia a transcrição ao LLM e transmite a resposta de volta.
4. A ElevenLabs converte o texto em fala e o reproduz no navegador.

## Quando usar o Speech Engine

O Speech Engine foi desenvolvido para desenvolvedores que querem usar seu próprio LLM e controlar a lógica da conversa em seu próprio servidor. Use-o quando precisar:

* Adicionar voz a um agente de chat existente baseado em texto
* Usar um LLM específico, um modelo ajustado ou um pipeline de inferência personalizado
* Manter controle total sobre o roteamento da conversa, o gerenciamento de contexto e a chamada de ferramentas
* Integrar voz a um aplicativo de servidor existente (Express, FastAPI etc.)

Se quiser uma solução totalmente hospedada em que a ElevenLabs fornece o LLM, a base de conhecimento e as ferramentas, use o [ElevenAgents](/docs/pt/eleven-agents/overview).

## Recursos principais

* **Qualquer LLM** - use OpenAI, Anthropic, Google Gemini ou qualquer modelo que produza texto. O SDK extrai automaticamente texto dos formatos de streaming da OpenAI, Anthropic e Gemini.
* **Gerenciamento de interrupções** - quando o usuário fala durante uma resposta, o SDK cancela automaticamente a solicitação de LLM em andamento por meio de um `AbortSignal` (TypeScript) ou cancelamento de tarefa (Python).
* **Streaming** - as respostas são transmitidas ao navegador à medida que são geradas. Envie uma string, um iterável assíncrono ou um objeto de stream nativo do LLM.
* **Alternância de turnos** - o SDK gerencia os turnos da conversa, então seu servidor só precisa responder às transcrições.

## Duração da conversa

O Speech Engine oferece suporte a conversas de até 40 minutos (2.400 segundos). Por padrão, uma
conversa termina após 600 segundos (10 minutos). Para permitir conversas mais longas, aumente
`conversation.max_duration_seconds` na API ou **Duração máxima da conversa** na guia
**Avançado** do painel. Consulte
[Como configurar a duração máxima da conversa](/docs/pt/eleven-api/guides/cookbooks/speech-engine#configuring-the-maximum-conversation-duration).
Se precisar de conversas com mais de 40 minutos, [fale com nossa equipe](https://elevenlabs.io/contact-sales).

## Lista de permissões de IP

Se seu servidor estiver atrás de um firewall ou usar controles de acesso baseados em IP, você poderá adicionar à lista de permissões os IPs de saída estáticos dos quais as conexões WebSocket da ElevenLabs são originadas. Consulte [Lista de permissões de IP](/docs/pt/eleven-api/resources/ip-allowlisting) para ver a lista completa de endereços IP.

> **Tip**
>
> Usar uma lista de permissões de IP garante que seu servidor aceite conexões WebSocket apenas dos
> sistemas da ElevenLabs.

## Perguntas frequentes

#### Quais LLMs são compatíveis?

Qualquer LLM que produza texto. O SDK tem extração de stream integrada para a OpenAI (Responses API e
Chat Completions API), Anthropic Messages API e Google Gemini API. Para outros provedores, envie
uma string simples ou um iterável assíncrono de partes de string.

#### Qual é a diferença entre o Speech Engine e o ElevenAgents?

O ElevenAgents é uma plataforma totalmente hospedada em que a ElevenLabs fornece o LLM, a base de conhecimento e as
ferramentas. O Speech Engine é para desenvolvedores que querem usar seu próprio LLM e controlar a
lógica da conversa em seu próprio servidor.

#### Quais frameworks de servidor são compatíveis?

Em TypeScript, você pode conectar o Speech Engine a qualquer servidor HTTP Node.js (Express, Fastify ou
`http.createServer()` simples), ou executar um servidor WebSocket independente. Em Python, o SDK oferece
um servidor independente por meio de `engine.serve()`, ou você pode integrar com FastAPI, Starlette ou qualquer
framework ASGI usando `engine.create_session()`.