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 e atualizar agente 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 (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 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, 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 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 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 - 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 - Regeneração do Fern para corresponder ao esquema da API de 1º de abril de 2026.

SDK Python

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

  • @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 — 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 — 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 - 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 - 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 - Adicionados o evento WebSocket guardrail_triggered e o callback onGuardrailTriggered, em conformidade com @elevenlabs/client@0.16.0.

  • @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 - Adicionadas definições de tipo para simulação de respostas de ferramentas em conversas de agentes.

  • @elevenlabs/react@1.0.1 - Atualizado para depender de @elevenlabs/client@1.1.0.

  • @elevenlabs/react-native@1.0.1 - Atualizado para depender de @elevenlabs/client@1.1.0 e @elevenlabs/react@1.0.1.

API

Novos endpoints

  • Executar análise da conversa - 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, Atualizar agente

    • 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, Atualizar teste

    • 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

    • Adicionado o parâmetro de consulta sort_by (string, opcional) — aceita search_score (padrão) ou created_at
  • Enviar chamada em lote

    • 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, Chamada de saída do tronco SIP

    • 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

    • 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

Alinhamento forçado

  • Criar alinhamento forçado

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