Skip to content
alyn
MengTo

Elevenlabs Tts skill

Generate ElevenLabs text-to-speech audio from scripts or inline text using local voice profiles. Use when the user asks for ElevenLabs, text-to-speech, TTS, narration, voiceover, speech audio, or voice generation; load voice names, voice ids, emails, owners, and account-specific defaults only from local config outside the skill.

$npx skills add MengTo/Skills --skill elevenlabs-tts
View this skill on GitHubMengTo/Skills/agent-skills/codex/elevenlabs-tts/SKILL.md
Pack stars
7,353
Pack installs
246k
Alyn Score
71/99
Updated
2 days ago
License
MIT
– views – installs via Alyn

Install Elevenlabs Tts

Pick your agent. Every command is ready to paste.

$npx skills add MengTo/Skills --skill elevenlabs-tts

The open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.

01

Install it

Run the command above, or upload the folder in Claude.

02

Ask naturally

Describe the task. Your agent loads elevenlabs-tts when the request matches its description.

03

Name it if needed

If it does not trigger, say “use the elevenlabs-tts skill”. In Codex, type $elevenlabs-tts.

The skill itself

SKILL.md

FolderGitHub

ElevenLabs TTS

Use this skill for ElevenLabs text-to-speech generation. Keep the skill reusable and non-personal:

  • Do not store API keys, voice names, voice ids, emails, account names, customer names, or personal defaults in the skill.
  • Read ELEVENLABS_API_KEY from the process environment or the nearest .env.
  • Read account-specific voice profiles from local JSON config outside this skill.
  • Generate audio with request-level settings. Do not mutate saved ElevenLabs account or voice settings unless the user explicitly asks.

Local Profiles

Prefer one of these config sources, in order:

  1. --config /path/to/profiles.json
  2. ELEVENLABS_TTS_CONFIG=/path/to/profiles.json
  3. local/elevenlabs/profiles.json

Project-local profile files are also fine when they are gitignored, for example config/local/elevenlabs-tts.json.

The helper script expects this shape:

{
  "default_profile": "default",
  "profiles": {
    "default": {
      "voice_name": "Voice name from the local account",
      "voice_id": "optional-direct-voice-id",
      "voice_id_env": "OPTIONAL_ENV_VAR_WITH_VOICE_ID",
      "model_id": "eleven_multilingual_v2",
      "output_format": "mp3_44100_128",
      "voice_settings": {
        "stability": 0.5,
        "similarity_boost": 1.0,
        "style": 0.0,
        "speed": 1.0,
        "use_speaker_boost": true
      },
      "output_dir": "outputs/voiceovers",
      "emails": []
    }
  }
}

Fields like emails, owners, aliases, and notes are for local routing/context only. The script ignores unknown metadata fields.

Workflow

  1. Choose the profile from --profile, ELEVENLABS_TTS_PROFILE, or default_profile.
  2. Prefer the helper script: python3 <skill-root>/scripts/generate_voice.py --text-file script.txt --profile default --output output.mp3
  3. If the profile has voice_id, use it. If it has voice_id_env, read that env var. Otherwise search ElevenLabs by voice_name.
  4. Use profile model_id, output_format, and voice_settings unless the user overrides them for this generation.
  5. Put generated audio in the requested destination. If no destination is given, use the profile output_dir, then outputs/voiceovers/.
  6. Report the output path and any important warnings. Do not print secrets.

Helper Script

The bundled script supports:

  • --text "..." for inline text
  • --text-file path.txt for script files
  • stdin when neither --text nor --text-file is provided
  • --profile name to select a local profile
  • --config path.json to select a local profile file
  • --voice-id, --voice-name, --model-id, --output-format, and --settings-json for one-off overrides
  • --output path.mp3 to choose the output file
  • --dry-run to print the resolved request payload without calling the text-to-speech endpoint
  • --list-voices to list matching ElevenLabs voices without generating audio

API Notes

Use the current ElevenLabs endpoints:

  • Voice search: GET https://api.elevenlabs.io/v2/voices
  • Speech generation: POST https://api.elevenlabs.io/v1/text-to-speech/:voice_id?output_format=...

Send the API key as xi-api-key.

Tips for Elevenlabs Tts

  • • Start a fresh session after installing so your agent picks up the new skill.
  • • This skill ships scripts. Read them before the first run, and run it in a project without secrets first.
  • • It is part of a pack with 30 skills. Install only the ones you need with --skill to keep triggers precise.
  • • If two skills overlap, mention the one you want by name.

Questions about Elevenlabs Tts

What does the Elevenlabs Tts skill do?

Generate ElevenLabs text-to-speech audio from scripts or inline text using local voice profiles. Use when the user asks for ElevenLabs, text-to-speech, TTS, narration, voiceover, speech audio, or voice generation; load voice names, voice ids, emails, owners, and account-specific defaults only from local config outside the skill.

How do I install Elevenlabs Tts?

Run "npx skills add MengTo/Skills --skill elevenlabs-tts" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.

Does Elevenlabs Tts work in Cursor and Codex?

Yes. Elevenlabs Tts uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.

Is Elevenlabs Tts free?

Elevenlabs Tts is open source on GitHub under the MIT license. It is free to install; check the license before commercial use.

Who made Elevenlabs Tts?

Elevenlabs Tts is published by MengTo in the MengTo/Skills repository, together with 29 other skills.

Similar skills. From other creators.