Render with Remotion CLI
npx remotion render remotion/index.tsx SplitReveal output.mp4
Composition code
import { AbsoluteFill, useCurrentFrame, interpolate, Easing } from "remotion";
export const SplitReveal: React.FC = () => {
const frame = useCurrentFrame();
const leftX = interpolate(frame, [10, 55], [0, -960], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.inOut(Easing.cubic) });
const rightX = interpolate(frame, [10, 55], [0, 960], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.inOut(Easing.cubic) });
const contentOpacity = interpolate(frame, [40, 75], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
const contentScale = interpolate(frame, [40, 70], [0.92, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.out(Easing.back(1.1)) });
return (
<AbsoluteFill style={{ background: "#f0ede8", fontFamily: "Inter, sans-serif", overflow: "hidden" }}>
<div style={{ position: "absolute", inset: 0, display: "flex", alignItems: "center", justifyContent: "center", opacity: contentOpacity, transform: `scale(${contentScale})` }}>Split Reveal
Two panels slide apart to reveal a centered product name — before/after dramatic split-screen effect.
Duration6s
Resolution1920 × 1080
Frame rate30 fps
Frames180
Copy the code snippet into your Remotion project and run the render command to generate this template locally.