mcpbeat

Elevenlabs Tts

glebis/elevenlabs-tts

This skill converts text to high-quality audio files using ElevenLabs API. Use this skill when users request text-to-speech generation, audio narration, or voice synthesis with customizable voice parameters (stability, similarity boost) and voice presets (rachel, adam, bella, elli, josh, arnold, ava).

3k tokens
context cost
the whole folder, loaded on every use
7
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
337
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/glebis/claude-skills --skill elevenlabs-tts

What comes with it

7 481 bytes besides the instruction
.claude-plugin/plugin.json
.env.example
.gitignore
references/api_reference.md
requirements.txt
scripts/elevenlabs_tts.py

The instruction itself

14 sections, as written by the author

ElevenLabs Text-to-Speech

Overview

Generate professional audio files from text using ElevenLabs' advanced text-to-speech API. The skill provides pre-configured voice presets with sensible defaults, voice parameter customization, and direct access to the scripts/elevenlabs_tts.py script for programmatic control.

Quick Start

To generate audio from text:

  • Ensure the .env file contains a valid ELEVENLABS_API_KEY
  • Execute the script with text: python scripts/elevenlabs_tts.py "Your text here"
  • Specify voice and output: python scripts/elevenlabs_tts.py "Text" --voice adam --output audio/output.mp3

Voice Presets

Seven pre-configured voices are available. See references/api_reference.md for complete voice descriptions:

  • rachel (default) - Clear, professional female
  • adam - Deep, authoritative male
  • bella - Warm, friendly female
  • elli - Young, enthusiastic female
  • josh - Friendly, conversational male
  • arnold - Deep, powerful male
  • ava - Expressive, dynamic female

Parameters

Text

The text to convert to speech. Any length is supported.

Voice Selection

Specify voice using preset name (e.g., rachel, adam) or direct ElevenLabs voice ID.

Voice Parameters

  • stability (0.0-1.0, default 0.5): Lower values create expressive variation; higher values ensure consistency
  • similarity_boost (0.0-1.0, default 0.75): Higher values maintain closer adherence to voice characteristics

Output

Specify the output file path. Default is output.mp3. Directories are created automatically.

Usage Examples

Basic Python Usage

from scripts.elevenlabs_tts import generate_speech

path = generate_speech(
    text="Hello, this is a test message",
    voice_id="rachel"
)

Command Line

# With default voice
python scripts/elevenlabs_tts.py "Generate this text"

# With custom voice and stability
python scripts/elevenlabs_tts.py "Different voice" --voice adam --stability 0.7

# To custom output path
python scripts/elevenlabs_tts.py "Save here" --output audio/narration.mp3

# List available voices
python scripts/elevenlabs_tts.py "" --list-voices

Implementation Notes

  • The script handles API communication with error reporting
  • Output directories are created automatically if they don't exist
  • Returns absolute path to generated audio file
  • Uses eleven_monolingual_v1 model by default (can be overridden)

Resources

  • scripts/elevenlabs_tts.py - Main Python script for text-to-speech generation. Can be imported as a module or executed from command line.
  • references/api_reference.md - Detailed API documentation including voice descriptions, parameter explanations, and usage examples.
  • .env and .env.example - Environment configuration for storing API credentials securely.

How to use it

Copy the folder

Take glebis/elevenlabs-tts from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.