TikTok Shopping Assistant: what should product videos say?
TikTok's Shopping Assistant answers sizing, shipping and availability in chat. Make product clips that match your listing, with photo-to-video and burned cues.

TikTok's new Shopping Assistant is a chat agent, so your product video no longer has to carry every answer, but it must not contradict the answers the assistant gives. TikTok announced it at Advertising Week New York on 5 October 2026 and describes it as giving "product details, shipping, sizing, availability and purchasing all within one conversation". The practical job for a seller is to make short product clips whose claims match the listing, one clip per question a shopper asks. Sume can make those clips from the photos you already have.
This post covers what TikTok has said, which details a clip should leave to the listing, and a repeatable photo-to-clip batch. It does not claim the assistant reads or ranks your videos, because TikTok's announcement does not say that.
What did TikTok actually announce for shoppers?
The TikTok newsroom post lists Shopping Assistant next to Buy Direct, which is one-click checkout from the For You feed. It also lists Agentic Leads, TikTok Ad Network and Smart+ Creative Selection. Only the first two are shopper-facing.
| Feature | What TikTok says it does | What it means for a clip |
|---|---|---|
| Shopping Assistant | Conversational guidance on product details, shipping, sizing, availability and purchasing | Keep clip claims identical to the listing |
| Buy Direct | In-app checkout from the For You feed | The clip is the last thing seen before purchase |
| Smart+ Creative Selection | One approval workflow for brand uploads, creator content and AI-generated content | Label what is generated in your own records |
Which facts should the clip leave to the listing?
If a shopper can ask the assistant about shipping, sizing and availability, those facts live in one place: your catalog. A video that says "ships in 2 days" or "fits true to size" creates a second copy that can go stale. Show the product, show it in use, and leave the changing facts to the listing.
- Show: the item from the angles in your photos, the material, a hand or object for scale.
- Leave out: delivery times, stock counts, size advice and prices as spoken or burned text.
- Keep consistent: color, bundle contents and accessories must match what the buyer receives.
What spec does the clip need?
For a non-Spark in-feed ad, TikTok's help page asks for 9:16 vertical at 540x960 or larger, up to 10 minutes, MP4 or MOV among others, at most 500 MB, with a bitrate of at least 516 kbps. Spark ads have no stated duration restriction. Generated clips from Sume sit well below those limits.
| Item | TikTok page | Sume video request |
|---|---|---|
| Aspect ratio | 9:16 recommended, 16:9 and 1:1 allowed | aspect_ratio 9:16 |
| Minimum size | 540x960 for vertical | resolution 720p or 1080p where the model lists it |
| Duration | Up to 10 minutes | duration 4-15 s on seedance-2; 4-30 s on seedance-2.5 |
| File size | 500 MB or less | Check the exported file; a short 720p clip is small |
How do I turn one product photo into a clip?
Send the photo as the first frame in Sume video generation with frame_images and frame_type: first_frame. The photo sets the product and the prompt sets the motion. The request below makes a 6-second 9:16 clip; fill in the photo URL and a prompt that describes only camera and light movement, not new product features.
Run it once per photo and keep the job id next to the SKU, so the clip can be traced to its source image.
import os, time, requests
H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
body = {
"model": "seedance-2",
"prompt": "Slow push-in on the product on a clean table, soft daylight",
"frame_images": [{
"type": "image_url",
"image_url": {"url": "https://example.com/product-front.jpg"},
"frame_type": "first_frame",
}],
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": 6,
}
job = requests.post("https://api.sume.com/v1/videos", headers=H, json=body).json()
while True:
time.sleep(30)
s = requests.get(job["polling_url"], headers=H).json()
if s["status"] in ("completed", "failed"):
break
print(s["status"], s.get("unsigned_urls"))
How do I add words without contradicting the listing?
Burn short authored lines with video captions: send cues with text, start and end, which burns overlay text without speech-to-text. Use product-name and benefit lines only. If a clip runs longer than you want, video trim cuts a [start, end) range into a new MP4 and leaves the source unchanged.
Before you publish, compare each clip against the listing: color, bundle, accessories. For the Shop-side AI content rules, see our post on TikTok Shop AI rules.
Sources
Related posts
More in Use cases
- UGC-style ad made by AI, not a customer: the FTC fake testimonial rule
Can an AI-made UGC ad pose as a real customer? No: the FTC's 2024 rule bans testimonials by someone who does not exist. Make it a brand ad, not a review.
- Use MAI-Voice-2.1 audio in a Sume lip sync clip: import it first
MAI-Voice-2.1 is not in Sume's TTS Router, but its audio can drive a Sume talking clip if you import the file first: Sume-hosted, 10 MB, 5 to 14.8 s.
- Power outage safety videos for a utility co-op: three clips, $11
Turn Ready.gov's power outage and generator rules into three captioned avatar clips for members, with Sume prices at three quality tiers.
- Wisconsin Act 69: label AI-altered rooms in listing video, Jan 2027
Wisconsin Act 69 requires licensees to disclose AI-altered property ads from Jan 1, 2027. Burn a per-room disclosure into a listing clip for $0.20 on Sume.
Written by Sume