elevenlabs-install-auth

v2026.09.24

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".

GitHub
Install command
npx skhub add jeremylongshore/elevenlabs-install-auth
Markdown
SKILL.md

ElevenLabs Install & Auth

Overview

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.

Prerequisites

  • Node.js 18+ or Python 3.10+
  • ElevenLabs account (free tier works) at https://elevenlabs.io
  • API key from Profile > API Keys in the ElevenLabs dashboard

Instructions

Step 1: Install the SDK

Node.js (official package: @elevenlabs/elevenlabs-js):

npm install @elevenlabs/elevenlabs-js
# or
pnpm add @elevenlabs/elevenlabs-js

Python (official package: elevenlabs):

pip install elevenlabs

Step 2: Configure API Key

# 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:

.env
.env.local
.env.*.local

Step 3: Initialize the Client

Both SDKs auto-detect ELEVENLABS_API_KEY. Minimal TypeScript skeleton:

import { 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.

Step 4: Verify Connection

Confirm auth by listing voices — a successful call proves the key is valid and not over quota:

const 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.

Output

  • SDK installed in node_modules or site-packages
  • API key stored in .env (git-ignored)
  • Successful voice listing confirms authentication
  • Subscription tier and character quota displayed

Error Handling

ErrorHTTPCauseSolution
invalid_api_key401Key missing, expired, or malformedRegenerate at elevenlabs.io > Profile > API Keys
ENOTFOUND api.elevenlabs.ioN/ADNS/network failureCheck internet; ensure outbound HTTPS on port 443
MODULE_NOT_FOUNDN/ASDK not installedRun npm install @elevenlabs/elevenlabs-js
quota_exceeded401Character limit reached for billing periodUpgrade plan or wait for reset

Examples

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:

npm install @elevenlabs/elevenlabs-js
echo 'ELEVENLABS_API_KEY=sk_your_key_here' >> .env
printf '.env\n' >> .gitignore
import "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.

API Key Best Practices

  • Never hardcode keys in source files
  • Use separate keys for dev/staging/prod
  • Rotate keys quarterly via the dashboard
  • Free tier: 10,000 characters/month, Starter: 30,000, Creator: 100,000

Full best-practices notes are in implementation.md.

Resources

Next Steps

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.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.curated/elevenlabs-install-auth

Default branch

main

Latest commit

e5a6c3b

Tree SHA

c2dc8e8