elevenlabs-tts

Generate high-quality audio from text using Eleven Labs API. Use for podcasts, narration, voice-overs, and audio summaries.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "elevenlabs-tts" with this command: npx skills add krishagel/geoffrey/krishagel-geoffrey-elevenlabs-tts

Eleven Labs Text-to-Speech

Generate high-quality audio from text using the Eleven Labs API. Ideal for podcast-style summaries, narration, and voice-overs.

Quick Start

# Generate audio with default voice (Rachel)
uv run scripts/generate_audio.py --text "Hello, this is a test."

# Generate from a text file
uv run scripts/generate_audio.py --file report.txt --output ~/Desktop/report.mp3

# Use a specific voice
uv run scripts/generate_audio.py --text "Breaking news..." --voice Josh

# List available voices
uv run scripts/list_voices.py

Scripts

generate_audio.py

Main script for TTS generation.

Arguments:

ArgumentDescriptionDefault
--textText content to convert-
--filePath to text file-
--voiceVoice name or IDRachel
--modelModel IDeleven_multilingual_v2
--outputOutput file path~/Desktop/audio_TIMESTAMP.mp3

Features:

  • Auto-chunks text >10k characters at sentence boundaries
  • Concatenates chunks into single MP3
  • Returns JSON with metadata (file path, voice, model, char count, chunks)

list_voices.py

Fetch and display available voices.

Arguments:

ArgumentDescriptionDefault
--allShow all voices (not just premade)false
--jsonOutput as JSONfalse

Curated Voices

Six voices selected for variety (see references/voices.md for details):

VoiceStyleBest For
RachelCalm, clearNarration, podcasts (default)
BellaSoft, gentleStorytelling, meditation
ElliYoung, expressiveCasual content, tutorials
JoshDeep, authoritativeNews, professional content
AdamMiddle-aged, clearBusiness, documentaries
AntoniWarm, versatileGeneral purpose

Use list_voices.py to discover additional voices.

Models

ModelIDBest ForChar Limit
Multilingual v2eleven_multilingual_v2Long-form (default)10,000
Flash v2.5eleven_flash_v2_5Quick, real-time40,000
Turbo v2.5eleven_turbo_v2_5Balanced40,000
Eleven v3eleven_v3Maximum expression3,000

Environment Setup

Requires ELEVENLABS_API_KEY in:

~/Library/Mobile Documents/com~apple~CloudDocs/Geoffrey/secrets/.env

Examples

Daily Summary Podcast

# Generate individual segments
uv run scripts/generate_audio.py --file weather.txt --voice Rachel --output ~/Desktop/weather.mp3
uv run scripts/generate_audio.py --file news.txt --voice Josh --output ~/Desktop/news.mp3
uv run scripts/generate_audio.py --file calendar.txt --voice Bella --output ~/Desktop/calendar.mp3

Long Report

# Auto-chunks long text, concatenates into single file
uv run scripts/generate_audio.py --file quarterly_report.txt --model eleven_turbo_v2_5 --output report.mp3

Quick Test

uv run scripts/generate_audio.py --text "Testing one two three" --voice Adam

Output

Default: ~/Desktop/audio_YYYY-MM-DD_HHMMSS.mp3

Script returns JSON:

{
  "success": true,
  "file": "/Users/user/Desktop/audio_2026-01-23_143022.mp3",
  "voice": "Rachel",
  "model": "eleven_multilingual_v2",
  "characters": 1234,
  "chunks": 1
}

Limitations

  • Character limits vary by model (see table above)
  • One voice per generation (multi-voice requires separate files)
  • Output format: MP3 only

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

morning-briefing

No summary provided by upstream source.

Repository SourceNeeds Review
General

google-workspace

No summary provided by upstream source.

Repository SourceNeeds Review
General

omnifocus-manager

No summary provided by upstream source.

Repository SourceNeeds Review
General

local-tts

No summary provided by upstream source.

Repository SourceNeeds Review