setup-api-key
This skill guides users through obtaining and configuring an ElevenLabs API key for text-to-speech integrations.
Identity proven by GitHub's verified organisation badge (elevenlabs)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- MIT (permissive)
- Pin
- 1d08a4apinned Oct 9, 2026
- Context cost
- about 840 tokenswhen the skill loads
- GitHub stars
- 482on elevenlabs/skills
- Scripts
- None found
What it does
“Guides users through setting up an ElevenLabs API key for REST API and SDK workflows. Use when the user needs to configure an ElevenLabs API key or when an API or SDK request fails because a key is missing. First checks whether ELEVENLABS_API_KEY is already configured and valid, and only runs full setup when needed.”
Generated summary from the skill's own text
This skill guides users through obtaining and configuring an ElevenLabs API key for text-to-speech integrations. It checks for existing keys, validates them against the ElevenLabs API, and directs users to create new keys if needed while ensuring keys are stored securely in a local .env file.
When to use it
- User needs to set up ElevenLabs API access for the first time
- Existing API key validation fails or key is missing
- User wants to rotate or replace an existing ElevenLabs key
- SDK or REST API calls fail due to missing authentication
When not to
- User already has a valid, working ElevenLabs API key configured
- Application uses server-side token generation instead of client API keys
- Project does not require ElevenLabs text-to-speech services
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add elevenlabs/skills --skill setup-api-keyInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install elevenlabs/skills setup-api-key@1d08a4a250cff67cc8056ec31587c031ecb06d2fInstalls the commit we checked (1d08a4a).
Copy by hand
Download the folder at 1d08a4a and put it in .claude/skills/setup-api-key for Claude Code and in .agents/skills/setup-api-key for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "setup-api-key" by ElevenLabs. Source, pinned to commit 1d08a4a250cff67cc8056ec31587c031ecb06d2f: https://github.com/elevenlabs/skills/tree/1d08a4a250cff67cc8056ec31587c031ecb06d2f/setup-api-key 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/setup-api-key/ for Claude Code and .agents/skills/setup-api-key/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/elevenlabs/setup-api-key
SKILL.md at the pin
--- name: setup-api-key description: Guides users through setting up an ElevenLabs API key for REST API and SDK workflows. Use when the user needs to configure an ElevenLabs API key or when an API or SDK request fails because a key is missing. First checks whether ELEVENLABS_API_KEY is already configured and valid, and only runs full setup when needed. license: MIT compatibility: Requires internet access to elevenlabs.io and api.elevenlabs.io. --- # ElevenLabs API Key Setup Guide the user through obtaining and configuring an ElevenLabs API key. ## Workflow ### Step 0: Check for an existing API key first Before asking the user for a key, check for an existing `ELEVENLABS_API_KEY`: 1. Check whether `ELEVENLABS_API_KEY` exists in the current environment. If it does, use that value for this initial check. 2. Only if it is not in the environment, check `.env` for `ELEVENLABS_API_KEY=<value>`. 3. Do not print, quote, or repeat the key. If you mention it, redact it. 4. If an existing key is found, validate it: ```text GET https://api.elevenlabs.io/v1/user Header: xi-api-key: <existing-api-key> ``` 5. **If existing key validation succeeds:** - Tell the user ElevenLabs is already configured and working - Skip the setup flow - Ask whether they want to replace/rotate the key; if not, stop 6. **If existing key validation fails:** - Tell the user the existing key appears invalid or expired - Continue to Step 1 ### Step 1: Request the API key Tell the user: > To set up ElevenLabs, open the API keys page: https://elevenlabs.io/app/settings/api-keys > > (Need an account? Create one at https://elevenlabs.io/app/sign-up first) > > If you don't have an API key yet: > 1. Click "Create key" > 2. Name it (or use the default) > 3. Set permission for your key. If you provide a key with "User" permission set to "Read" this skill will automatically verify if your key works > 4. Click "Create key" to confirm > 5. **Copy the key immediately** - it's only shown once! > > Do not paste the key into this chat. Instead, copy/paste it into your local `.env` file: > > ``` > ELEVENLABS_API_KEY=your-api-key > ``` > > If `.env` already has an `ELEVENLABS_API_KEY=...` line, replace that line. > Tell me when you've saved it, without sharing the key. Then wait for the user to confirm that the key is saved locally. ### Step 2: Validate and configure After the user says the key is saved: 1. Re-check both `.env` and the current environment for `ELEVENLABS_API_KEY`, but treat `.env` as the source of truth for this step. 2. If `.env` contains a value, validate that value even when the current environment also has a different `ELEVENLABS_API_KEY`. 3. If `.env` does not contain the key: - Tell the user `.env` does not appear to contain `ELEVENLABS_API_KEY`. - Show the expected line again. - If the current environment does contain a key, note that this step still requires saving the key in `.env`. - Remind them not to paste the key into chat. 4. If a `.env` key is found, validate it: ```text GET https://api.elevenlabs.io/v1/user Header: xi-api-key: <local-api-key> ``` 5. If validation fails: - Tell the user the local key appears invalid or expired. - Remind them of the API keys page. - Ask them to replace the `.env` value and tell you when it is saved. 6. If validation succeeds, confirm: > Done. ElevenLabs is configured and the key in `.env` works. ## Safety Rules - Never ask the user to paste an API key, token, or secret into chat. - Never print or echo API key values from environment variables or `.env`. - Prefer `.env` or managed secrets over shell history for persistent local configuration. - For browser or client-side apps, keep `ELEVENLABS_API_KEY` on the server and issue short-lived tokens where applicable.
From elevenlabs/skills at 1d08a4a, shown as plain text under its license: MIT (permissive). The license text is in setup-api-key/SKILL.md.
View SKILL.md on GitHub at 1d08a4aFiles
- SKILL.md3.8 KB · 8538682c56eb
1 file, 3.8 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at 1d08a4aAlso in
The same SKILL.md content appears in these places too. We list it once and credit the oldest public source.
More from ElevenLabs
agents
Build voice AI agents with natural conversation capabilities using ElevenLabs platform.
Contains scripts
Claude Code, Codex, Cursor +3 · about 6.4K tokens · pinned 6 days ago
dubbing
This skill dubs audio and video into other languages using ElevenLabs' Dubbing API, preserving original speakers' voices.
Contains scripts
Claude Code, Codex, Cursor +3 · about 3.1K tokens · pinned 6 days ago
music
This skill generates music from text prompts using the ElevenLabs Music API, supporting instrumental tracks, songs with lyrics, and fine-grained control…
Contains scripts
Claude Code, Codex, Cursor +3 · about 3.3K tokens · pinned 6 days ago
sound-effects
This skill generates sound effects from text descriptions using ElevenLabs API, supporting various audio formats, custom durations up to 30 seconds, looping…
Contains scripts
Claude Code, Codex, Cursor +3 · about 830 tokens · pinned 6 days ago
speech-engine
This skill integrates ElevenLabs Speech Engine to add real-time voice conversations to custom agent runtimes.
Claude Code, Codex, Cursor +4 · about 2.4K tokens · pinned 6 days ago
speech-to-text
Transcribe audio and video files to text using ElevenLabs Scribe v2, supporting 90+ languages, speaker identification, and word-level timestamps.
Contains scripts
Claude Code, Codex, Cursor +3 · about 2.4K tokens · pinned 6 days ago
Related in AI and agents
agent-simplification
This skill simplifies complex ElevenLabs voice agents by flattening workflows, deduplicating logic, and introducing procedures, while proving equivalence…
by ElevenLabsOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.7K tokens · pinned 6 days ago
agents-platform
This skill manages ElevenLabs voice agents through their MCP server, letting you create, configure, test, and deploy agents directly in your ElevenLabs account.
by ElevenLabsOfficial publisher
Claude Code, Codex, Cursor +4 · about 640 tokens · pinned 6 days ago
agents
This skill enables building and deploying voice AI agents using ElevenLabs platform, with support for multiple LLM providers, custom tools, workflows, and…
by ElevenLabsOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 6.4K tokens · pinned 6 days ago
architect-llm-selection
This skill helps choose the right language model for ElevenLabs voice agents by filtering candidates through region availability, compliance requirements, and…
by ElevenLabsOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago
architect-migrate-from-competitor
This skill guides the migration of voice agents from Retell AI, Vapi, or Bland to ElevenLabs Conversational AI by identifying the source platform, auditing…
by ElevenLabsOfficial publisher
Claude Code, Codex, Cursor +4 · about 9.9K tokens · pinned 6 days ago
code-tools
This skill generates custom JavaScript/TypeScript modules that run as code tools on ElevenLabs infrastructure.
by ElevenLabsOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 2K tokens · pinned 6 days ago
Open roles at ElevenLabs
5 of 26 open roles on the jobs board
- Full-Stack Engineer (Back-End Leaning)
Remote (Global) (Remote)
- Infrastructure Engineer
Remote (Global) (Remote)
- Enterprise Solutions Engineer - Canada
Canada (Remote)
- Deployment Strategist - Colombia
Colombia (Remote)
- Enterprise Solutions Engineer - Greece
Greece (Remote)