| name | elevenlabs-narration |
| description | Render a written script to mp3 voiceover via the ElevenLabs API. Reads a PASTE-block convention from a script.md file, calls the API, saves a master and a runtime copy. |
| metadata | {"tags":"elevenlabs, voice, audio, narration, tts"} |
When to Use
Use this skill in Stage 03 (voice). It takes a finished script (Stage 02 output) and produces an mp3.
What You Need Before Calling
- A
.env file with ELEVEN_API_KEY and ELEVEN_VOICE_ID populated locally. See ../../shared/env-template.md.
- Python with
elevenlabs and python-dotenv installed.
- A script file in the workspace that contains a
## ► PASTE THIS into ElevenLabs heading followed by two --- rules. The narration sits between those rules.
The skill never writes the API key or voice id into a committed file. Credentials stay in .env.
How It Works
- Read the script file.
- Find the
PASTE THIS into ElevenLabs heading. The case-insensitive match handles ► , ▶ , or > prefixes.
- Extract everything between the next two
--- rules. Strip any lines starting with > (markdown blockquote callouts to the human).
- Load
.env via python-dotenv.
- Call
client.text_to_speech.convert(text=..., voice_id=..., model_id=..., output_format=..., voice_settings=VoiceSettings(...)).
- Save the returned audio to
audio/{videoN}.mp3 (master).
- Copy that file to
remotion/public/audio/{videoN}.mp3 (runtime, so staticFile() finds it).
The reference implementation is in scripts/generate-audio.py. Copy it into the project root and adjust the SCRIPTS mapping for your file layout.
Voice Settings
This workspace is configured for:
- Voice label:
{{ELEVEN_VOICE_LABEL}} (the real id lives in .env)
- Model:
{{ELEVEN_MODEL_ID}}
- Stability:
{{ELEVEN_STABILITY}}
- Similarity boost:
{{ELEVEN_SIMILARITY_BOOST}}
- Speed:
{{ELEVEN_SPEED}}
- Output:
{{ELEVEN_OUTPUT_FORMAT}}
Override any of these by setting the matching ELEVEN_* variable in .env before the call.
Rules
After the Call
Stage 03 hands off to the Whisper skill. The voice file is the timeline truth from here on.