last update
Apr 30, 2026
license
MITv1.0.0
format
SKILL.md
- Install
// Downloads SKILL.md into ~/.claude/skills/elevenlabs-voice-cloner/
$ curl -fsSL --create-dirs -o ~/.claude/skills/elevenlabs-voice-cloner/SKILL.md https://claudeskil.com/skills/elevenlabs-voice-cloner/SKILL.md - Invoke
// Inside Claude Code, type the skill name as a slash command
> /elevenlabs-voice-cloner cut a 30-second highlight reel - Or just ask
// Claude loads the skill by itself when a request matches its description
> cut a 30-second highlight reel
- name:
- ElevenLabs Voice Cloner
- slug:
- elevenlabs-voice-cloner
- version:
- v1.0.0
- license:
- MIT
- author:
- @chiragthummar16
- categories:
- tags:
- #elevenlabs#tts#voice-cloning#ssml#audio
- description:
Generate voice-overs and clone voices with ElevenLabs. Includes SSML, prosody, multi-lang.
README.md
ElevenLabs Voice Cloner
Generate natural-sounding voice-overs and clone voices through the ElevenLabs API, directly from your agent workflow. This skill handles the awkward parts of production TTS — splitting long scripts into model-safe chunks, applying SSML and prosody control, and stitching audio back together — so you can go from a script file to a finished MP3 without hand-managing requests. Built for video editors scoring VO, podcasters producing episodes, and developers adding spoken output for accessibility.
When to use it
- You have a multi-paragraph script (blog post, episode, documentary narration) that exceeds a single TTS request and needs seamless concatenation.
- You want a consistent narrator across a series and need to clone a voice from reference samples.
- You're localizing content and need the same script rendered in multiple languages with one model.
- You need fine control over pauses, emphasis, and pacing rather than flat read-through audio.
How it works
The skill wraps ElevenLabs' Text-to-Speech endpoints. Core synthesis uses POST /v1/text-to-speech/{voice_id} (and the /stream variant for low-latency playback), passing model_id (e.g. eleven_multilingual_v2 for 29-language output, or eleven_turbo_v2_5 when speed matters) plus a voice_settings block for stability, similarity_boost, style, and use_speaker_boost.
Voice cloning calls POST /v1/voices/add (instant cloning from uploaded samples), returning a voice_id you reference in later syntheses. Available voices come from GET /v1/voices. Long-form text is segmented on sentence boundaries under the per-request character cap, with previous_text/next_text passed between chunks so prosody stays continuous across the seams. SSML-style tags and <break time="..."/> markers control pacing.
Usage example
curl -fsSL --create-dirs -o ~/.claude/skills/elevenlabs-voice-cloner/SKILL.md https://claudeskil.com/skills/elevenlabs-voice-cloner/SKILL.md
export ELEVENLABS_API_KEY=sk_...
# Clone a narrator from samples, then render a long script
clone "Narrator" --samples ./samples/*.mp3
voiceover ./script.md \
--voice "Narrator" \
--model eleven_multilingual_v2 \
--stability 0.45 --similarity 0.85 \
--out episode.mp3
Inline SSML in the script:
Welcome back. <break time="0.8s"/> Today we cover <emphasis level="moderate">three</emphasis> ideas.
Tips & gotchas
- Stability vs. expressiveness trade-off: lower
stability(~0.3–0.5) gives livelier delivery but more take-to-take variance; raise it for consistent corporate VO. - Cloning needs clean input: use 1–3 minutes of dry, single-speaker audio with no background music. Noisy samples bake artifacts into every render.
<break>caps out: breaks longer than a few seconds get ignored or clipped — insert multiple tags or trailing punctuation instead.- Chunk boundaries matter: keep the
previous_textcontext window populated, or you'll hear pitch jumps where segments join.
FAQ
Which model for non-English? Use eleven_multilingual_v2; it auto-detects language from the text, so no language flag is required.
Are cloned voices private? Instant-cloned voices live in your workspace and aren't shared. Honor consent — only clone voices you're authorized to use.
Can I stream instead of saving a file? Yes — the /stream endpoint returns audio progressively for real-time playback or piping into a player.
$ cat reviews/