Start here
The first thing to understand: there is no single “ElevenLabs SDK.” ElevenLabs maintains two overlapping SDK families:
- Core API SDKs — server-side access to text-to-speech, speech-to-text, voices, music, sound effects, dubbing, alignment, and the broader REST API. Official languages: Python and JavaScript/Node.
- Agents & real-time SDKs — browser, React, mobile, and conversational voice applications. Official coverage: JavaScript, React, React Native, Python, Swift, Kotlin, and Flutter. (.NET and Unity are community-supported.)
Which SDK do I reach for?
Section titled “Which SDK do I reach for?”| You are building… | Reach for |
|---|---|
| Server-side media generation or resource management | elevenlabs (Python) or @elevenlabs/elevenlabs-js (Node) |
| Browser-based real-time voice | @elevenlabs/client or @elevenlabs/react |
| Mobile conversational voice | React Native, Swift, Kotlin, or Flutter Agents SDK |
| Your own LLM “brain”, ElevenLabs handles the voice | Speech Engine |
The one-paragraph verdict
Section titled “The one-paragraph verdict”The ecosystem is strong in API breadth, audio-quality options, real-time transport choices, and cross-platform agent support. Its principal engineering risks are rapid release cadence, generated-client churn, multiple subtly different streaming mechanisms, and the inherent difficulty of managing microphones, WebRTC sessions, reconnections, interruptions, and private credentials on client devices.
How to use this guide
Section titled “How to use this guide”Read the six transport patterns first — it is the centrepiece and the highest-leverage mental model. Then skim the package map and go deeper wherever your use case lives. Collapsible “Going deeper” blocks hold detail you can skip on a first pass.