ElevenLabs Pro — Advanced TTS
Scripts: ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py
Requires: ELEVENLABS_API_KEY env var (or --api-key flag)
When to Use
- Need TTS with voice selection and filtering
- Want to check remaining ElevenLabs credits
- Need to list available voices with language/gender filters
- Hermes built-in
text_to_speechis simpler but less flexible
Text to Speech
python3 ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py \
"Hello world, this is a test" \
--voice Sarah \
--output audio.mp3
List Voices (with filters)
# All voices
python3 ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py --list-voices
# Filter by language and gender
python3 ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py --list-voices --lang en --gender female
Check Credits
python3 ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py --credits
Notes
- Script also works as importable Python module
- For simple TTS, prefer Hermes built-in
text_to_speechtool - Use this when you need voice selection, filtering, or credits info
- Output: include
MEDIA:/path/to/audio.mp3in response to send as attachment
Pitfalls
- ⚠️ Requires
ELEVENLABS_API_KEY— check before running - ElevenLabs has usage-based pricing, check credits first for long texts
Verification
# Check API key is set
echo $ELEVENLABS_API_KEY
# List available voices (no credits consumed)
python3 ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py --list-voices
# Check remaining credits
python3 ~/.hermes/skills/media/elevenlabs-pro/scripts/elevenlabs.py --credits