adding-narration

Generates, verifies, and synchronizes spoken narration audio with Remotion video scenes.

Updated Sep 22, 2026
One-click install
npx skills add https://github.com/napatne/LIVE-Workspace --skill adding-narration-napatne
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: adding-narration
Source: https://github.com/napatne/LIVE-Workspace/tree/main/.agents/skills/adding-narration
Command: npx skills add https://github.com/napatne/LIVE-Workspace --skill adding-narration-napatne

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Adding a voiceover to a code-built video fails in predictable ways: batched text-to-speech silently drops lines, spoken audio runs about 50% longer than the written script, and mis-timed cuts produce audible clicks. This Skill encodes the measured workflow for writing narration for the ear, generating it within API quotas, and fitting the picture to the audio. ## Core Features & Use Cases - Quota-aware TTS generation: Batch two to four script sections per API call against a 10-requests-per-day free tier, with a JSON manifest driving one WAV per batch. - Transcription-based verification: Send finished audio back through a text model and compare it line by line against the script to catch missing lines, spoken stage directions, and silences that duration checks miss. - Render-time splitting and timing reconciliation: Play slices of batch files via Remotion trimBefore/trimAfter instead of cutting files, measure each section's real spoken length, and raise section durations and targetSeconds together so nothing clips. - Use Case: You have a 60-second explainer script and need a voice. This Skill batches the script into three API calls, verifies the transcripts, finds line boundaries with a silence scanner, reconciles the real ~95-second spoken length against the plan, and places each clip with 12-frame fade-ins and 15-frame fade-outs. ## Quick Start Ask the agent to add narration to your video using the adding-narration skill, starting from your approved script and confirming a TTS API key is available.

Frequently Asked Questions about adding-narration

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add narration to a Remotion video?▼

Write the script for the ear, generate audio in batches of two to four sections per API call, verify the transcript against the script, then play slices of the batch WAVs using Audio trimBefore and trimAfter in frames. Measure the real spoken length before finalizing scene durations.

How do I split TTS audio into per-scene clips?▼

Do not cut the files; trim them at render time with Remotion's trimBefore and trimAfter props. Find line boundaries by sweeping silence thresholds until the region count matches the known line count, since within-line pauses can exceed between-line gaps.

Why is my generated narration missing lines?▼

Batched text-to-speech generation silently drops lines without any error or warning, and the file still plays at a plausible length. Verify by transcribing the finished audio and comparing it line by line against the script, then regenerate the affected batch.

Can I use the FFmpeg bundled with Remotion for audio processing?▼

The bundled FFmpeg is reachable via npx remotion ffmpeg but is a trimmed build with filters like silenceremove, afade, setpts, and minterpolate compiled out. Scripts needing those filters require a full system FFmpeg installation.

Why does my narrated video overrun its planned duration?▼

Narration delivers about 100 words per minute while scripts are typically budgeted at 150 wpm for reading, so narrated videos run roughly 50% longer. Reconcile by raising each section's seconds and the total targetSeconds together, since widening one section alone squeezes the others.

Why do audio cuts click in Remotion and how do I fix it?▼

A cut landing mid-waveform is a step discontinuity heard as a click, and Remotion evaluates volume in roughly 83ms blocks. Use fades of 12 frames in and 15 frames out built on the clip's frame count, since shorter fades collapse into hard steps.