ElevenAgents

  • 에이전트 워크플로의 MCP 도구 범위 지정: 이제 에이전트 워크플로 노드에서 하위 에이전트가 호출할 수 있는 MCP 도구를 제한할 수 있습니다. 노드에서 도구 상속을 비활성화하면 명시적으로 선택한 MCP 도구만 해당 하위 에이전트에 로드되어, 팀이 워크플로 단계별 도구 액세스를 정밀하게 제어할 수 있습니다.

  • 대화 파일 업로드: 이제 에이전트 생성 및 에이전트 업데이트 엔드포인트에서 ConversationConfig의 file_input 필드를 지원합니다. 활성화하면 최종 사용자가 채팅에 이미지나 PDF를 첨부할 수 있습니다(멀티모달 입력을 지원하는 LLM 필요). enabled(boolean) 및 max_files_per_conversation(integer)으로 구성할 수 있습니다.

  • 대화 분석 재실행: 새로운 대화 분석 실행 엔드포인트(POST /v1/convai/conversations/{conversation_id}/analysis/run)는 새 통화 없이 에이전트의 현재 평가 기준 및 데이터 수집 설정을 사용해 완료된 대화를 다시 평가합니다.

  • 테스트용 도구 응답 모킹: 이제 에이전트 시뮬레이션 테스트와 테스트 스위트 호출에서 tool_mock_config 필드를 지원하여, 테스트 중 도구 호출 처리 방식을 제어할 수 있습니다. MockingStrategy(all, selected, none)를 사용해 모킹할 도구를 선택하고, MockNoMatchBehavior(call_real_tool, raise_error)로 일치하는 모킹이 없을 때의 대체 동작을 설정하세요.

  • 텍스트 검색 정렬 순서: 이제 텍스트로 대화 검색 엔드포인트에서 search_score(기본값) 또는 created_at 값을 가진 sort_by 쿼리 매개변수를 허용하여, 결과를 관련성 또는 최신순으로 정렬할지 제어할 수 있습니다.

  • mTLS 인증 연결: 이제 에이전트 인증 연결에서 기존 옵션에 더해 상호 TLS(mtls)를 auth_type으로 지원합니다. mTLS 인증 연결을 생성하고 조회할 수 있는 새로운 CreateMTLSAuthRequest 및 MTLSAuthResponse 스키마를 사용할 수 있습니다.

  • 최대 지속 시간 메시지: 에이전트 구성에 max_conversation_duration_message 필드를 추가했습니다. 비어 있지 않은 문자열로 설정하면 최대 대화 지속 시간에 도달했을 때 에이전트가 사용자에게 이 메시지를 보냅니다.

  • 대화 시작 시 브랜치 및 환경 지정: 대화 시작 클라이언트 데이터(ConversationInitiationClientDataRequest)와 일괄 통화 제출 요청 본문에 선택적 branch_id 및 environment 필드를 추가하여, 특정 에이전트 브랜치와 환경으로 라우팅할 수 있습니다.

음악

  • 비디오에서 음악 생성: 새 POST /v1/music/video-to-music 엔드포인트는 하나 이상의 비디오 파일에서 배경 음악을 생성합니다. 비디오는 순서대로 결합됩니다. 생성된 트랙에 영향을 주도록 선택적 description(최대 1,000자)과 tags(upbeat, cinematic 등의 스타일 태그 최대 10개)를 허용합니다.

음성을 텍스트로 변환

  • URL에서 전사: 이제 음성을 텍스트로 변환 엔드포인트에서 호스팅된 URL의 오디오 또는 비디오를 전사하기 위한 source_url 매개변수(문자열, 선택 사항)를 지원합니다. YouTube 비디오, TikTok 비디오 및 기타 비디오 호스팅 서비스를 포함합니다. 파일을 직접 업로드하는 대신 사용할 수 있습니다.

음성

  • 공유 음성 목록의 총 개수: 이제 공유 음성 목록 응답에 total_count 필드가 포함되어, 페이지네이션 구현과 결과 수 표시가 더 쉬워집니다.

SDK 릴리스

JavaScript SDK

  • v2.41.0 - ElevenAgents 실시간 대화에서 multimodal_message WebSocket 이벤트 유형을 지원하도록 추가했습니다. 최신 API 스키마 업데이트를 위한 Fern 재생성도 포함합니다.
  • v2.41.1 - 2026년 4월 1일 API 스키마에 맞춘 Fern 재생성입니다.

Python SDK

  • v2.41.0 - 텍스트 전용 대화 모드에서 audio_interface가 선택 사항이 되도록 수정하여, 오디오 없이 세션을 시작할 때 발생하던 런타임 오류를 해결했습니다. 최신 API 스키마를 위한 Fern 재생성도 포함합니다.

패키지

이번 릴리스에는 클라이언트 측 Agent SDK의 새로운 v1.0.0이 포함됩니다. @elevenlabs/client, @elevenlabs/react, @elevenlabs/react-native에 주요 호환성 중단 변경 사항이 적용되었습니다. 업그레이드하기 전에 아래 마이그레이션 가이드를 확인하세요.

업그레이드를 돕기 위해, 에이전트가 대신 업그레이드할 수 있도록 지원하는 Skill을 출시했습니다. 다음으로 설치하세요.

npx skills add elevenlabs/packages

v1 릴리스와 개선 사항에 대한 자세한 내용은 개발자 블로그에서 확인할 수 있습니다.

  • @elevenlabs/client@1.0.0 — 호환성 중단 변경 사항:

    • Input 및 Output 클래스는 더 이상 내보내지 않습니다. 대신 @elevenlabs/client의 InputController 및 OutputController 인터페이스를 사용하세요.
    • Conversation은 더 이상 클래스가 아닙니다. 이제 네임스페이스 객체이자 TextConversation | VoiceConversation의 타입 별칭입니다. instanceof Conversation 검사 및 하위 클래스를 모두 제거하세요.
    • 기본 connectionType은 이제 대화 모드에서 추론됩니다. 음성 대화는 기본적으로 "webrtc"를 사용하고, 텍스트 전용 대화는 "websocket"을 사용합니다. 음성에서 이전 동작을 유지하려면 connectionType: "websocket"을 명시적으로 전달하세요.
    • VoiceConversation.wakeLock은 이제 비공개입니다. 웨이크 락 관리를 비활성화하려면 세션 옵션에 useWakeLock: false를 전달하세요.
    • 이제 changeInputDevice()와 changeOutputDevice()는 Promise<Input> 또는 Promise<Output> 대신 Promise<void>를 반환합니다.
    • conversation.input.analyser.getByteFrequencyData(data)를 conversation.getInputByteFrequencyData()로 바꾸세요.
    • conversation.input.setMuted(v)를 conversation.setMicMuted(v)로 바꾸세요.
    • conversation.output.gain.gain.value = v를 conversation.setVolume({ volume: v })로 바꾸세요.
    • 이제 활성 대화가 없을 때 getInputVolume(), getOutputVolume(), getInputByteFrequencyData(), getOutputByteFrequencyData()는 오류를 발생시키는 대신 0 또는 빈 Uint8Array를 반환합니다.
  • @elevenlabs/react@1.0.0 — 호환성 중단 변경 사항:

    • 이제 useConversation에는 상위 ConversationProvider가 필요합니다. 컴포넌트 트리를 <ConversationProvider>로 감싸고 옵션을 provider 또는 hook으로 옮기세요.
    • DeviceFormatConfig 및 DeviceInputConfig 내보내기가 제거되었습니다. 대신 @elevenlabs/client의 FormatConfig 및 InputDeviceConfig를 사용하세요.
    • 더 나은 렌더링 성능을 위해 새로운 세분화된 hook이 단일 useConversation을 대체합니다. useConversationControls(), useConversationStatus(), useConversationInput(), useConversationMode(), useConversationFeedback(), useRawConversation()입니다. 각 hook은 필요한 상태만 구독하므로 불필요한 재렌더링을 방지합니다.
    • 에이전트가 호출할 수 있는 클라이언트 도구를 등록하고 언마운트 시 자동으로 정리하는 새 useConversationClientTool(name, handler) hook을 추가했습니다.
    • ConversationProvider의 isMuted 및 onMutedChange props를 통한 제어형 음소거 지원을 추가했습니다.
  • @elevenlabs/react-native@1.0.0 — 호환성 중단 변경 사항:

    • 이전 ElevenLabsProvider 및 useConversation API는 제거되었으며, @elevenlabs/react에서 다시 내보내는 API로 대체되었습니다. ElevenLabsProvider를 ConversationProvider로, useConversation을 세분화된 hook(useConversationControls, useConversationStatus 등)으로 바꾸세요.
    • React Native에서 이제 이 패키지는 WebRTC 전역 객체를 폴리필하고, 네이티브 AudioSession을 구성하며, 가져오기 시 플랫폼별 음성 세션 전략을 등록합니다.
  • @elevenlabs/types@0.8.0 - Callbacks 인터페이스의 모든 키를 포함하는 CALLBACK_KEYS 런타임 배열을 내보냅니다. 이 배열은 콜백 구성을 위해 React SDK 내부에서 사용됩니다.

  • @elevenlabs/client@0.16.0 - guardrail_triggered 서버-클라이언트 WebSocket 이벤트와 대화 중 서버가 가드레일 위반을 감지할 때 실행되는 onGuardrailTriggered 콜백을 추가했습니다. 또한 판별된 유니온 내로잉을 활성화하도록 TextConversation 및 VoiceConversation에 타입 판별자를 추가하고, textOnly 옵션에 따라 반환 타입을 좁히는 startSession 오버로드를 추가했습니다.

  • @elevenlabs/react-native@0.6.0 - @elevenlabs/client@0.16.0과 일관되게 guardrail_triggered WebSocket 이벤트와 onGuardrailTriggered 콜백을 추가했습니다.

  • @elevenlabs/client@1.1.0 - 실제 도구를 호출하지 않고 도구 호출 결과를 시뮬레이션하는 테스트 시나리오를 지원하도록, 에이전트 대화에서 도구 응답 모킹을 위한 클라이언트 측 지원을 추가했습니다.

  • @elevenlabs/types@0.9.0 - 에이전트 대화의 도구 응답 모킹을 위한 타입 정의를 추가했습니다.

  • @elevenlabs/react@1.0.1 - @elevenlabs/client@1.1.0에 종속되도록 업데이트했습니다.

  • @elevenlabs/react-native@1.0.1 - @elevenlabs/client@1.1.0 및 @elevenlabs/react@1.0.1에 종속되도록 업데이트했습니다.

API

새 엔드포인트

  • 대화 분석 실행 - POST /v1/convai/conversations/{conversation_id}/analysis/run - 에이전트의 현재 평가 기준 및 데이터 수집 설정을 사용해 완료된 대화의 분석을 다시 실행합니다.

  • POST /v1/music/video-to-music - multipart 양식 데이터로 제공된 하나 이상의 비디오 파일에서 배경 음악을 생성합니다.

업데이트된 엔드포인트

ElevenAgents

  • 에이전트 생성, 에이전트 업데이트

    • LLM이 멀티모달 입력을 지원할 경우 채팅 대화에서 파일 업로드(이미지, PDF)를 활성화하는 file_input 필드(FileInputConfig, 선택 사항)를 ConversationConfig에 추가했습니다.
    • 세션 시간 제한에 도달하면 에이전트가 이 메시지를 보내도록 에이전트 구성에 max_conversation_duration_message 필드(문자열, 선택 사항)를 추가했습니다.
  • 테스트 생성, 테스트 업데이트

    • 시뮬레이션 중 도구 모킹 동작을 제어하기 위해 도구 이름을 ToolResponseMockConfig 항목에 매핑하는 tool_mock_config 필드(객체, 선택 사항)를 추가했습니다.
  • 텍스트로 대화 검색

    • search_score(기본값) 또는 created_at을 허용하는 sort_by 쿼리 매개변수(문자열, 선택 사항)를 추가했습니다.
  • 일괄 통화 제출

    • 특정 에이전트 브랜치를 대상으로 하는 branch_id 필드(문자열, 선택 사항)를 추가했습니다.
    • 대상 환경을 지정하는 environment 필드(문자열, 선택 사항)를 추가했습니다.
  • Twilio 발신 통화, SIP 트렁크 발신 통화

    • 이제 대화 시작 클라이언트 데이터에서 선택적 branch_id 및 environment 필드를 허용합니다.

음성을 텍스트로 변환

  • 음성을 텍스트로 변환

    • 파일 업로드 대신 오디오 또는 비디오 파일, YouTube 비디오, TikTok 비디오 또는 기타 호스팅 미디어의 URL을 허용하는 source_url 매개변수(문자열, 선택 사항)를 추가했습니다.

음성

강제 정렬

  • 강제 정렬 생성

    • multipart 양식 데이터 요청 본문에서 enabled_spooled_file 매개변수를 제거했습니다.