TikTok Shop BFCM 2026 product videos: accurate, then batched

TikTok Shop's 2026 BFCM guide asks for accurate, not misleading product videos. Build one packshot-based video per SKU in a bulk run, then review each.

4 min readSume
All posts

TikTok Shop's 2026 BFCM guide sets one video rule: product descriptions, images and videos must be accurate and not misleading. It names no length, ratio or file spec for video, so the practical job is one honest video per SKU, built from the real packshot, reviewed by a person before you register the product.

The vendor facts below are from TikTok Shop's guide dated 09/20/2026 (US), read 2026-09-30. Sume facts are from Bulk runs and Calling a Format.

What does the BFCM guide say about product videos?

Under listing and product requirements, the guide lists "Accurate Listings" and says to ensure descriptions, images and videos are accurate and not misleading. Registration happens in Seller Center under Marketing, then Campaigns, and the Register Products page shows each product as Under review, Approved, Rejected or Scheduled. One listed rejection reason is Content Policy Violation, which covers images, videos or descriptions that break content rules.

What the TikTok Shop BFCM guide says about product media, read 2026-09-30
ItemGuide wording
Listing requirementAccurate descriptions, images and videos, not misleading
Where to registerSeller Center > Marketing > Campaigns
Product statusesUnder review, Approved, Rejected, Scheduled
Rejection reasonContent Policy Violation
Video specNot given on that page

How do I keep a generated video accurate?

Start from the real product. Sume's first-party UGC and usage-demo Formats take a packshot attachment, and the catalog prompts say to use the attached packshot as the product. Attach your own product image, keep the claims in your instruction to what the listing already states, and watch the output for anything the product cannot do. Accuracy is a review step, not something a model guarantees.

How do I make one video per SKU in one request?

A bulk run is a server-side queue of ordinary Format runs: items takes 1 to 100 entries and concurrency is an integer from 1 to 16. The create returns 202 with a queue id; poll status_url for progress. A bad item fails the whole create before anything runs.

const skus = [
  { name: "hydrating face mist", image: "https://example.com/mist.jpg" },
  { name: "vitamin C serum", image: "https://example.com/serum.jpg" },
];

const res = await fetch(
  "https://api.sume.com/v1/formats/sume/sume-product-usage-demo/bulk-runs",
  {
    method: "POST",
    headers: {
      Authorization: "Bearer " + process.env.SUME_API_KEY,
      "Content-Type": "application/json",
      "Idempotency-Key": crypto.randomUUID(),
    },
    body: JSON.stringify({
      concurrency: 2,
      items: skus.map((s) => ({
        instruction: "Use the attached packshot as the product. Show " + s.name + " in use, 9:16. Claim nothing beyond the listing.",
        attachments: [{ type: "input_image", image_url: s.image }],
      })),
    }),
  },
);
const { data } = await res.json();
console.log(data.id, data.status_url);

What should I check before registering the product?

completed on the queue means every item is terminal, not that every item succeeded, so branch on counts.failed. Then open each run, watch the video against the listing, and register only the ones that match. For a cost ceiling, a run can carry generation_spend_cap_usd; read the Format's cap before a large batch. Voice rules are a separate question, covered in AI voice on TikTok Shop.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume