From elevenlabs-pack
Installs ElevenLabs TTS SDK and configures API key authentication for Node.js or Python, with client init and verification code.
How this skill is triggered — by the user, by Claude, or both
Slash command
/elevenlabs-pack:elevenlabs-install-authThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
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`.
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):
npm install @elevenlabs/elevenlabs-js
# or
pnpm add @elevenlabs/elevenlabs-js
Python (official package: elevenlabs):
pip install elevenlabs
# 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
TypeScript:
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const client = new ElevenLabsClient({
apiKey: process.env.ELEVENLABS_API_KEY,
// Optional: configure retries (default: 2)
maxRetries: 3,
// Optional: configure timeout in seconds
timeoutInSeconds: 30,
});
Python:
import os
from elevenlabs.client import ElevenLabsClient
client = ElevenLabsClient(
api_key=os.environ.get("ELEVENLABS_API_KEY")
)
TypeScript:
async function verifyConnection() {
// List available voices to confirm auth works
const voices = await client.voices.getAll();
console.log(`Connected. ${voices.voices.length} voices available.`);
// Check subscription/quota
const user = await client.user.get();
console.log(`Plan: ${user.subscription.tier}`);
console.log(`Characters used: ${user.subscription.character_count}/${user.subscription.character_limit}`);
}
verifyConnection().catch(console.error);
Python:
def verify_connection():
voices = client.voices.get_all()
print(f"Connected. {len(voices.voices)} voices available.")
user = client.user.get()
print(f"Plan: {user.subscription.tier}")
print(f"Characters used: {user.subscription.character_count}/{user.subscription.character_limit}")
verify_connection()
cURL (raw API):
curl -s https://api.elevenlabs.io/v1/user \
-H "xi-api-key: ${ELEVENLABS_API_KEY}" | jq '.subscription.tier'
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 |
xi-api-key header is used for REST calls; SDKs handle this automaticallyAfter auth is confirmed, proceed to elevenlabs-hello-world for your first text-to-speech generation.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin elevenlabs-packAPI authentication patterns, SDK installation scripts, environment variable management, and connection testing for ElevenLabs. Use when setting up ElevenLabs authentication, installing ElevenLabs SDK, configuring API keys, testing ElevenLabs connection, or when user mentions ElevenLabs authentication, xi-api-key, ELEVENLABS_API_KEY, or ElevenLabs setup.
Applies production-ready ElevenLabs SDK patterns for TypeScript and Python, including singleton clients, type-safe TTS with voice presets, retries, and error handling for audio AI integrations.
Installs Deepgram SDK and configures API key authentication for Node.js/TypeScript and Python. Includes client init code and verification for speech-to-text/TTS integrations.