59 added, 7 removed. Audit A to A.
---
name: remotion-video-creation
- description: Best practices for Remotion - Video creation in React. 29 domain-specific rules covering 3D, animations, audio, captions, charts, transitions, and more. Use when building video in React with Remotion — animations, audio, captions, charts, or transitions.
+ description: Best practices for Remotion - Video creation in React
metadata:
- tags: remotion, video, react, animation, composition, three.js, lottie
+ tags: remotion, video, react, animation, composition
---
## When to use
Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge.
+ ## New project setup
+
+ When in an empty folder or workspace with no existing Remotion project, scaffold one using:
+
+ ```bash
+ npx create-video@latest --yes --blank --no-tailwind my-video
+ ```
+
+ Replace `my-video` with a suitable project name.
+
+ ## Starting preview
+
+ Start the Remotion Studio to preview a video:
+
+ ```bash
+ npx remotion studio
+ ```
+
+ ## Optional: one-frame render check
+
+ You can render a single frame with the CLI to sanity-check layout, colors, or timing.
+ Skip it for trivial edits, pure refactors, or when you already have enough confidence from Studio or prior renders.
+
+ ```bash
+ npx remotion still [composition-id] --scale=0.25 --frame=30
+ ```
+
+ At 30 fps, `--frame=30` is the one-second mark (`--frame` is zero-based).
+
+ ## Captions
+
+ When dealing with captions or subtitles, load the [./rules/subtitles.md](./rules/subtitles.md) file for more information.
+
+ ## Using FFmpeg
+
+ For some video operations, such as trimming videos or detecting silence, FFmpeg should be used. Load the [./rules/ffmpeg.md](./rules/ffmpeg.md) file for more information.
+
+ ## Silence detection
+
+ When needing to detect and trim silent segments from video or audio files, load the [./rules/silence-detection.md](./rules/silence-detection.md) file.
+
+ ## Audio visualization
+
+ When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the [./rules/audio-visualization.md](./rules/audio-visualization.md) file for more information.
+
+ ## Sound effects
+
+ When needing to use sound effects, load the [./rules/sfx.md](./rules/sfx.md) file for more information.
+
## How to use
Read individual rule files for detailed explanations and code examples:
- [rules/3d.md](rules/3d.md) - 3D content in Remotion using Three.js and React Three Fiber
- [rules/animations.md](rules/animations.md) - Fundamental animation skills for Remotion
- [rules/assets.md](rules/assets.md) - Importing images, videos, audio, and fonts into Remotion
- [rules/audio.md](rules/audio.md) - Using audio and sound in Remotion - importing, trimming, volume, speed, pitch
- [rules/calculate-metadata.md](rules/calculate-metadata.md) - Dynamically set composition duration, dimensions, and props
- [rules/can-decode.md](rules/can-decode.md) - Check if a video can be decoded by the browser using Mediabunny
- - [rules/charts.md](rules/charts.md) - Chart and data visualization patterns for Remotion
+ - [rules/charts.md](rules/charts.md) - Chart and data visualization patterns for Remotion (bar, pie, line, stock charts)
- [rules/compositions.md](rules/compositions.md) - Defining compositions, stills, folders, default props and dynamic metadata
- - [rules/display-captions.md](rules/display-captions.md) - Displaying captions in Remotion with TikTok-style pages and word highlighting
- [rules/extract-frames.md](rules/extract-frames.md) - Extract frames from videos at specific timestamps using Mediabunny
- [rules/fonts.md](rules/fonts.md) - Loading Google Fonts and local fonts in Remotion
- [rules/get-audio-duration.md](rules/get-audio-duration.md) - Getting the duration of an audio file in seconds with Mediabunny
- [rules/get-video-dimensions.md](rules/get-video-dimensions.md) - Getting the width and height of a video file with Mediabunny
- [rules/get-video-duration.md](rules/get-video-duration.md) - Getting the duration of a video file in seconds with Mediabunny
- [rules/gifs.md](rules/gifs.md) - Displaying GIFs synchronized with Remotion's timeline
- [rules/images.md](rules/images.md) - Embedding images in Remotion using the Img component
- - [rules/import-srt-captions.md](rules/import-srt-captions.md) - Importing .srt subtitle files into Remotion using @remotion/captions
+ - [rules/light-leaks.md](rules/light-leaks.md) - Light leak overlay effects using @remotion/light-leaks
- [rules/lottie.md](rules/lottie.md) - Embedding Lottie animations in Remotion
- [rules/measuring-dom-nodes.md](rules/measuring-dom-nodes.md) - Measuring DOM element dimensions in Remotion
- [rules/measuring-text.md](rules/measuring-text.md) - Measuring text dimensions, fitting text to containers, and checking overflow
- [rules/sequencing.md](rules/sequencing.md) - Sequencing patterns for Remotion - delay, trim, limit duration of items
- [rules/tailwind.md](rules/tailwind.md) - Using TailwindCSS in Remotion
- [rules/text-animations.md](rules/text-animations.md) - Typography and text animation patterns for Remotion
- - [rules/timing.md](rules/timing.md) - Interpolation curves in Remotion - linear, easing, spring animations
- - [rules/transcribe-captions.md](rules/transcribe-captions.md) - Transcribing audio to generate captions in Remotion
+ - [rules/timing.md](rules/timing.md) - Timing with interpolate and Bézier easing, springs
- [rules/transitions.md](rules/transitions.md) - Scene transition patterns for Remotion
+ - [rules/transparent-videos.md](rules/transparent-videos.md) - Rendering out a video with transparency
- [rules/trimming.md](rules/trimming.md) - Trimming patterns for Remotion - cut the beginning or end of animations
- [rules/videos.md](rules/videos.md) - Embedding videos in Remotion - trimming, volume, speed, looping, pitch
+ - [rules/parameters.md](rules/parameters.md) - Make a video parametrizable by adding a Zod schema
+ - [rules/maps.md](rules/maps.md) - Add a map using Mapbox and animate it
+ - [rules/silence-detection.md](rules/silence-detection.md) - Adaptive silence detection using FFmpeg loudnorm and silencedetect
+ - [rules/voiceover.md](rules/voiceover.md) - Adding AI-generated voiceover to Remotion compositions using ElevenLabs TTS