Render with Remotion CLI

npx remotion render remotion/index.tsx EndScreen output.mp4

Composition code

import { AbsoluteFill, useCurrentFrame, interpolate, Easing } from "remotion";

export const EndScreen: React.FC = () => {
  const frame = useCurrentFrame();

  const subScale = interpolate(frame, [30, 60], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.out(Easing.back(1.6)) });
  const card1X = interpolate(frame, [20, 55], [-500, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.out(Easing.cubic) });
  const card2X = interpolate(frame, [35, 70], [500, 0], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.out(Easing.cubic) });
  const bellAngle = Math.sin((frame - 80) * 0.5) * 12;

  return (
    <AbsoluteFill style={{ background: "#0f0f0f", fontFamily: "Inter, sans-serif" }}>

End Screen

YouTube-style end screen with subscribe button bounce, bell ring, and sliding video cards.

Duration7s
Resolution1920 × 1080
Frame rate30 fps
Frames210

Copy the code snippet into your Remotion project and run the render command to generate this template locally.