| name | remotion-video |
| description | Build and render Remotion videos using React compositions. Use when defining `<Composition>` entries (often in `src/Root.tsx`), implementing deterministic frame-based animations with `useCurrentFrame()`, sequencing (`Sequence`/`Series`/`TransitionSeries`), and adding media via `OffthreadVideo`, `Img`, `Audio`, and `staticFile()`. |
Remotion Video (React)
Instructions
Define one or more compositions (commonly in
src/Root.tsx).- Use defaults unless specified otherwise:
fps={30},width={1920},height={1080}, and compositionid="MyComp". - Ensure
defaultPropsmatches the React component props shape and is JSON-serializable.
- Use defaults unless specified otherwise:
Implement video components as deterministic, frame-driven React.
- Drive animations from
useCurrentFrame()anduseVideoConfig(). - Avoid
Math.random(); use Remotion’srandom(seed). - Avoid interactive UI patterns (no click handlers / hover state). Prefer pure functions of
frame+ props.
- Drive animations from
Use the right primitives for timing, layering, and animation.
- Layer elements with
AbsoluteFill. - Time-shift mounts with
Sequenceand play back-to-back withSeries. - For transitions between clips, use
TransitionSeriesfrom@remotion/transitions. - Use
interpolate()(usually with{extrapolateLeft: 'clamp', extrapolateRight: 'clamp'}) and/orspring()for motion.
- Layer elements with
Use the correct media tags.
- Video: prefer
<OffthreadVideo>. - Images: use
<Img>. - GIFs: use
<Gif>from@remotion/gif. - Audio: use
<Audio>. - For local assets in
public/, usestaticFile('...').
- Video: prefer
Preview and render.
- Start Studio:
npx remotion studio(alias:npx remotion preview). - Render:
npx remotion render <composition-id> <output-path>(if you omit the ID, Remotion will prompt).
- Start Studio:
When unsure, read the bundled references.
- Detailed patterns/snippets:
references/remotion-notes.md - CLI notes:
references/remotion-cli.md - Media notes:
references/remotion-media.md
- Detailed patterns/snippets:
Examples
Minimal composition + frame-based component
See references/remotion-notes.md for the canonical src/Root.tsx + MyComp snippets.