remotion-interactivity

Originally fromremotion-dev/remotion
Installation
SKILL.md

By writing Remotion markup in a specific way, the Remotion Studio is able to recognize the structure of the code and makes it interactive:

  • Allowing items to be selected by clicking on them
  • Allowing drag+drop, resizing and rotation
  • Editing the CSS styles
  • Making keyframes and easing values editable

If the markup is too complex for the Studio to make it interactive, then the values become grayed out.

Prefer interactive components with their own timelines

Use Interactive.withSchema({wrapInSequence: true, layout: 'absolute-fill'}) for components that fill their parent. The wrapper provides their visual root and timeline item, and clips overflow by default, so the inner component can return a fragment. Put timing, premounting, dimensions, and per-instance styles on the exported component.

Keep visuals that belong together in the same component, so they move and trim together. An inner layout container can still provide alignment, clipping within a smaller area, or an animated group; a container that only fills the scene is usually unnecessary. Cards, text boxes, and SVGs with their own bounds can keep the default layout: 'none' and forward style to their visual root.

import {Video} from '@remotion/media';
import type React from 'react';
import {Interactive, useVideoConfig, type InteractivitySchema} from 'remotion';
Installs
144.4K
GitHub Stars
5.1K
First Seen
Jul 11, 2026