Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

setup-api-key — Claude Code skill: ElevenLabs API configuration

A skill that checks whether an ElevenLabs API key is configured and working, then walks the user through obtaining and saving a new key if needed.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add calesthio/OpenMontage --skill setup-api-key -a claude-code
Open on GitHub

What setup-api-key does

The skill solves the problem of running ElevenLabs tools without a ready API key. It starts by checking: it looks for ELEVENLABS_API_KEY in environment variables or in the .env file, then validates the key with an API request. If the key exists and works, the skill reports this and stops. If the key is missing or invalid, it directs the user to the key creation page, explains how to get it, and where to copy it from.

After the user provides the key, the skill validates it again through the ElevenLabs API and saves it to .env. If the key is invalid, it asks to try again. Requires internet access to elevenlabs.io and api.elevenlabs.io. Works with all major IDEs that support skills.

What it helps with

  • Check whether ElevenLabs is configured in your project
  • Create a new ElevenLabs API key and save it to .env
  • Validate an API key before using ElevenLabs tools
  • Update or replace an expired ElevenLabs key

Example prompts for the agent

  • I need to set up ElevenLabs for speech synthesis
  • setup-api-key can't find my ElevenLabs key
  • Help me create and save an API key for ElevenLabs

How to install setup-api-key

1Skills CLI (Vercel)

npx skills add calesthio/OpenMontage --skill setup-api-key -a claude-code

2Manually: put the files in place

~/.claude/skills/setup-api-key/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/setup-api-key/

From the same set28

The whole set →
video-understand calesthio This skill extracts video frames and transcribes audio locally with ffmpeg and Whisper. Use it to inspect video content without API keys. Claude Code CX Codex Cursor +1 1,300installs remotion calesthio Teaches AI agents toolkit-specific Remotion patterns, including custom transition shaders and 30 fps video rules. Claude Code CX Codex Cursor +1 1,200installs video-download calesthio Uses yt-dlp to fetch video, audio, subtitles, or URL metadata. Use it when you need a local file, a selected resolution, or details without downloading media. Claude Code CX Codex Cursor +1 1,200installs lottie-bodymovin calesthio Applies Disney's 12 animation principles to Lottie vector animations. Bridges After Effects setup with runtime JavaScript controls. Claude Code CX Codex Cursor +1 1,100installs create-video calesthio This skill turns a description into a finished video: write what you want to see, and HeyGen generates the script, picks an avatar, adds voiceover and editing. Good for quick demos, explainers and promos without tweaking every detail. Claude Code CX Codex Cursor +1 1,100installs video-toolkit calesthio Automates video creation: generates voiceovers, background music, animates talking heads, and composes scenes with Remotion. Requires Node.js, Python3, ffmpeg, and cloud GPU access (Modal or RunPod). Claude Code CX Codex Cursor +1 1,100installs text-to-speech calesthio Generates speech audio with HeyGen Starfish and lets you choose a voice, speed, and pitch. Useful for voiceovers, narration, and podcasts. Claude Code CX Codex Cursor +1 1,100installs bfl-api Black Forest Labs This skill helps connect BFL FLUX API for image generation and editing. It covers async requests, polling, rate limits, and webhooks. Claude Code CX Codex Cursor +1 1,000installs

Similar

openviking-memory volcengine Connects agents to OpenViking MCP long-term memory to retrieve relevant past knowledge at task start and save durable takeaways afterward. Claude Code CX Codex Cursor +1 502installs printing-press-amend mvanhorn Amends published CLI tools using session logs or explicit prompts, scrubs personal data, and opens pull requests with library patches. Claude Code CX Codex Cursor +1 5,500installs ctf-writeup ljagiello Generates a standardized markdown report for a solved CTF challenge, ready for organizer review and team handoff. Structures solution steps, tools, and the exploit code into a single submission-ready file. Claude Code CX Codex Cursor +1 7,800installs sketch Hermes Agent (adapted from gsd-build/get-shit-done) Generates 2-3 HTML mockup variants to compare design directions before you commit to production code. Claude Code CX Codex Cursor +1 402installs argent-ios-device-setup software-mansion Guides coding agents through setting up a cabled physical iPhone for argent automation. Essential when testing on real hardware instead of an iOS simulator. Claude Code CX Codex Cursor +1 10,900installs gitnexus-guide abhigyanpatwari Reference guide for GitNexus MCP tools and knowledge graph schema. Helps coding agents navigate codebase dependencies and pick the right analysis tool. Claude Code CX Codex Cursor +1 806installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about setup-api-key

How do I install setup-api-key in Claude Code?

Run npx skills add calesthio/OpenMontage --skill setup-api-key -a claude-code. The skill will be saved to ~/.claude/skills/setup-api-key/SKILL.md.

What does setup-api-key do?

It checks whether an ElevenLabs API key is already configured, validates it through the API, and if no key exists or it's invalid, it guides the user through getting a new key from the ElevenLabs website and saves it to .env.

What do I need for setup-api-key to work?

You need internet access to elevenlabs.io and api.elevenlabs.io, and an ElevenLabs account (free to create). The key is saved to the .env file in your project.

Source text

SKILL.md · MIT
---
name: setup-api-key
description: Guides users through setting up an ElevenLabs API key for ElevenLabs MCP tools. Use when the user needs to configure an ElevenLabs API key, when ElevenLabs tools fail due to missing API key, or when the user mentions needing access to ElevenLabs. 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.
2. If it's not in the environment, check `.env` for `ELEVENLABS_API_KEY=<value>`.
3. If an existing key is found, **validate it**:
   ```
   GET https://api.elevenlabs.io/v1/user
   Header: xi-api-key: <existing-api-key>
   ```
4. **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
5. **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!
>
> Paste your API key here when ready.

Then wait for the user's next message which should contain the API key.

### Step 2: Validate and configure

Once the user provides the API key:

1. **Validate the key** by making a request:
   ```
   GET https://api.elevenlabs.io/v1/user
   Header: xi-api-key: <the-api-key>
   ```

2. **If validation fails:**
   - Tell the user the API key appears to be invalid
   - Ask them to try again
   - Remind them of the URL: https://elevenlabs.io/app/settings/api-keys
   - If it fails a second time, display an error and exit

3. **If validation succeeds**, save the API key in a `.env` file:
   ```
   ELEVENLABS_API_KEY=<the-api-key>
   ```
   - If `.env` already has `ELEVENLABS_API_KEY=...`, replace that line
   - Otherwise add a new line for `ELEVENLABS_API_KEY`

4. **Confirm success:**
   > Done! Your key is stored as an environment variable in .env
   > Keep the key safe! Don't share it with anyone!

© calesthio · MIT · calesthio/OpenMontage

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor