> 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.

### ElevenAgents

- **Escopo de ferramentas MCP em workflows de agentes**: Os nós de workflow de agentes agora podem restringir quais ferramentas MCP um subagente pode chamar. Quando a herança de ferramentas está desativada em um nó, somente as ferramentas MCP selecionadas explicitamente são carregadas para esse subagente, dando às equipes controle preciso sobre o acesso às ferramentas em cada etapa do workflow.

- **Upload de arquivos em conversas**: Os endpoints [criar agente](/docs/pt/api-reference/agents/create) e [atualizar agente](/docs/pt/api-reference/agents/update) agora oferecem suporte a um campo `file_input` em `ConversationConfig`. Quando ativado, os usuários finais podem anexar imagens ou PDFs no chat (requer um LLM com suporte a entrada multimodal). Configurável com `enabled` (booleano) e `max_files_per_conversation` (inteiro).

- **Executar novamente a análise da conversa**: O novo endpoint [executar análise da conversa](/docs/pt/api-reference/conversations/analysis/run-analysis) (`POST /v1/convai/conversations/{conversation_id}/analysis/run`) reavalia uma conversa concluída usando os critérios de avaliação e as configurações de coleta de dados atuais do agente, sem precisar de uma nova chamada.

- **Simulação de respostas de ferramentas para testes**: Os testes de simulação de agentes e as execuções de suítes de teste agora oferecem suporte a um campo `tool_mock_config` para controlar como as chamadas de ferramentas são tratadas durante os testes. Use `MockingStrategy` (`all`, `selected`, `none`) para escolher quais ferramentas são simuladas e `MockNoMatchBehavior` (`call_real_tool`, `raise_error`) para definir a alternativa quando nenhuma simulação corresponde.

- **Ordem de classificação da busca textual**: O endpoint [buscar conversas por texto](/docs/pt/api-reference/conversations/messages/text-search) agora aceita um parâmetro de consulta `sort_by` com os valores `search_score` (padrão) ou `created_at`, permitindo controlar se os resultados são ordenados por relevância ou recência.

- **Conexões de autenticação mTLS**: As conexões de autenticação de agentes agora oferecem suporte a TLS mútuo (`mtls`) como `auth_type`, além das opções existentes. Os novos esquemas `CreateMTLSAuthRequest` e `MTLSAuthResponse` estão disponíveis para criar e recuperar conexões autenticadas por mTLS.

- **Mensagem de duração máxima**: Adicionamos o campo `max_conversation_duration_message` à configuração do agente. Quando definido como uma string não vazia, o agente enviará essa mensagem ao usuário quando a duração máxima da conversa for atingida.

- **Branch e ambiente no início da conversa**: Adicionamos os campos opcionais `branch_id` e `environment` aos dados do cliente de início da conversa (`ConversationInitiationClientDataRequest`) e ao corpo da solicitação de [enviar chamada em lote](/docs/pt/api-reference/batch-calling/create), permitindo o roteamento para branches e ambientes específicos de agentes.

### Música

- **Vídeo para música**: O novo endpoint `POST /v1/music/video-to-music` gera música de fundo a partir de um ou mais arquivos de vídeo. Os vídeos são combinados em sequência. Aceita `description` opcional (até 1.000 caracteres) e `tags` (até 10 tags de estilo, como `upbeat` ou `cinematic`) para influenciar a faixa gerada.

### Speech to Text

- **Transcrever a partir de URL**: O endpoint [converter fala em texto](/docs/pt/api-reference/speech-to-text/convert) agora aceita um parâmetro `source_url` (string, opcional) para transcrever áudio ou vídeo de uma URL hospedada, incluindo vídeos do YouTube, vídeos do TikTok e outros serviços de hospedagem de vídeo. Isso pode ser usado como alternativa ao upload direto de um arquivo.

### Vozes

- **Contagem total na lista de vozes compartilhadas**: A resposta de [listar vozes compartilhadas](/docs/pt/api-reference/voices/voice-library/get-shared) agora inclui um campo `total_count`, facilitando a implementação de paginação e a exibição da contagem de resultados.

### Lançamentos de SDK

#### SDK JavaScript

- [v2.41.0](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.41.0) - Adicionado suporte ao tipo de evento WebSocket `multimodal_message` em conversas em tempo real do ElevenAgents. Inclui regeneração do Fern para as atualizações mais recentes do esquema da API.
- [v2.41.1](https://github.com/elevenlabs/elevenlabs-js/releases/tag/v2.41.1) - Regeneração do Fern para corresponder ao esquema da API de 1º de abril de 2026.

#### SDK Python

- [v2.41.0](https://github.com/elevenlabs/elevenlabs-python/releases/tag/v2.41.0) - Corrigido `audio_interface` para ser opcional no modo de conversa somente de texto, resolvendo um erro de execução ao iniciar uma sessão sem áudio. Inclui regeneração do Fern para o esquema mais recente da API.

#### Pacotes

Esta versão inclui o novo v1.0.0 dos SDKs de Agentes do lado do cliente. Ela traz grandes mudanças incompatíveis em `@elevenlabs/client`, `@elevenlabs/react` e `@elevenlabs/react-native`. Consulte as orientações de migração abaixo antes de atualizar.

Para ajudar na atualização, lançamos uma Skill para ajudar seus agentes a atualizarem por você. Instale-a com

```
npx skills add elevenlabs/packages
```

Você pode ler mais sobre a versão v1 e suas melhorias em nosso [blog para desenvolvedores](https://elevenlabs.io/blog/elevenagents-react-sdk-v1-0).

- [@elevenlabs/client@1.0.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@1.0.0) — **Mudanças incompatíveis:**

  - As classes `Input` e `Output` não são mais exportadas. Use as interfaces `InputController` e `OutputController` de `@elevenlabs/client`.
  - `Conversation` não é mais uma classe — agora é um objeto de namespace e um alias de tipo para `TextConversation | VoiceConversation`. Remova todas as verificações com `instanceof Conversation` e subclasses.
  - O `connectionType` padrão agora é inferido do modo da conversa: conversas por voz usam `"webrtc"` por padrão, e conversas somente de texto usam `"websocket"`. Para manter o comportamento anterior para voz, passe `connectionType: "websocket"` explicitamente.
  - `VoiceConversation.wakeLock` agora é privado. Passe `useWakeLock: false` nas opções da sessão para desativar o gerenciamento do bloqueio de ativação.
  - `changeInputDevice()` e `changeOutputDevice()` agora retornam `Promise<void>` em vez de `Promise<Input>` ou `Promise<Output>`.
  - Substitua `conversation.input.analyser.getByteFrequencyData(data)` por `conversation.getInputByteFrequencyData()`.
  - Substitua `conversation.input.setMuted(v)` por `conversation.setMicMuted(v)`.
  - Substitua `conversation.output.gain.gain.value = v` por `conversation.setVolume({ volume: v })`.
  - `getInputVolume()`, `getOutputVolume()`, `getInputByteFrequencyData()` e `getOutputByteFrequencyData()` agora retornam `0` ou um `Uint8Array` vazio em vez de gerar um erro quando não há conversa ativa.

- [@elevenlabs/react@1.0.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react@1.0.0) — **Mudanças incompatíveis:**

  - `useConversation` agora requer um ancestral `ConversationProvider`. Envolva sua árvore de componentes em `<ConversationProvider>` e mova as opções para o provider ou para o hook.
  - As exportações `DeviceFormatConfig` e `DeviceInputConfig` foram removidas. Use `FormatConfig` e `InputDeviceConfig` de `@elevenlabs/client`.
  - Novos hooks granulares substituem o `useConversation` monolítico para melhorar o desempenho de renderização: `useConversationControls()`, `useConversationStatus()`, `useConversationInput()`, `useConversationMode()`, `useConversationFeedback()` e `useRawConversation()`. Cada hook assina somente o estado de que precisa, evitando novas renderizações desnecessárias.
  - Novo hook `useConversationClientTool(name, handler)` para registrar ferramentas do cliente que os agentes podem invocar, com limpeza automática ao desmontar.
  - Adicionado suporte a silenciamento controlado por meio das props `isMuted` e `onMutedChange` em `ConversationProvider`.

- [@elevenlabs/react-native@1.0.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@1.0.0) — **Mudanças incompatíveis:**

  - A API anterior de `ElevenLabsProvider` e `useConversation` foi removida e substituída por reexportações de `@elevenlabs/react`. Substitua `ElevenLabsProvider` por `ConversationProvider` e `useConversation` pelos hooks granulares (`useConversationControls`, `useConversationStatus` etc.).
  - No React Native, o pacote agora implementa polyfills para globais do WebRTC, configura a `AudioSession` nativa e registra uma estratégia de sessão de voz específica da plataforma na importação.

- [@elevenlabs/types@0.8.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/types@0.8.0) - Exporta o array de runtime `CALLBACK_KEYS`, que contém todas as chaves da interface `Callbacks` e é usado internamente pelo SDK React para composição de callbacks.

- [@elevenlabs/client@0.16.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@0.16.0) - Adicionado o evento WebSocket de servidor para cliente `guardrail_triggered` e o callback `onGuardrailTriggered`, acionado quando o servidor detecta uma violação de proteção durante uma conversa. Também foram adicionados discriminantes de tipo a `TextConversation` e `VoiceConversation` para permitir o estreitamento de uniões discriminadas, além de sobrecargas de `startSession` que restringem o tipo de retorno com base na opção `textOnly`.

- [@elevenlabs/react-native@0.6.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@0.6.0) - Adicionados o evento WebSocket `guardrail_triggered` e o callback `onGuardrailTriggered`, em conformidade com `@elevenlabs/client@0.16.0`.

- [@elevenlabs/client@1.1.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/client@1.1.0) - Adicionado suporte no lado do cliente para simular respostas de ferramentas em conversas de agentes, permitindo cenários de teste que simulam resultados de chamadas de ferramentas sem invocar ferramentas reais.

- [@elevenlabs/types@0.9.0](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/types@0.9.0) - Adicionadas definições de tipo para simulação de respostas de ferramentas em conversas de agentes.

- [@elevenlabs/react@1.0.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react@1.0.1) - Atualizado para depender de `@elevenlabs/client@1.1.0`.

- [@elevenlabs/react-native@1.0.1](https://github.com/elevenlabs/packages/releases/tag/@elevenlabs/react-native@1.0.1) - Atualizado para depender de `@elevenlabs/client@1.1.0` e `@elevenlabs/react@1.0.1`.

### API

<Accordion title="Ver alterações da API">

## Novos endpoints

- [Executar análise da conversa](/docs/pt/api-reference/conversations/analysis/run-analysis) - `POST /v1/convai/conversations/{conversation_id}/analysis/run` - Executa novamente a análise de uma conversa concluída usando os critérios de avaliação e as configurações de coleta de dados atuais do agente.

- `POST /v1/music/video-to-music` - Gera música de fundo a partir de um ou mais arquivos de vídeo fornecidos como dados de formulário multipart.

## Endpoints atualizados

### ElevenAgents

- [Criar agente](/docs/pt/api-reference/agents/create), [Atualizar agente](/docs/pt/api-reference/agents/update)

  - Adicionado o campo `file_input` (`FileInputConfig`, opcional) a `ConversationConfig`, permitindo suporte a upload de arquivos (imagens, PDFs) em conversas de chat quando o LLM oferece suporte a entrada multimodal
  - Adicionado o campo `max_conversation_duration_message` (string, opcional) à configuração do agente — o agente envia esta mensagem quando o limite de tempo da sessão é atingido

- [Criar teste](/docs/pt/api-reference/tests/create), [Atualizar teste](/docs/pt/api-reference/tests/update)

  - Adicionado o campo `tool_mock_config` (objeto, opcional) — um mapa de nomes de ferramentas para entradas `ToolResponseMockConfig` que controla o comportamento de simulação de ferramentas durante a simulação

- [Buscar conversas por texto](/docs/pt/api-reference/conversations/messages/text-search)

  - Adicionado o parâmetro de consulta `sort_by` (string, opcional) — aceita `search_score` (padrão) ou `created_at`

- [Enviar chamada em lote](/docs/pt/api-reference/batch-calling/create)

  - Adicionado o campo `branch_id` (string, opcional) para direcionar a um branch específico de agente
  - Adicionado o campo `environment` (string, opcional) para especificar o ambiente de destino

- [Chamada de saída do Twilio](/docs/pt/api-reference/twilio/outbound-call), [Chamada de saída do tronco SIP](/docs/pt/api-reference/sip-trunk/outbound-call)

  - Os dados do cliente de início da conversa agora aceitam os campos opcionais `branch_id` e `environment`

### Speech to Text

- [Converter fala em texto](/docs/pt/api-reference/speech-to-text/convert)

  - Adicionado o parâmetro `source_url` (string, opcional) — aceita uma URL para um arquivo de áudio ou vídeo, vídeo do YouTube, vídeo do TikTok ou outra mídia hospedada como alternativa ao upload de um arquivo

### Vozes

- [Listar vozes compartilhadas](/docs/pt/api-reference/voices/voice-library/get-shared)

  - Adicionado o campo `total_count` (inteiro) ao modelo de resposta

### Alinhamento forçado

- [Criar alinhamento forçado](/docs/pt/api-reference/forced-alignment/create)

  - Removido o parâmetro `enabled_spooled_file` do corpo da solicitação de dados de formulário multipart

</Accordion>