Render with Remotion CLI
npx remotion render remotion/index.tsx ProductCard output.mp4
Composition code
import { AbsoluteFill, useCurrentFrame, interpolate, Easing } from "remotion";
export const ProductCard: React.FC = () => {
const frame = useCurrentFrame();
const cardScale = interpolate(frame, [8, 38], [0.88, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.out(Easing.back(1.2)) });
const priceOpacity = interpolate(frame, [60, 80], [0, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp" });
const ctaScale = interpolate(frame, [90, 115], [0.85, 1], { extrapolateLeft: "clamp", extrapolateRight: "clamp", easing: Easing.out(Easing.back(1.4)) });
return (
<AbsoluteFill style={{ background: "#f8f8f5", fontFamily: "Inter, sans-serif", display: "flex", alignItems: "center", justifyContent: "center" }}>
<div style={{ width: 840, background: "white", borderRadius: 32, boxShadow: "0 24px 48px rgba(0,0,0,0.08)", overflow: "hidden", transform: `scale(${cardScale})` }}>
<div style={{ height: 320, background: "linear-gradient(135deg, #0d0d1e, #1a1a3a)", display: "flex", alignItems: "center", justifyContent: "center" }}>Product Card
Clean e-commerce product card on white background with shimmer, badge reveal, star rating, price, and CTA.
Duration6s
Resolution1080 × 1080
Frame rate30 fps
Frames180
Copy the code snippet into your Remotion project and run the render command to generate this template locally.