Elevenlabs Pro

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

Audits

Pass

Install

openclaw skills install openclaw-skill-elevenlabs-pro

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

OptionDefaultDescription
--voice NAMERachelVoice name (partial match supported)
--voice-id IDDirect voice ID (overrides --voice)
--output PATHoutput.mp3Output MP3 file path
--model IDeleven_turbo_v2_5Model ID
--stability0.5Voice stability (0–1)
--similarity0.75Similarity boost (0–1)
--style0.0Style exaggeration (0–1)
--lang CODEFilter voices by language (e.g. en, fr)
--genderFilter voices by gender (male/female)
--jsonOutput as JSON
--api-key KEYAPI key (overrides env var)

Available Models

Model IDDescription
eleven_turbo_v2_5Fastest, lowest latency (free tier supported)
eleven_multilingual_v2Best quality, multilingual
eleven_flash_v2_5Ultra-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.