ElevenAgents

  • Zakres narzędzi MCP w workflow agentów: Węzły workflow agentów mogą teraz ograniczać, które narzędzia MCP subagent może wywoływać. Gdy dziedziczenie narzędzi jest wyłączone dla węzła, dla tego subagenta ładowane są tylko wyraźnie wybrane narzędzia MCP, co daje zespołom precyzyjną kontrolę nad dostępem do narzędzi na każdym etapie workflow.

  • Przesyłanie plików w rozmowach: Endpointy create agent i update agent obsługują teraz pole file_input w ConversationConfig. Po włączeniu użytkownicy końcowi mogą dodawać do czatu obrazy lub pliki PDF (wymaga LLM z obsługą wejścia multimodalnego). Konfiguracja za pomocą enabled (boolean) i max_files_per_conversation (integer).

  • Ponowne uruchamianie analizy rozmowy: Nowy endpoint run conversation analysis (POST /v1/convai/conversations/{conversation_id}/analysis/run) ponownie ocenia zakończoną rozmowę według aktualnych kryteriów oceny i ustawień zbierania danych agenta, bez potrzeby wykonywania nowego połączenia.

  • Mockowanie odpowiedzi narzędzi w testach: Testy symulacji agentów i uruchomienia zestawów testów obsługują teraz pole tool_mock_config, które pozwala określić obsługę wywołań narzędzi podczas testowania. Użyj MockingStrategy (all, selected, none), aby wybrać mockowane narzędzia, oraz MockNoMatchBehavior (call_real_tool, raise_error), aby ustawić zachowanie awaryjne, gdy żaden mock nie pasuje.

  • Kolejność sortowania wyszukiwania tekstowego: Endpoint text search conversations przyjmuje teraz parametr zapytania sort_by z wartościami search_score (domyślna) lub created_at, dzięki czemu możesz określić, czy wyniki są sortowane według trafności, czy daty.

  • Połączenia uwierzytelniane mTLS: Połączenia uwierzytelniania agentów obsługują teraz wzajemny TLS (mtls) jako auth_type, obok istniejących opcji. Nowe schematy CreateMTLSAuthRequest i MTLSAuthResponse są dostępne do tworzenia i pobierania połączeń uwierzytelnianych przez mTLS.

  • Komunikat o maksymalnym czasie trwania: Dodano pole max_conversation_duration_message do konfiguracji agenta. Gdy jest ustawione na niepusty ciąg znaków, agent wyśle użytkownikowi tę wiadomość po osiągnięciu maksymalnego czasu rozmowy.

  • Gałąź i środowisko przy inicjowaniu rozmowy: Dodano opcjonalne pola branch_id i environment do danych klienta inicjujących rozmowę (ConversationInitiationClientDataRequest) oraz treści żądania submit batch call, co umożliwia kierowanie do konkretnych gałęzi i środowisk agentów.

Muzyka

  • Wideo na muzykę: Nowy endpoint POST /v1/music/video-to-music generuje muzykę w tle z jednego lub kilku plików wideo. Filmy są łączone kolejno. Przyjmuje opcjonalne description (do 1000 znaków) i tags (do 10 tagów stylu, takich jak upbeat lub cinematic), które wpływają na wygenerowany utwór.

Zamiana mowy na tekst

  • Transkrypcja z URL: Endpoint convert speech to text przyjmuje teraz parametr source_url (string, opcjonalny) do transkrypcji audio lub wideo z hostowanego adresu URL, w tym filmów z YouTube, TikToka i innych usług hostingu wideo. Może być używany zamiast bezpośredniego przesyłania pliku.

Głosy

  • Łączna liczba na liście udostępnionych głosów: Odpowiedź list shared voices zawiera teraz pole total_count, co ułatwia wdrożenie paginacji i wyświetlanie liczby wyników.

Wydania SDK

JavaScript SDK

  • v2.41.0 - Dodano obsługę typu zdarzenia WebSocket multimodal_message w rozmowach ElevenAgents w czasie rzeczywistym. Zawiera regenerację Fern dla najnowszych aktualizacji schematu API.
  • v2.41.1 - Regeneracja Fern zgodna ze schematem API z 1 kwietnia 2026 r.

Python SDK

  • v2.41.0 - Poprawiono opcjonalność audio_interface w trybie rozmowy tylko tekstowej, rozwiązując błąd w czasie działania przy rozpoczynaniu sesji bez audio. Zawiera regenerację Fern dla najnowszego schematu API.

Pakiety

To wydanie zawiera nowe wersje 1.0.0 Agent SDK po stronie klienta. Wprowadzają one ważne niekompatybilne zmiany w @elevenlabs/client, @elevenlabs/react i @elevenlabs/react-native. Przed aktualizacją zapoznaj się z poniższymi wskazówkami dotyczącymi migracji.

Aby ułatwić aktualizację, wydaliśmy Skill, który pomoże twoim agentom przeprowadzić ją za ciebie. Zainstaluj go poleceniem

npx skills add elevenlabs/packages

Więcej o wydaniu v1 i jego ulepszeniach przeczytasz na naszym blogu dla deweloperów.

  • @elevenlabs/client@1.0.0 — Niekompatybilne zmiany:

    • Klasy Input i Output nie są już eksportowane. Zamiast nich użyj interfejsów InputController i OutputController z @elevenlabs/client.
    • Conversation nie jest już klasą — jest teraz obiektem przestrzeni nazw i aliasem typu dla TextConversation | VoiceConversation. Usuń wszelkie sprawdzenia instanceof Conversation i podklasy.
    • Domyślny connectionType jest teraz wywnioskowany z trybu rozmowy: rozmowy głosowe domyślnie używają "webrtc", a rozmowy tylko tekstowe — "websocket". Aby zachować wcześniejsze zachowanie dla głosu, przekaż jawnie connectionType: "websocket".
    • VoiceConversation.wakeLock jest teraz prywatne. Przekaż useWakeLock: false w opcjach sesji, aby wyłączyć zarządzanie blokadą wybudzenia.
    • changeInputDevice() i changeOutputDevice() zwracają teraz Promise<void> zamiast Promise<Input> lub Promise<Output>.
    • Zastąp conversation.input.analyser.getByteFrequencyData(data) przez conversation.getInputByteFrequencyData().
    • Zastąp conversation.input.setMuted(v) przez conversation.setMicMuted(v).
    • Zastąp conversation.output.gain.gain.value = v przez conversation.setVolume({ volume: v }).
    • getInputVolume(), getOutputVolume(), getInputByteFrequencyData() i getOutputByteFrequencyData() zwracają teraz 0 lub pustą wartość Uint8Array zamiast zgłaszać błąd, gdy żadna rozmowa nie jest aktywna.
  • @elevenlabs/react@1.0.0 — Niekompatybilne zmiany:

    • useConversation wymaga teraz nadrzędnego ConversationProvider. Owiń drzewo komponentów w <ConversationProvider> i przenieś opcje do providera lub hooka.
    • Eksporty DeviceFormatConfig i DeviceInputConfig zostały usunięte. Zamiast nich użyj FormatConfig i InputDeviceConfig z @elevenlabs/client.
    • Nowe szczegółowe hooki zastępują monolityczny useConversation, aby poprawić wydajność renderowania: useConversationControls(), useConversationStatus(), useConversationInput(), useConversationMode(), useConversationFeedback() i useRawConversation(). Każdy hook subskrybuje tylko potrzebny mu stan, zapobiegając niepotrzebnym ponownym renderowaniom.
    • Nowy hook useConversationClientTool(name, handler) do rejestrowania narzędzi klienta, które mogą wywoływać agenci, z automatycznym czyszczeniem przy odmontowaniu.
    • Dodano obsługę kontrolowanego wyciszenia przez propsy isMuted i onMutedChange w ConversationProvider.
  • @elevenlabs/react-native@1.0.0 — Niekompatybilne zmiany:

    • Poprzednie API ElevenLabsProvider i useConversation zostało usunięte i zastąpione reeksportami z @elevenlabs/react. Zastąp ElevenLabsProvider przez ConversationProvider, a useConversation przez szczegółowe hooki (useConversationControls, useConversationStatus itd.).
    • W React Native pakiet przy imporcie dodaje polyfill globalnych obiektów WebRTC, konfiguruje natywny AudioSession i rejestruje specyficzną dla platformy strategię sesji głosowej.
  • @elevenlabs/types@0.8.0 - Eksportuje tablicę środowiska uruchomieniowego CALLBACK_KEYS, zawierającą wszystkie klucze z interfejsu Callbacks, używaną wewnętrznie przez React SDK do łączenia callbacków.

  • @elevenlabs/client@0.16.0 - Dodano zdarzenie WebSocket serwer-klient guardrail_triggered oraz callback onGuardrailTriggered, wywoływany, gdy serwer wykryje naruszenie zabezpieczeń podczas rozmowy. Dodano też dyskryminatory typu do TextConversation i VoiceConversation, aby umożliwić zawężanie unii dyskryminowanej, oraz przeciążenia startSession, które zawężają typ zwracany zależnie od opcji textOnly.

  • @elevenlabs/react-native@0.6.0 - Dodano zdarzenie WebSocket guardrail_triggered i callback onGuardrailTriggered, zgodne z @elevenlabs/client@0.16.0.

  • @elevenlabs/client@1.1.0 - Dodano po stronie klienta obsługę mockowania odpowiedzi narzędzi w rozmowach agentów, umożliwiając scenariusze testowe symulujące wyniki wywołań narzędzi bez uruchamiania prawdziwych narzędzi.

  • @elevenlabs/types@0.9.0 - Dodano definicje typów do mockowania odpowiedzi narzędzi w rozmowach agentów.

  • @elevenlabs/react@1.0.1 - Zaktualizowano zależność do @elevenlabs/client@1.1.0.

  • @elevenlabs/react-native@1.0.1 - Zaktualizowano zależności do @elevenlabs/client@1.1.0 i @elevenlabs/react@1.0.1.

API

Nowe endpointy

  • Uruchom analizę rozmowy - POST /v1/convai/conversations/{conversation_id}/analysis/run - Ponownie uruchamia analizę zakończonej rozmowy według aktualnych kryteriów oceny i ustawień zbierania danych agenta.

  • POST /v1/music/video-to-music - Generuje muzykę w tle z jednego lub kilku plików wideo przesłanych jako dane formularza multipart.

Zaktualizowane endpointy

ElevenAgents

  • Utwórz agenta, Zaktualizuj agenta

    • Dodano pole file_input (FileInputConfig, opcjonalne) do ConversationConfig, umożliwiające przesyłanie plików (obrazów, PDF-ów) w rozmowach na czacie, gdy LLM obsługuje wejście multimodalne
    • Dodano pole max_conversation_duration_message (string, opcjonalne) do konfiguracji agenta — agent wysyła tę wiadomość po osiągnięciu limitu czasu sesji
  • Utwórz test, Zaktualizuj test

    • Dodano pole tool_mock_config (object, opcjonalne) — mapę nazw narzędzi do wpisów ToolResponseMockConfig, umożliwiającą kontrolę mockowania narzędzi podczas symulacji
  • Wyszukaj tekstowo rozmowy

    • Dodano parametr zapytania sort_by (string, opcjonalny) — przyjmuje search_score (domyślna) lub created_at
  • Wyślij połączenie wsadowe

    • Dodano pole branch_id (string, opcjonalne), aby wskazać konkretną gałąź agenta
    • Dodano pole environment (string, opcjonalne), aby określić docelowe środowisko
  • Wychodzące połączenie Twilio, Wychodzące połączenie SIP trunk

    • Dane klienta inicjującego rozmowę przyjmują teraz opcjonalne pola branch_id i environment

Zamiana mowy na tekst

  • Zamień mowę na tekst

    • Dodano parametr source_url (string, opcjonalny) — przyjmuje URL do pliku audio lub wideo, filmu z YouTube, TikToka albo innych hostowanych multimediów jako alternatywę dla przesyłania pliku

Głosy

Wymuszone wyrównanie