SKILL.md
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 ELEVENLABSAPIKEY:
- Check whether
ELEVENLABSAPIKEY exists in the current environment.
- If it's not in the environment, check
.env for ELEVENLABSAPIKEY=<value>.
- If an existing key is found, validate it:
`` GET https://api.elevenlabs.io/v1/user Header: xi-api-key: <existing-api-key> ``
- 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
- 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:
- Validate the key by making a request:
`` GET https://api.elevenlabs.io/v1/user Header: xi-api-key: <the-api-key> ``
- 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
- If validation succeeds, save the API key in a
.env file:
`` ELEVENLABSAPIKEY=<the-api-key> ` - If .env already has ELEVENLABSAPIKEY=..., replace that line - Otherwise add a new line for ELEVENLABSAPIKEY`
- Confirm success:
> Done! Your key is stored as an environment variable in .env > Keep the key safe! Don't share it with anyone!