First v3 alpha. Breaking changes; see the v3 upgrade guide in the wiki.
Install: npm i @elevenlabs/elevenlabs-js@alpha / pip install --pre elevenlabs
Renamed
conversationalAi/conversational_ai→agents; the oldagents
sub-resource is flattened onto the group (client.agents.create).
API URLs are unchanged (/v1/convai/*). Per-agent LLM usage stays
nested atagents.agents.llmUsage.- Per-endpoint request/response helper types are now verb-first
(AgentsListRequest→ListAgentsRequest). - Python:
OnPremInitiationData→OrchestratorConfig,
on_prem_config→orchestrator_config,on_prem_conversation_url→
url(now validated as ws/wss). Wire format unchanged. Closes #840. - Python: internal
speech_engine.types→speech_engine.session_types.
WebSockets — now generated clients
- Hand-written realtime clients removed in favour of generated ones:
speechToText.realtime,textToSpeech.realtime,
textToSpeechMultiContext,textToDialogue(.MultiContext),
translate.realtime,dubbing.realtime,speechEngine.upstream. - Dropped: URL-based streaming (the ffmpeg-backed
urloption) and the
RealtimeConnection/RealtimeEvents/AudioFormat/
CommitStrategyroot exports.
Removed (deprecated in v2)
voices.getAll→voices.searchtextToVoice.createPreviews→textToVoice.designconversationalAi.addToKnowledgeBase→agents.knowledgeBase.documents.*agents.simulateConversation(+stream) → agent-testing endpointsmcpServers.approvalPolicy.update→agents.mcpServers.updateusage.get→ workspace analytics usage queriesdubbing.transcript.get→dubbing.transcripts.get- all 13
dubbing.resource.*methods → Dubbing Studio endpoints cloudStorageUrlonspeechToText.convert→sourceUrl
Runtime / packaging
- JS: requires Node 18+; native
fetch(node-fetchdependency gone). - JS: dual CJS/ESM build with a full
exportsmap; deep imports of
dist/...must move to the documented subpaths. - JS: request properties explicitly set to
undefinedare now omitted
rather than sent asnull. - JS:
wsstubbed in thebrowserfield so bundlers don't include it.
Other
- JS: Speech Engine
attach()takes one options object —
engine.attach({ server, path, ...callbacks }). - JS: the never-exported
conversationalAi/conversationdeep-import
classes are deleted; use@elevenlabs/clientfor voice conversations. - Both repos ship an
elevenlabs:sdk-migrationagent skill for
automated v2 → v3 migration.