add-voiceover
Skill153 starsChanged 16 days agoMITView on GitHub
Generate a voiceover narration and add it to your Remotion project. Provide a script or describe what the narration should say, and this will generate per-scene ElevenLabs TTS audio (official ElevenLabs text-to-speech skill) and wire it into your composition.
- Reads credentials
- Installs packages
2 other projects use a version of this.
Adopted by
Most recently taken up by
- jamdotdev/jam-plugintheir own version, first seen Nov 8, 2026
- jamdotdev/skillstheir own version, first seen Nov 8, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- jamdotdev/jam-plugin★ 11same name
- jamdotdev/skills★ 11same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository14 other files it gives its agents.
- add-captionsSkill
- add-musicSkill
- add-transitionsSkill
- analyze-footageSkill
- create-shortSkill
- create-videoSkill
- find-footageSkill
- generate-clipSkill
- generate-imageSkill
- remotion-productionSkill
- review-videoSkill
- setup-guideSkill
- setupSkill
- transcribeSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 5 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
If Studio isn't running yet, start it now with npx remotion studio (or --no-open with an in-app browser, then open the URL it prints) and …
- Distinctive: line 20
If the user hasn't provided a script:
- Distinctive: line 21
Ask what the video is about
- Distinctive: line 22
Ask about tone (professional, casual, energetic, calm)
- Distinctive: line 23
Write the narration script, split into one line or paragraph per scene
- Very specific: line 40
If ELEVENLABS_API_KEY isn't set for the project, run npx -y @elevenlabs/cli@latest onboard init from the project root and follow what it …
- Very specific: line 42
Run node scripts/generate-audio.ts from the project root.
- Very specific: line 56
Place each scene's file with <Audio> from @remotion/media inside that scene (install with npx remotion add @remotion/media), following the …
- Very specific: line 72
If the project already has background music, lower its volume during voiceover.
- Distinctive: line 76
Ask the user to play it in the open Studio.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Add Voiceover — Generate & Integrate Narration
You are helping the user add a voiceover narration to their Remotion project.
Load the remotion-production skill for the voiceover-sync and audio-integration rules, and the official ElevenLabs text-to-speech skill (npx skills add elevenlabs/skills) for the API details.
Workflow
0. Preview First
If Studio isn't running yet, start it now with npx remotion studio (or --no-open with an in-app browser, then open the URL it prints) and keep it open, following the official remotion-best-practices skill.
1. Get the Script
If the user hasn't provided a script:
- Ask what the video is about
- Ask about tone (professional, casual, energetic, calm)
- Write the narration script, split into one line or paragraph per scene
- Present for approval
2. Choose Voice
Pre-made voices (from the official text-to-speech skill):
- George (
JBFqnCBsd6RMkjVDRZzb) — Male, narrative (default) - Sarah (
EXAVITQu4vr4xnSDxMaL) — Female, soft - Daniel (
onwK4e9ZLuTAKqWW03F9) — Male, authoritative - Charlotte (
XB0fDUnXU5powFXDhCwa) — Female, conversational
For a specific mood, accent or language, search the voice library; for a cloned voice or several speakers, see the elevenlabs-advanced rule. Use the same voice for every scene.
3. Generate TTS, One File per Scene
Generate through ElevenLabs, as the official Remotion voiceover guide also recommends:
- If
ELEVENLABS_API_KEYisn't set for the project, runnpx -y @elevenlabs/cli@latest onboard initfrom the project root and follow what it prints. Never ask for the key in chat. npm i @elevenlabs/elevenlabs-js, then createscripts/generate-audio.tsfrom theaudio-integrationrule, with onevoiceoverentry per scene (vo-scene1,vo-scene2, …) and the chosenVOICE_ID. The model iseleven_v4.- Run
node scripts/generate-audio.tsfrom the project root. Each scene lands atpublic/vo-sceneN.mp3. To redo one line, delete its file and run the script again.
The script reports no duration; step 4 measures the files.
Alternatives:
- The ElevenLabs MCP
text_to_speechtool is deprecated (archived upstream) but still ships for quick interactive one-offs. It writes intopublic/; rename its output tovo-sceneN.mp3. - KIE
generate_speech(remotion-media) for cheap drafts:text,output_name: vo-scene1,voice: Eric(21 named voices, listed in thevoiceover-syncrule). Suno and the other KIE-resold models aren't licensed by their owners through KIE. Use KIE audio for drafts and internal work, and generate final commercial audio with ElevenLabs.
4. Size the Scenes with calculateMetadata
Measure each vo-sceneN.mp3 in calculateMetadata with Mediabunny and pass the per-scene frame counts (Math.ceil(seconds * fps)) as props, as the voiceover-sync rule shows. The composition length then follows the audio, and regenerating a line updates the timing in Studio.
5. Wire into Composition
Place each scene's file with <Audio> from @remotion/media inside that scene (install with npx remotion add @remotion/media), following the official remotion-markup skill (audio.md):
import { Audio } from "@remotion/media";
import { staticFile } from "remotion";
// Inside scene 1:
<Audio src={staticFile("vo-scene1.mp3")} volume={1} />6. Captions (optional)
Offer captions. They follow the official remotion-captions skill (word-level, @remotion/whisper-webgpu), with an ElevenLabs Scribe fallback when there's no GPU and TikTok-style presets from the captions-workflow rule. Run /add-captions, or /transcribe if the user only wants an .srt file.
7. Duck Background Music (if present)
If the project already has background music, lower its volume during voiceover. See audio-integration rule for the ducking pattern.
8. Review in Studio
Ask the user to play it in the open Studio. Don't render unless they ask for an MP4.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

