---
name: remotion
description: Build or edit a React Remotion composition and render a local video, checking actual duration, dimensions, and representative frames.
---

# Remotion video

Inspect the existing project, assets, composition, and installed Remotion version. Reuse its package manager and lockfile. For a new project, keep dependencies local and pin compatible versions of remotion and @remotion packages. Check the current project license requirements before a commercial rollout; a local render test does not purchase a license.

Confirm width, height, fps, duration, message, and available assets. Register a composition and derive animation from useCurrentFrame and useVideoConfig. Use seeded randomness when needed. Keep state independent of wall-clock time and CSS animation playback. Use Sequence timing intentionally; verify local versus global frames and the exclusive ending frame.

Prefer supplied local assets via staticFile and frame-aware Remotion media components. Await fonts and media as required by the installed APIs. Do not add paid generation services or remote dependencies to a simple local composition. Keep text within safe margins and readable for the intended display.

Run the project's local CLI with explicit entry point, composition ID, and output file. On Windows pass props through a JSON file. Use a new output path or --overwrite=false to preserve prior work. Begin with modest concurrency on the laptop.

Verify the resulting file with a media probe: codec, dimensions, frame rate, frame count or duration, and intended audio. Inspect representative frames, including opening and ending, for clipping and unexpected blanks. A successful build is not proof of a rendered video. Report actual render results and any missing assets or audio.

Current commands and API details: [render](https://www.remotion.dev/docs/cli/render), [fundamentals](https://www.remotion.dev/docs/the-fundamentals), [browser setup](https://www.remotion.dev/docs/cli/browser/ensure).
