Back to skills
extension
Category: Productivity & OfficeAPI key required

Elevenlabs Pro

ElevenLabs advanced TTS for converting text to speech, listing voices, and managing credits

personAuthor: mrnsmhhubclawhub

ElevenLabs Pro Skill

Advanced text-to-speech using the ElevenLabs API. Supports voice selection, language/gender filtering, audio file generation, and credit tracking.

Prerequisites

Set your API key as an environment variable:

export ELEVENLABS_API_KEY=sk_...

Or pass it directly with --api-key.

Usage

Convert text to speech

python3 scripts/elevenlabs.py "Hello world" --voice Sarah --output audio.mp3

List available voices

python3 scripts/elevenlabs.py --list-voices
python3 scripts/elevenlabs.py --list-voices --lang en --gender female
python3 scripts/elevenlabs.py --list-voices --json

Check remaining credits

python3 scripts/elevenlabs.py --credits

Options

| Option | Default | Description | |--------|---------|-------------| | --voice NAME | Rachel | Voice name (partial match supported) | | --voice-id ID | — | Direct voice ID (overrides --voice) | | --output PATH | output.mp3 | Output MP3 file path | | --model ID | eleven_turbo_v2_5 | Model ID | | --stability | 0.5 | Voice stability (0–1) | | --similarity | 0.75 | Similarity boost (0–1) | | --style | 0.0 | Style exaggeration (0–1) | | --lang CODE | — | Filter voices by language (e.g. en, fr) | | --gender | — | Filter voices by gender (male/female) | | --json | — | Output as JSON | | --api-key KEY | — | API key (overrides env var) |

Available Models

| Model ID | Description | |----------|-------------| | eleven_turbo_v2_5 | Fastest, lowest latency (free tier supported) | | eleven_multilingual_v2 | Best quality, multilingual | | eleven_flash_v2_5 | Ultra-low latency |

Importable API

import sys
sys.path.insert(0, "path/to/skills/elevenlabs-pro/scripts")
from elevenlabs import list_voices, get_voice_id, text_to_speech, get_credits

api_key = "sk_..."
# TTS
voice_id = get_voice_id(api_key, "Sarah")
path = text_to_speech(api_key, "Hello!", voice_id, "out.mp3")

# Credits
info = get_credits(api_key)
print(info["characters_remaining"])

References

See references/voices.md for popular voices and voice parameter guidance.