name: eleven-labs-podcast description: | Create podcast audio from a text file with ElevenLabs APIs.
Triggers when user mentions: - "eleven labs podcast" - "create a podcast from a text file" - "turn script into podcast audio"
Quick Usage (Already Configured)
1) List available voices
bash .opencode/skills/eleven-labs-podcast/scripts/list-voices.sh
2) Generate podcast audio from a text file
python3 .opencode/skills/eleven-labs-podcast/scripts/create-podcast.py "notes/episode-01.txt" --mode auto --output "notes/episode-01.mp3"
3) Force dialogue mode (HOST/GUEST)
python3 .opencode/skills/eleven-labs-podcast/scripts/create-podcast.py "notes/dialogue.txt" --mode dialogue
Input Format
automode uses dialogue when it seesHOST:orGUEST:lines; otherwise it uses narration (tts).ttsmode narrates the full file with one voice.dialoguemode treats each non-empty line as one turn.- In dialogue mode, unprefixed lines alternate between host and guest voices.
What This Skill Loads
- Credentials are loaded from
.opencode/skills/eleven-labs-podcast/.env. - Required:
ELEVEN_LABS_API. - Optional defaults come from
.env.example. - API calls used by this skill:
GET /v1/voicesPOST /v1/text-to-speech/{voice_id}POST /v1/text-to-dialogue
Common Gotchas
- If you get a
401or403, verify the API key and key scope. mp3_44100_192requires a higher ElevenLabs tier; default ismp3_44100_128.- For dialogue mode, split very long lines into shorter turns for best quality.
First-Time Setup (If Not Configured)
- Copy
.opencode/skills/eleven-labs-podcast/.env.exampleto.opencode/skills/eleven-labs-podcast/.env. - Set
ELEVEN_LABS_API. - Optionally set your preferred voice IDs and model IDs.