Walmart rich media is restricted for alcohol, tobacco and firearms

Walmart Marketplace restricts rich media for alcohol, tobacco and firearms and may unpublish it. A category gate to run before you spend on AI clips.

4 min readSume
All posts

Walmart Marketplace restricts rich media for alcohol, tobacco and firearms, and it may unpublish rich media that breaks its rules. So filter your SKU list by category before you generate any clips, not after. Walmart's guide also says product videos must demonstrate key product information and be accurate, truthful and rights-compliant. This is from Walmart's rich media guide, read 2026-10-03.

What the guide says

The page we read states content rules and restrictions. It points to a separate PDF for technical specs, and we did not read that PDF, so this post makes no claim about file size, length or format.

Walmart Marketplace rich media rules (read 2026-10-03)
TopicWhat the guide says
ContentVideos must demonstrate key product information
AccuracyAccurate, truthful and rights-compliant
Restricted categoriesAlcohol, tobacco, firearms
EnforcementWalmart may unpublish violating rich media
Technical specsIn a separate PDF, not read here

Why the gate comes first

Generation is paid per job, and an unpublished video is a spent render with no listing value. A SKU in a restricted category gains nothing from a clip, so the cheapest control is a filter on your own catalog data. Do it once at the top of the batch, and log which SKUs it removed so the decision is auditable.

The accuracy rule matters just as much for the SKUs that pass. A generated demo that shows a feature the real product lacks is a truthfulness problem, whatever the category.

A pre-flight filter

The function below drops SKUs whose category is in a blocked set. The categories are the three Walmart names; extend the set from Walmart's own policy pages if your catalog needs more. Match against your own category field, and review borderline items by hand.

It runs on plain dictionaries, so you can place it before any call to the Sume API.

BLOCKED = {"alcohol", "tobacco", "firearms"}


def split_skus(skus):
    ok, held = [], []
    for sku in skus:
        category = str(sku.get("category", "")).strip().lower()
        (held if category in BLOCKED else ok).append(sku)
    return ok, held


ok, held = split_skus([
    {"id": "A1", "category": "Kitchen"},
    {"id": "B2", "category": "Tobacco"},
])
print([s["id"] for s in ok], [s["id"] for s in held])

Keep the demo true to the product

For the SKUs that pass, give the model the real product image. Sume's video API accepts frame_images with a first_frame entry for image-to-video, on models that list it, and input_references for reference-to-video on models that list that. Write the prompt from the listing's real features only, and have a person watch each clip against the product before upload. Keep the source image and the job id with the listing record, so you can show what a clip was made from if Walmart asks.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume