Migrating from ElevenLabs: Overview

View as Markdown

This page covers the setup changes that stay the same no matter which of your existing ElevenLabs integrations you’re moving over: base URL, auth header, and SDK client. Each product-specific migration guide already includes these same changes inline, so you don’t need to read this page first; it’s here as a standalone reference if you want the setup changes on their own.

Quick start

Swap the client, then keep the rest of your code as-is:

1from elevenlabs import ElevenLabs
2
3client = ElevenLabs(api_key="YOUR_ELEVENLABS_API_KEY")

Both SDKs are also available for TypeScript/JavaScript; see SDKs & Libraries for install instructions and language coverage.

For requests made directly over HTTP rather than through an SDK, the only change is the header and base URL:

$curl -X POST "https://api.elevenlabs.io/v1/..." \
> -H "xi-api-key: YOUR_ELEVENLABS_API_KEY"

Base URL and auth

ElevenLabsSarvam
Base URLhttps://api.elevenlabs.iohttps://api.sarvam.ai
Auth headerxi-api-keyapi-subscription-key
Auth failure status401403

Errors and rate limits

Sarvam returns 403 (not 401) on authentication failures, and rate limits are enforced per API rather than account-wide. See Errors & Troubleshooting and Credits & Rate Limits for status codes and retry behavior. These apply the same way across every migration guide in this section.

See also