Personalized Video Template

Year-in-Review "Wrapped" Recap

A 25-second vertical (9:16) Spotify-Wrapped-style personalized year-in-review recap across six palette-flipping cards: a name-drop hook, two big stat cards, a shareable persona badge, a #1 top-item card, and a recap + share close. Swap twelve dynamic fields per recipient - first name, period label, two stat values + labels, an optional 3rd-stat badge (value + label), a persona, a top-item name, an optional top-item image, and a brand logo - to render a unique Wrapped for every user from a single stats row on a year-end / period-close webhook.

Aspect ratio
9:16 · Vertical
Duration
~25s
Category
Personalized

Try it with your own copy

Edit a field and the frame re-renders in your browser. No account, no credits - previews are free because they cost a browser paint, not a render.

What you can customize

This template exposes 12 dynamic fields you can swap per video - edit them in the editor or pass them to the API to batch-render variations at scale. The monospace name is the exact key to send in replacements.

  • First Name

    text
    first_name

    Maya

    ~7 characters max · 1 line

  • Period Label

    text
    period_label

    2026

    ~7 characters max · 1 line

  • Brand Logo

    url
    brand_logo

    https://renderly-video.s3.ap-east-1.amazonaws.com/templates/wrapped-brand-logo.png

  • Stat 1 Label

    text
    stat_1_label

    Videos rendered

    ~41 characters max · 1 line

  • Stat 1 Value

    text
    stat_1_value

    12,480

    ~6 characters max · 1 line

  • Stat 2 Label

    text
    stat_2_label

    Minutes watched

    ~41 characters max · 1 line

  • Stat 2 Value

    text
    stat_2_value

    48,210

    ~6 characters max · 1 line

  • Persona Label

    text
    persona_label

    Night-Owl Creator

    ~22 characters max · 1 line

  • Stat 3 Value

    text
    stat_3_value

    Top 3%

    ~18 characters max · 2 lines

  • Stat 3 Label

    text
    stat_3_label

    of all creators

    ~76 characters max · 3 lines

  • Top Item Image

    url
    top_item_image

    https://images.pexels.com/photos/1762851/pexels-photo-1762851.jpeg?auto=compress&cs=tinysrgb&w=800

  • Top Item Name

    text
    top_item_name

    Midnight Launch Reel

    ~39 characters max · 2 lines

Render it from the API

Copy either call below. Both already carry this template's ID and its real variable keys - swap the values for your own.

1. Preview it — free

Same body as a render. Costs no credits, creates no job. Returns a public URL that plays the video in a browser, plus a list of problems with your payload — a mistyped key is otherwise ignored in silence.

curl -X POST https://renderly.video/api/v1/previews \
  -H "Authorization: Bearer $RENDERLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "wrapped-year-in-review",
  "replacements": {
    "first_name": "Maya",
    "period_label": "2026",
    "brand_logo": "https://renderly-video.s3.ap-east-1.amazonaws.com/templates/wrapped-brand-logo.png",
    "stat_1_label": "Videos rendered",
    "stat_1_value": "12,480",
    "stat_2_label": "Minutes watched"
  }
}'

2. Render it

Change one word in the URL. Keep templateId — it is what links your call to this template, so later improvements reach you automatically.

curl -X POST https://renderly.video/api/v1/renders \
  -H "Authorization: Bearer $RENDERLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "wrapped-year-in-review",
  "replacements": {
    "first_name": "Maya",
    "period_label": "2026",
    "brand_logo": "https://renderly-video.s3.ap-east-1.amazonaws.com/templates/wrapped-brand-logo.png",
    "stat_1_label": "Videos rendered",
    "stat_1_value": "12,480",
    "stat_2_label": "Minutes watched"
  }
}'

The body above shows 6 of 12 variables. Send any subset — every key you leave out renders its authored default. Read the full contract, with character limits, from GET /api/v1/templates/wrapped-year-in-review/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.

Frequently asked questions

How do I customize the Year-in-Review "Wrapped" Recap template?

Open the template in the Renderly editor and replace its 12 customizable fields (such as First Name) with your own text, images, or video. Every change previews instantly before you render.

How much does it cost to render this template?

Rendering is credit-based - 1 credit equals 1 minute of 1080p video. You only pay when you export, and credits never expire on the pay-as-you-go plan.

Can I generate this video at scale via the API?

Yes. POST this template's ID and a replacements object to /api/v1/renders - one call per row of data, 12 fields swappable per video. Send the same body to /api/v1/previews first to check it for free. No-code integrations like Zapier work the same way.

More Personalized templates

Personal Portfolio Statement template preview

Personal Portfolio Statement

A calm, private monthly statement video a broker, robo-advisor or pension provider renders for each customer: what you have at month end, what the market did, what you added, the month as a ledger that adds up, and where the full statement lives, closing on a compliance line. 32 seconds, 16:9 (1920x1080). No green or red and no arrows, so a down month reads with the same dignity as an up month. Dynamic fields: provider_name, client_name, account_label, period_label, closing_value, opening_value, market_change, market_change_pct, contributions, contributions_ytd, fees, contact_line and compliance_line, all passed preformatted with their sign.

Test Drive Invitation template preview

Test Drive Invitation

A 23-second 16:9 (1920x1080) automotive test-drive invitation that renders one MP4 per enquiry rather than per VIN - the bridge between a listing page and a showroom floor. Five hard-cut scenes alternate a graphite showroom ground with a warm bone ground: a full-bleed hero exterior with a "RESERVED FOR <name>" pill and the make/model set at 116px, a light-ground argument scene pairing an exterior and a cockpit tile under "Twenty minutes behind the wheel tells you what twenty tabs can't.", the appointment itself with the date rendered as the largest number in the video over a feathered backdrop of the car, a "where" scene carrying the dealer name, address and a perforated test-drive pass card (dashed tear line and two punched notches), and a booking scene with the dealer logo chip, the lead's first name at 104px, an accent booking block and the phone number. It deliberately reuses the Vehicle Listing Showcase family's graphite skin and its vehicle_image_1/2/3 photo contract, so one dealership feed drives both templates. Thirteen dynamic fields swap per render: first_name, make_model, year_mileage, drive_date, drive_time, dealer_name, location_address, booking_url, dealer_phone, three vehicle photos (vehicle_image_1 does triple duty as the full-bleed hero, the scene-03 backdrop and the scene-05 side tile) and dealer_logo. Dates and times are passed preformatted - the template does no date maths.

Service Reminder - Personalized template preview

Service Reminder - Personalized

A service reminder addressed to one owner and one car, built to render unattended from a dealership DMS - one video per vehicle per interval. Five scenes over 33 seconds at 1920×1080 (16:9, 30fps): the owner's first name beside a photo of their model, the record the garage is acting on (vehicle, registration, odometer, service due) in a hairline-ruled panel, the three jobs the interval calls for, the fixed price and the hours on the single saturated blue frame, and a closing booking link plus phone number. The palette alternates grey-white and graphite with one service-blue frame; Manrope carries the display type, Geist every human sentence, and JetBrains Mono the machine-known data (plate, odometer, URL). It deliberately carries no countdown, offer, discount or urgency badge. Fourteen dynamic fields are swapped per render: owner_name, vehicle_name, vehicle_plate, vehicle_image, odometer, service_due, service_item_1, service_item_2, service_item_3, service_price, service_duration, booking_url, service_phone and service_centre - several appear on two to five scenes (service_centre on all five) as separate overlays sharing one replacement key. Every number, unit and currency symbol travels preformatted inside its variable, so the template needs no locale logic.

Ready to make your Year-in-Review "Wrapped" Recap video?

Customize it in the editor and render in minutes - no design or editing skills required.