Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Install and configure ElevenLabs SDK authentication for Node.js or Python. Use when setting up a new ElevenLabs project, configuring API keys, or initializing the elevenlabs npm/pip package. Trigger with "install elevenlabs", "setup elevenlabs", "elevenlabs auth", "configure elevenlabs API key", "elevenlabs credentials".
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 32% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 54% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 42% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 73% | 0% |
Set up the ElevenLabs SDK and configure API key authentication. ElevenLabs uses a single API key (xi-api-key header) for all endpoints at api.elevenlabs.io.
Node.js (official package: @elevenlabs/elevenlabs-js):
bashnpm install @elevenlabs/elevenlabs-js # or pnpm add @elevenlabs/elevenlabs-js
Python (official package: elevenlabs):
bashpip install elevenlabs
bash# Set environment variable (all SDKs auto-detect this) export ELEVENLABS_API_KEY="sk_your_key_here" # Or create .env file echo 'ELEVENLABS_API_KEY=sk_your_key_here' >> .env
Add to .gitignore:
gitignore.env .env.local .env.*.local
Both SDKs auto-detect ELEVENLABS_API_KEY. Minimal TypeScript skeleton:
typescriptimport { ElevenLabsClient } from "@elevenlabs/elevenlabs-js"; const client = new ElevenLabsClient({ apiKey: process.env.ELEVENLABS_API_KEY, });
The Python client mirrors this with ElevenLabsClient(api_key=...). For retry, timeout, and the full Python skeleton, see implementation.md.
Confirm auth by listing voices — a successful call proves the key is valid and not over quota:
typescriptconst voices = await client.voices.getAll(); console.log(`Connected. ${voices.voices.length} voices available.`);
Full TypeScript + Python + cURL verification (including subscription/quota inspection) is in implementation.md.
node_modules or site-packages.env (git-ignored)| Error | HTTP | Cause | Solution | |-------|------|-------|----------| | invalid_api_key | 401 | Key missing, expired, or malformed | Regenerate at elevenlabs.io > Profile > API Keys | | ENOTFOUND api.elevenlabs.io | N/A | DNS/network failure | Check internet; ensure outbound HTTPS on port 443 | | MODULE_NOT_FOUND | N/A | SDK not installed | Run npm install @elevenlabs/elevenlabs-js | | quota_exceeded | 401 | Character limit reached for billing period | Upgrade plan or wait for reset |
Two full setup walkthroughs (Node.js and Python) plus a no-SDK CI smoke test live in examples.md. The shortest complete path for a new Node.js project:
bashnpm install @elevenlabs/elevenlabs-js echo 'ELEVENLABS_API_KEY=sk_your_key_here' >> .env printf '.env\n' >> .gitignore
typescriptimport "dotenv/config"; import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js"; const client = new ElevenLabsClient({ apiKey: process.env.ELEVENLABS_API_KEY }); const voices = await client.voices.getAll(); console.log(`Connected. ${voices.voices.length} voices available.`);
See examples.md for the Python equivalent and the curl-only pipeline gate.
Full best-practices notes are in implementation.md.
After auth is confirmed, proceed to the elevenlabs-hello-world skill for your first text-to-speech generation, then explore voice listing and streaming in the rest of the ElevenLabs pack.
Other measured skills in the registry, with their headline benchmark lift.