RemotionUI

Zoom Through

The camera pushes through one scene and lands in the next.

PrimitiveTransitionsAdvanced

zoom-through30fps · 960×540
Install
$ npx remotion-ui@latest add zoom-through

Both scenes travel the same way through the lens: the outgoing one keeps pushing past it, blurring as it goes, while the incoming one arrives out of the same move and settles at exactly 1×, no residual scale is left on the scene once the cut is over.

maxScale is how far the camera travels and blurPeak the blur at the fastest point of the move. It rides a velocity envelope, so it is exactly 0 at both ends of the overlap and reaches blurPeak at the midpoint, and the blurred layer is overscanned so its soft edge never exposes the background. direction: "out" inverts the move so the camera pulls back from the frame instead of driving through it.

Exports transitionZoomThrough() and getTransitionZoomThroughDuration() for use with TransitionSeries.Transition.

Requires @remotion/transitions. Run npx remotion add @remotion/transitions if not already installed.

Agent notes

Install first, then import the copied source component locally. AI guide →

Import
@/remotion/primitives/zoom-through
  • Use when: scene transitions and composition pacing.
  • Customize: durationInFrames, maxScale, blurPeak, direction, plus copied source for timing, layout, colors, and typography.
  • Rule: do not import this component from the remotion-ui npm package; it is copied into your project.

Usage

Example
import { transitionZoomThrough } from "@/remotion/primitives/zoom-through"; <TransitionSeries.Transition {...transitionZoomThrough({ maxScale: 2.4 })} />

API Reference

PropTypeDescription
durationInFramesnumberTransition overlap length.
maxScalenumberScale the camera travels through.
blurPeaknumberBlur radius in px at the fastest point of the move.
direction"in" | "out"Push the camera through the frame, or pull back from it.
variant"linear" | "spring" | "editorial"Timing curve.

On this page