> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt. # Libraries & SDKs ## Official REST API libraries ElevenLabs provides officially supported libraries that are updated with the latest features available in the [REST API](/docs/api-reference/introduction). | Language | GitHub | Package Manager | | ----------------- | ---------------------------------------------------------------- | -------------------------------------------------------------- | | Python | [GitHub README](https://github.com/elevenlabs/elevenlabs-python) | [PyPI](https://pypi.org/project/elevenlabs/) | | Javascript (Node) | [GitHub README](https://github.com/elevenlabs/elevenlabs-js) | [npm](https://www.npmjs.com/package/@elevenlabs/elevenlabs-js) | ### Sending parameters the SDK doesn't define yet A field can be available in the API, for example as a beta feature, before your SDK version has a typed parameter for it. To send it anyway, pass it as an additional body parameter in the request options. The SDK merges these values into the JSON request body as given, without validating them. **`Python`** ```python title="Python" audio = elevenlabs.text_to_speech.convert( voice_id="JBFqnCBsd6RMkjVDRZzb", text="The first move is what sets everything in motion.", model_id="eleven_multilingual_v2", request_options={"additional_body_parameters": {"new_field": "value"}}, ) ``` **`TypeScript`** ```typescript title="TypeScript" const audio = await elevenlabs.textToSpeech.convert( "JBFqnCBsd6RMkjVDRZzb", { text: "The first move is what sets everything in motion.", modelId: "eleven_multilingual_v2", }, { additionalBodyParameters: { new_field: "value" } } ); ``` > **Note** > > Use the field names from the API reference (`snake_case`). Additional body parameters skip the > SDK's serialization, so TypeScript property names are not converted. In TypeScript, this option > requires `@elevenlabs/elevenlabs-js` v2.59.0 or later and applies only to JSON request bodies, not > file uploads. Switch to the typed parameter once your SDK version includes it. The same request options accept extra headers and query parameters: `additional_headers` and `additional_query_parameters` in Python, `headers` and `queryParams` in TypeScript. ## Command-line interface The [ElevenLabs CLI](/docs/eleven-agents/operate/cli) brings the REST API to your terminal. Homebrew (macOS) and Scoop (Windows) are the recommended install methods. **`Homebrew (macOS)`** ```bash title="Homebrew (macOS)" brew install elevenlabs/tap/elevenlabs ``` **`Scoop (Windows)`** ```powershell title="Scoop (Windows)" scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket scoop install elevenlabs ``` **`npm`** ```bash title="npm" npm install -g @elevenlabs/cli ``` **`curl`** ```bash title="curl" curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh ``` > **Tip** > > Working with an AI coding assistant? Run `elevenlabs generate-skills` in your project to write a > `SKILL.md` for every command group into `skills/`, so your assistant knows the CLI's full surface > without you pasting docs. Use `--output-dir` to put them elsewhere. This reads the CLI's own > embedded API definition, so it needs no API key and works offline — and it stays in step with > whichever CLI version you have installed. Then authenticate — this opens your browser to authorize the CLI: ```bash elevenlabs auth login ``` ## Official Agents Platform libraries These libraries are designed for use with ElevenLabs [Agents Platform](/docs/eleven-agents/overview). | Language | Documentation | Package Manager | | ------------ | -------------------------------------------------------- | ------------------------------------------------------------------------------- | | Javascript | [Docs](/docs/eleven-agents/libraries/java-script) | [npm](https://www.npmjs.com/package/@elevenlabs/client) | | React | [Docs](/docs/eleven-agents/libraries/react) | [npm](https://www.npmjs.com/package/@elevenlabs/react) | | React Native | [Docs](/docs/eleven-agents/libraries/react-native) | [npm](https://www.npmjs.com/package/@elevenlabs/react-native) | | Python | [Docs](/docs/eleven-agents/libraries/python) | [PyPI](https://pypi.org/project/elevenlabs/) | | Swift | [Docs](/docs/eleven-agents/libraries/swift) | [Github](https://github.com/elevenlabs/ElevenLabsSwift) | | Kotlin | [Docs](/docs/eleven-agents/libraries/kotlin) | [Maven](https://central.sonatype.com/artifact/io.elevenlabs/elevenlabs-android) | | Flutter | [Docs](https://github.com/elevenlabs/elevenlabs-flutter) | [Pub](https://pub.dev/packages/elevenlabs_agents) | ## Third-party libraries These libraries are not officially supported by ElevenLabs, but are community-maintained. | Library | Documentation | Package Manager | | ------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------ | | Vercel AI SDK | [Docs](/docs/eleven-api/guides/how-to/speech-to-text/batch/vercel-ai-sdk) | [npm](https://www.npmjs.com/package/ai) | | .NET | [Docs](https://github.com/RageAgainstThePixel/ElevenLabs-DotNet) | [NuGet](https://www.nuget.org/packages/ElevenLabs-DotNet) | | Unity | [Docs](https://github.com/RageAgainstThePixel/com.rest.elevenlabs) | [OpenUPM](https://openupm.com/packages/com.rest.elevenlabs/) | > ElevenLabs provides APIs and SDKs for text to speech, voice cloning, speech to text, sound effects, voice isolator, voice changer, and conversational AI agents. Build voice-enabled applications with lifelike audio generation. ## Docs - [JavaScript SDK](https://elevenlabs.io/docs/eleven-api/resources/libraries/scribe-stt/javascript-scribe.md): Scribe: real-time speech-to-text transcription in JavaScript - [React SDK](https://elevenlabs.io/docs/eleven-api/resources/libraries/scribe-stt/react-scribe.md): useScribe: real-time speech-to-text transcription in React - [JavaScript SDK reference](https://elevenlabs.io/docs/eleven-api/resources/libraries/speech-engine/javascript-sdk-reference.md): Classes, methods, and events for the Speech Engine JavaScript SDK. - [Python SDK reference](https://elevenlabs.io/docs/eleven-api/resources/libraries/speech-engine/python-sdk-reference.md): Classes, methods, and events for the Speech Engine Python SDK.