remotion-markup
Structure Remotion scenes with markup patterns for layout, typography, and reusable video UI.
Install
npx skills add https://github.com/remotion-dev/skills --skill remotion-markup- metadata
- tags: transitions, overlays, fade, slide, wipe, scenes
TransitionSeries
<TransitionSeries> arranges scenes and supports two ways to enhance the cut point between them:
- Transitions (
<TransitionSeries.Transition>) — crossfade, slide, wipe, etc. between two scenes. Shortens the timeline because both scenes play simultaneously during the transition. - Overlays (
<TransitionSeries.Overlay>) — render an effect (e.g. a light leak) on top of the cut point without shortening the timeline.
For a multi-scene timeline, keep the outer <TransitionSeries> visible in the
timeline. Studio favors the active scene sequence when the two have the same
full-frame canvas outline.
Children are absolutely positioned.
Prerequisites
Transition example
Use the connected Chapter scene from the
composition example (timeline-structure.md in the remotion-interactivity skill).
Custom presentation
Use it in place of fade() in TransitionVideo.tsx:
Overlay example
Mixing transitions and overlays
Separate overlays and transitions with a scene.
Transition props
<TransitionSeries.Transition> requires:
presentation— the visual effect (e.g.fade(),slide(),wipe()).timing— controls speed and easing (e.g.linearTiming(),springTiming()).
Overlay props
<TransitionSeries.Overlay> accepts:
durationInFrames— how long the overlay is visible (positive integer).offset?— shifts the overlay relative to the cut point center. Positive = later, negative = earlier. Default:0.
Available transition types
Import transitions from their respective modules:
Slide transition with direction
Directions: "from-left", "from-right", "from-top", "from-bottom"
Timing options
Duration calculation
Transitions overlap adjacent scenes, so the total composition length is shorter than the sum of all sequence durations. Overlays do not affect the total duration.
For example, with two 60-frame sequences and a 15-frame transition:
- Without transitions:
60 + 60 = 120frames - With transition:
60 + 60 - 15 = 105frames
Adding an overlay between two other sequences does not change the total.
Getting the duration of a transition
Use the getDurationInFrames() method on the timing object:
For springTiming without an explicit durationInFrames, the duration depends on fps because it calculates when the spring animation settles.