Four shoppable videos per ASIN: demo, how-to, lifestyle, unboxing

Amazon allows up to 4 shoppable videos per ASIN for sellers with a professional account and three months of history. A four-clip plan batched on Sume.

4 min readSume
All posts

An ASIN can carry up to four shoppable videos, and a seller needs a professional selling account, three months of selling history and live listings to upload them. A practical plan is one clip each for a demo, a how-to, a lifestyle scene and an unboxing. These limits come from Amazon's product video guide, read 2026-10-03.

Eligibility and limits

Check the account before you generate anything. A clip that cannot be uploaded is wasted spend.

Amazon shoppable video eligibility (read 2026-10-03)
ItemRequirement
Videos per ASINup to 4
Accountprofessional selling account
History3 months of selling history
Listingslive listings
Reviewvideos are reviewed against community guidelines

A four-clip plan per ASIN

The guide does not prescribe what the four videos should be. The split below is a planning choice, not an Amazon rule. Each clip answers a different question a shopper has on the page.

  • Demo: the product in use, start to finish.
  • How-to: setup or care steps, one step per shot.
  • Lifestyle: the product in a real setting.
  • Unboxing: what is in the box and how it is packed.

Batch it on Sume

Submit the four clips as separate jobs with the same still as the first frame, so the product looks identical across them. Sume's video generation API is asynchronous: submit, receive a job id and a polling_url, then poll until completed. It also takes a callback_url over HTTPS for a webhook when the job ends.

For a catalog, a callback beats polling. Sume's webhooks page describes terminal events only (job.completed, job.failed, job.canceled), signed with HMAC SHA 256 over <timestamp>.<raw_body>. Use the job_id as your idempotency key on your side, because deliveries can be retried.

import json, os, requests

KEY = os.environ["SUME_API_KEY"]
STILL = "https://example.com/asin-main.png"
BRIEFS = {
    "demo": "Hands use the product from start to finish",
    "how-to": "Close shots of each setup step, one per beat",
    "lifestyle": "The product in a bright living room",
    "unboxing": "Box opens and contents are laid out",
}

def main():
    for name, prompt in BRIEFS.items():
        body = {
            "model": "seedance-2",
            "prompt": prompt,
            "frame_images": [{"type": "image_url", "image_url": {"url": STILL}, "frame_type": "first_frame"}],
            "resolution": "1080p",
        }
        r = requests.post("https://api.sume.com/v1/videos",
                          headers={"Authorization": f"Bearer {KEY}"}, json=body)
        r.raise_for_status()
        print(name, json.loads(r.text)["id"])

main()

Length is the catch

Amazon's guide gives one to twelve minutes for shoppable video, and a single generated clip is much shorter. Treat each of the four as a timeline assembly of several shots, and read the model's supported_durations before planning shot counts.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume