New: AI voiceover + auto-captions - script to captioned video in one API call. Read the announcement

Ecommerce Video Template

Abandoned Cart Nudge

A warm, personalised cart-recovery video that fires off a checkout-abandoned webhook and renders one clip per shopper from the same product feed the recovery email already uses. It runs 30 seconds at 1080x1920 (9:16, 30fps) across five beats on a bone-ink-bone-forest-bone ground rhythm: the shopper's name over "you left something behind", a full-bleed product plate on a dark ground, a handwritten-feeling note, a single forest-green "we're holding it" hold scene, and a checkout card with a pill CTA. The tone is deliberately unpushy - no countdown, no discount code, no red - so the whole pressure budget is one held sentence the brand writes itself. Ten fields swap per render: customer_first_name, brand_name, product_image (one photo reused at five different scales), product_name, product_detail, product_price, message_line, status_note, cta_label and cta_url; the minimum viable feed is just product_image, product_name, cta_label and cta_url, since everything else has a documented fallback. Typography is Instrument Serif for display, Geist for sentences and JetBrains Mono for furniture, all rendered at fixed px sizes so the layout matches the design handoff frame for frame.

Aspect ratio
9:16 · Vertical
Duration
~30s
Category
Ecommerce

What you can customize

This template exposes 10 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.

  • Brand Name

    text
    brand_name

    Halle & Co

    ~58 characters max · 1 line

  • Customer First Name

    text
    customer_first_name

    Rowan

    ~12 characters max · 1 line

  • Product Image

    url
    product_image

    https://images.unsplash.com/photo-1624687943971-e86af76d57de?w=1600&q=80&fm=jpg

  • Product Name

    text
    product_name

    The Everyday Tote

    ~32 characters max · 1 line

  • Product Detail

    text
    product_detail

    Vegetable-tanned leather · Tan

    ~46 characters max · 1 line

  • Product Price

    text
    product_price

    £185

    ~33 characters max · 1 line

  • Message Line

    text
    message_line

    It’s still in your bag — kept exactly as you left it.

    ~93 characters max · 4 lines

  • Status Note

    text
    status_note

    Reserved for 24 hours

    ~33 characters max · 3 lines

  • Cta Label

    text
    cta_label

    Finish your order

    ~90 characters max · 2 lines

  • Cta Url

    text
    cta_url

    halleandco.com/bag

    ~82 characters max · 1 line

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": "abandoned-cart-nudge",
  "replacements": {
    "brand_name": "Halle & Co",
    "customer_first_name": "Rowan",
    "product_image": "https://images.unsplash.com/photo-1624687943971-e86af76d57de?w=1600&q=80&fm=jpg",
    "product_name": "The Everyday Tote",
    "product_detail": "Vegetable-tanned leather · Tan",
    "product_price": "£185"
  }
}'

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": "abandoned-cart-nudge",
  "replacements": {
    "brand_name": "Halle & Co",
    "customer_first_name": "Rowan",
    "product_image": "https://images.unsplash.com/photo-1624687943971-e86af76d57de?w=1600&q=80&fm=jpg",
    "product_name": "The Everyday Tote",
    "product_detail": "Vegetable-tanned leather · Tan",
    "product_price": "£185"
  }
}'

The body above shows 6 of 10 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/abandoned-cart-nudge/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.

Frequently asked questions

How do I customize the Abandoned Cart Nudge template?

Open the template in the Renderly editor and replace its 10 customizable fields (such as Brand 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, 10 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 Ecommerce templates

Price Drop Alert template preview

Price Drop Alert

Price Drop Alert is a square e-commerce lifecycle card that fires off a price-change webhook matched against browse history — the "the thing you were watching just got cheaper" moment, rendered one card per watcher straight off the product feed. 27 seconds, 1:1 (1080×1080), 30fps, four scenes on a bone → ink → bone → forest ground rhythm: the personalised alert, the product on the one dark frame in the piece (price deliberately withheld), the payoff — old price struck in signal red beside the new price at 176px on a single shared baseline, with the saving in a forest band bled to the bottom edge — and a receipt row plus CTA pill. Eleven dynamic fields swap per render: customer_first_name, brand_name, product_image, product_name, product_detail, product_price_was, product_price, message_line, status_note, cta_label and cta_url; the minimum viable set is five (product_image, product_name, product_price, cta_label, cta_url), everything else has a documented fallback. Type is Instrument Serif / Geist / JetBrains Mono, and it is a direct sibling of the Abandoned Cart Nudge template, sharing its palette, 84px measure and ten-field product-feed contract.

Post-Purchase Thank You + Review Request template preview

Post-Purchase Thank You + Review Request

A 31-second 9:16 (1080x1920) follow-up video for the week after delivery, built as a sibling of the Batch H abandoned-cart template and driven by the same product feed. Its whole argument is the order of the beats: thank the customer by name on bone, mark the elapsed time over a full-bleed product hero on ink, then flood the centre of the video with forest green for the longest scene — a ruled ledger of three genuinely useful care tips — and only after 19 seconds of being useful does the ask arrive, on a bare bone page, in one sentence, with no stars and no incentive. It closes on ink with a bone CTA pill, the item row as a receipt, and an italic sign-off. Thirteen dynamic fields are swapped per render: customer_first_name, brand_name, product_image (one photo at three sizes — 220px card thumb, 1080x970 bleeding hero, 150px item thumb), product_name, product_detail, product_price, message_line, status_note, care_tip_one, care_tip_two, care_tip_three, cta_label and cta_url. Type is Instrument Serif over Geist over JetBrains Mono at fixed sizes, with an 84px measure and a y=96 furniture row on every scene.

Order Shipped / On The Way template preview

Order Shipped / On The Way

A shipping-confirmation video that fires on the fulfilment webhook and renders one clip per parcel — it says the news, shows what's in the box, gives the delivery date, then hands over the tracking link and stops. 22 seconds, 9:16 vertical (1080x1920, 660 frames @ 30fps), four beats on a bone -> ink -> forest -> bone ground rhythm, set in Instrument Serif, Geist and JetBrains Mono. Scene 01 opens typographically with the customer's name in forest italic over a three-node ORDERED/SHIPPED/DELIVERED progress rail; scene 02 gives the product a full-bleed 1080x1152 plate on the one dark ground; scene 03 floods forest and makes the delivery window the biggest type in the piece; scene 04 closes on a receipt row and a pill CTA. Eleven fields swap per render: customer_first_name, brand_name, product_image (one photo, reused at three crops), product_name, product_detail, product_price, message_line, status_note (the hero — send it as two lines with an explicit \n), cta_label, cta_url and order_number (mono furniture, four sizes, max 12 characters). The minimum viable set is five — product_image, product_name, status_note, cta_label, cta_url; every other field has a documented fallback.

Ready to make your Abandoned Cart Nudge video?

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