Ecommerce Video Template

Beauty Product Ingredient Story

A 9:16 skincare and cosmetics product card that leads with the active ingredient rather than a discount — the five frames run in the order a beauty shopper actually decides in: the product, what's in it, what it does, what it proved, what it costs. 1080x1920, 23 seconds at 30fps, five scenes on a white / pale-mineral / white / pale-mineral / deep-teal ground rhythm, with a locked five-segment progress meter, a brand rail on every frame, and a two-voice type split (Instrument Serif for the ingredient name, the claim and the price; Geist for sentences; JetBrains Mono for all furniture). Eleven fields swap per render: eight text variables (brand_name, product_title, size_label, ingredient_name, ingredient_role, claim_line, claim_proof, price) and three image slots (product_image_1 hero pack shot, product_image_2 ingredient/texture macro, product_image_3 second angle in context), each carrying a locked mineral colour grade so a whole catalogue lands on one film stock. It is the beauty cut of the E-commerce Product Drop and reuses all five of that template's variable names unchanged, so one catalogue row drives either template with no field remapping — a brand with 40 SKUs renders 40 videos from 40 rows.

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

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 11 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

    Halden Skin

    ~52 characters max · 2 lines

  • Product Image 1

    url
    product_image_1

    https://images.unsplash.com/photo-1710410815589-dd83514104d0?w=1400&q=80

  • Product Title

    text
    product_title

    Clarifying Night Serum

    ~40 characters max · 2 lines

  • Size Label

    text
    size_label

    30 ml

    ~12 characters max · 1 line

  • Ingredient Name

    text
    ingredient_name

    5% Niacinamide

    ~32 characters max · 2 lines

  • Product Image 2

    url
    product_image_2

    https://images.unsplash.com/photo-1748543668687-624e058c367c?w=1600&q=80

  • Product Image 3

    url
    product_image_3

    https://images.unsplash.com/photo-1576426863848-c21f53c60b19?w=1600&q=80

  • Ingredient Role

    text
    ingredient_role

    Regulates oil, softens the look of pores, and evens tone over four weeks.

    ~144 characters max · 5 lines

  • Claim Line

    text
    claim_line

    Visibly clearer skin in 28 days

    ~47 characters max · 3 lines

  • Claim Proof

    text
    claim_proof

    Consumer study, 84 participants, nightly use over four weeks. Individual results vary.

    ~111 characters max · 2 lines

  • Price

    text
    price

    $48

    ~6 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": "beauty-product-ingredient-story",
  "replacements": {
    "brand_name": "Halden Skin",
    "product_image_1": "https://images.unsplash.com/photo-1710410815589-dd83514104d0?w=1400&q=80",
    "product_title": "Clarifying Night Serum",
    "size_label": "30 ml",
    "ingredient_name": "5% Niacinamide",
    "product_image_2": "https://images.unsplash.com/photo-1748543668687-624e058c367c?w=1600&q=80"
  }
}'

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": "beauty-product-ingredient-story",
  "replacements": {
    "brand_name": "Halden Skin",
    "product_image_1": "https://images.unsplash.com/photo-1710410815589-dd83514104d0?w=1400&q=80",
    "product_title": "Clarifying Night Serum",
    "size_label": "30 ml",
    "ingredient_name": "5% Niacinamide",
    "product_image_2": "https://images.unsplash.com/photo-1748543668687-624e058c367c?w=1600&q=80"
  }
}'

The body above shows 6 of 11 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/beauty-product-ingredient-story/variables. See the previewing guide, the rendering guide, or the OpenAPI spec.

Frequently asked questions

How do I customize the Beauty Product Ingredient Story template?

Open the template in the Renderly editor and replace its 11 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, 11 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

Dealership Sales Event template preview

Dealership Sales Event

A 9:16 showroom offer card for auto dealer groups - five hard-cut frames in the order a buyer on the forecourt needs them: the event, the offer, the rate, the deadline, the address. Pure black, pure white and deal red trade grounds frame to frame, and a full-bleed rail at y=1704 carries the dates and kicker on every single frame, so any one frame hands over both the deal and its expiry. 22 seconds at 1080×1920, 30fps, set in Archivo Black, Geist and JetBrains Mono. Thirteen dynamic fields split across two axes: the store axis (dealer_name, dealer_address, dealer_phone) and the campaign axis (event_name, event_kicker, event_dates, event_hook, offer_value, offer_label, finance_rate, finance_terms, disclaimer, hero_image) - a forty-store group on one manufacturer programme is forty renders off one spreadsheet row each, with no layout moving between them.

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.

Ready to make your Beauty Product Ingredient Story video?

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