Skip to content
Skillv1.0.0

elevenlabs-upgrade-migration

Upgrade ElevenLabs SDK versions and migrate between API model generations. Use when upgrading the elevenlabs-js or elevenlabs Python SDK, migrating from v1 to v2 models, or handling deprecations acros

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/elevenlabs-pack/skills/elevenlabs-upgrade-migration/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill elevenlabs-upgrade-migration. Copyright stays with the author (MIT).

ElevenLabs Upgrade & Migration

Overview

Guide for upgrading the ElevenLabs SDK and migrating between model generations. Covers the JS SDK package rename (community elevenlabs → official @elevenlabs/elevenlabs-js), model ID changes across generations, voice-settings evolution, and API endpoint stability.

Work the seven steps below at a high level from this file; drill into references/migration-guide.md for the full command set and per-step code, and references/examples.md for three end-to-end worked scenarios.

Authentication

All API calls authenticate with an account API key passed as the xi-api-key header. Store it in the ELEVENLABS_API_KEY environment variable — never inline a key in source. The SDK clients read the same value (process.env.ELEVENLABS_API_KEY in Node, api_key=... in Python).

Prerequisites

  • Current ElevenLabs SDK installed (Node or Python)
  • ELEVENLABS_API_KEY exported in the environment
  • Git for version control
  • Test suite available
  • Staging environment for validation

Instructions

The migration is a seven-step, branch-isolated workflow. Read package manifests and config with Read, apply import/model changes with Edit, add new config files (e.g. config/models.ts) with Write, and run the npm/pip/git commands via Bash. Full commands and code for each step are in references/migration-guide.md.

  1. Check current versions — inspect installed Node/Python SDK versions and list the models your account can reach.
  2. JS SDK package migration — uninstall the legacy community elevenlabs package, install @elevenlabs/elevenlabs-js, and update imports on an upgrade/elevenlabs-sdk branch.
  3. Model migration — map deprecated model IDs to current generations using the migration table, and add a selectModel() helper that falls back off eleven_v3 when WebSocket streaming is required.
  4. Voice settings migration — verify stability, similarity_boost, style, and speed against each model's capabilities.
  5. API endpoint changes — confirm the stable /v1/ endpoints and adopt the enhanced /v2/voices search where useful.
  6. Python SDK upgrade — upgrade, pin the version in requirements.txt, and move from the old module-level generate/set_api_key API to the client object.
  7. Validation — run tests plus a TTS smoke test and a voice-list check.

The essential skeleton for the highest-leverage step (the JS package swap):

npm uninstall elevenlabs
npm install @elevenlabs/elevenlabs-js
git checkout -b upgrade/elevenlabs-sdk
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const client = new ElevenLabsClient({
  apiKey: process.env.ELEVENLABS_API_KEY,
  maxRetries: 3,
  timeoutInSeconds: 60,
});

Model migration map

Old Model New Model Migration Notes
eleven_monolingual_v1 eleven_multilingual_v2 29 languages; same voice IDs work
eleven_multilingual_v1 eleven_multilingual_v2 Better emotional range; same API
eleven_english_v1 eleven_turbo_v2_5 Lower latency; same voice_settings
eleven_turbo_v2 eleven_flash_v2_5 Same quality, lower latency (~75ms)
eleven_multilingual_v2 eleven_v3 Most expressive; 70+ languages; NO WebSocket support

Full model-selection code, voice-settings and endpoint tables, the Python client migration, and the rollback procedure live in references/migration-guide.md.

Output

Working through this skill produces:

  • An upgrade/elevenlabs-sdk branch with the package swap and updated imports.
  • Updated dependency manifests — package.json on @elevenlabs/elevenlabs-js, or a pinned elevenlabs== line in requirements.txt.
  • A model-selection helper (config/models.ts) mapping quality/balanced/speed preferences to current model IDs with a WebSocket-safe fallback.
  • Validation evidence: a green test run, a 200 from the TTS smoke test, and a non-empty voice-list count.
  • A rollback path (pinned previous version or git revert) if validation fails.

Error Handling

Issue Cause Solution
Cannot find module Old package name Update import to @elevenlabs/elevenlabs-js
model_not_found Deprecated model ID Map to current model (see table)
WebSocket fails after model change eleven_v3 doesn't support WS Use eleven_flash_v2_5 or eleven_multilingual_v2
Voice settings ignored Wrong parameter names Verify stability, similarity_boost, style, speed

Examples

Three complete, copy-pasteable walkthroughs are in references/examples.md:

  1. Migrate a Node.js app off the legacy elevenlabs community package — branch, swap the package, update the client, and validate with a smoke test.
  2. Migrate a deprecated model with a WebSocket-safe fallback — move toward eleven_v3 while keeping streaming working via automatic downgrade.
  3. Upgrade the Python SDK from a pre-client generation — move to the client object and pin the version for reproducible builds.

Minimal first example (the package swap and smoke test):

git checkout -b upgrade/elevenlabs-sdk
npm uninstall elevenlabs && npm install @elevenlabs/elevenlabs-js
npm test
curl -s -o /dev/null -w "%{http_code}" \
  -X POST "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM" \
  -H "xi-api-key: ${ELEVENLABS_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"text":"Upgrade test.","model_id":"eleven_flash_v2_5"}'

Resources

Next Steps

For CI integration during upgrades, see the elevenlabs-ci-integration skill, which wires the smoke test and voice-list check into a pipeline gate so a bad SDK or model bump fails the build before it ships.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-elevenlabs-up-64b909/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-elevenlabs-up-64b909.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-elevenlabs-up-64b909",
  "kind": "skill",
  "name": "elevenlabs-upgrade-migration",
  "description": "Upgrade ElevenLabs SDK versions and migrate between API model generations. Use when upgrading the elevenlabs-js or elevenlabs Python SDK, migrating from v1 to v2 models, or handling deprecations across the JS package rename and model ID changes. Trigger with: \"upgrade elevenlabs\", \"elevenlabs migration\", \"elevenlabs breaking changes\", \"update elevenlabs SDK\", \"migrate elevenlabs model\", \"eleven_v3 migration\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "voice",
      "ai",
      "elevenlabs",
      "migration",
      "upgrade",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Upgrade ElevenLabs SDK versions and migrate between API model generations. Use when upgrading the elevenlabs-js or elevenlabs Python SDK, migrating from v1 to v2 models, or handling deprecations across the JS package rename and model ID changes. Trigger with: \"upgrade elevenlabs\", \"elevenlabs migration\", \"elevenlabs breaking changes\", \"update elevenlabs SDK\", \"migrate elevenlabs model\", \"eleven_v3 migration\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/elevenlabs-pack/skills/elevenlabs-upgrade-migration/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/elevenlabs-pack/skills/elevenlabs-upgrade-migration/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/elevenlabs-pack/skills/elevenlabs-upgrade-migration/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Write,",
      "Edit,",
      "Bash(npm:*),",
      "Bash(pip:*),",
      "Bash(git:*)"
    ],
    "license": "MIT"
  },
  "instructions": "# ElevenLabs Upgrade & Migration\n\n## Overview\n\nGuide for upgrading the ElevenLabs SDK and migrating between model generations.\nCovers the JS SDK package rename (community `elevenlabs` → official\n`@elevenlabs/elevenlabs-js`), model ID changes across generations, voice-settings\nevolution, and API endpoint stability.\n\nWork the seven steps below at a high level from this file; drill into\n[references/migration-guide.md](references/migration-guide.md) for the full command\nset and per-step code, and [references/examples.md](references/examples.md) for three\nend-to-end worked scenarios.\n\n## Authentica",
  "cost": {
    "context_tokens": 1609
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-elevenlabs-up-64b909/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.