Remotion Video Builder
Your Remotion knowledge may be stale. When exact API behavior matters, prefer the official remotion-documentation MCP server or the docs at remotion.dev.
Start Here
- If the project does not exist yet, scaffold it with
npx create-video@latestand prefer the blank template. - Keep every
remotionand@remotion/*package on the exact same version and avoid caret ranges. - Standard entry shape:
src/index.tscallsregisterRoot()src/Root.tsxregisters all videos with<Composition>or<Still>
Build Order
- Model the input contract first:
- top-level props schema
- timeline or event data
- render profile
- Define shared props with
zodand pass the schema to each<Composition>. - Use
calculateMetadatato derivedurationInFrames,width,height, transformed props, anddefaultOutName. - Build the scene structure with
<Series>for narrative order and<Sequence>for overlays, entrances, footage windows, and callouts. - In Remotion v4.x projects, explicitly set
premountForon<Sequence>elements that need assets loaded before they appear. - Add sample data and render scripts before polishing animation.
Defaults And Rules
- Default to
fps={30}and1920x1080for landscape unless the brief says otherwise. - Use
AbsoluteFillfor layering. - Use
staticFile()for anything coming frompublic/. - Use
useCurrentFrame()anduseVideoConfig()for frame-based logic. - Prefer subtle motion:
spring()with high dampinginterpolate()with clamping
- Do not use
Math.random(). Userandom(seed)fromremotion. - Keep text animation simple and legible.
- Keep landscape and vertical outputs on the same business logic unless the brief truly requires divergence.
Parameterized Video Checklist
- One shared top-level
z.object()schema defaultPropsmatching the component prop shapecalculateMetadatareturning dynamic duration or dimensions when inputs require it- Sample JSON or TypeScript data for local preview
- Render scripts for every target output
Footage Strategy
Support at least these modes when footage is optional:
noneplaceholderreal
The timeline and overlays should still render when no real footage exists.
Millrace Launch Video
If the request is about Millrace or the launch video pipeline, read references/millrace-launch-video.md before implementing.
References
- references/remotion-core.md
- references/millrace-launch-video.md
Source: hashgraph-online/awesome-codex-plugins → plugins/tim-osterhus/codex-remotion-plugin/skills/remotion-video-builder/SKILL.md