TikTok Shop slideshow rule vs Timeline stills: static holds
TikTok Shop bars stills over 50% of a LIVE and still-only videos without face and product. Timeline 1.0 holds stills static, so a photo reel is a slideshow.

The TikTok Shop requirements page has two still-image rules. For a LIVE: "Do not use stills, slideshows, or scrolling images that covers more than 50% of the screen", and the same limit for animated figures. For a posted video: "Do not use still, looping, or scrolling images through the entire video without featuring your face and the physical product", and aim for at least 3 seconds of dynamic content without still images or looping visuals. The 50% figure is stated under LIVE, not under video posting (read 2026-10-05).
What Timeline does with images
In Timeline 1.0, video[].source_url may be a still, and stills are static holds: the job accepts a motion field, ignores it, and reports motion_ignored. A sequence of photos therefore renders as a slideshow, whatever you request.
Where the still rules bite
| Layout | Still share of frame | Against the page |
|---|---|---|
| Photo slideshow, full frame | 100% | Over the LIVE 50% limit; a still-only video fails the video rule |
| Compose stack, ratio 0.5 | 50% | At the LIVE limit, not under it |
| Compose stack, ratio 0.3 | 30% | Under the LIVE 50% limit, with 70% live video |
| Overlay of a still on live video | depends on overlay size | Measure the finished frame |
Using compose
Timeline compose puts one still and one video on screen together. In stack mode layout.ratio is the still's share of the frame, from 0.1 to 0.9. At 0.3 the still takes 30% and the video the remaining 70%, which is under the LIVE figure on the page and keeps live footage on screen for a posted video.
Do the math in code
def still_share_ok(ratio: float) -> bool:
return 0.1 <= ratio <= 0.9 and ratio < 0.5
for r in (0.3, 0.5, 0.7):
print(r, still_share_ok(r))Caveat
A ratio is a layout fact, not a pass from TikTok. The 50% number is a LIVE rule; for posted videos the page asks for dynamic content with your face and the product, so judge the finished video as a viewer would.
Sources
Related posts
More in Use cases
- TikTok Shop video wants a visible face and the product: check first
TikTok Shop's quality page says content should feature people, camera movement, and a visible face and product. A pre-flight with Sume video frames first.
- TikTok square ad minimum 640x640: check a Sume 1:1 render first
TikTok's non-Spark page lists 1:1 at 640x640 or more. Sume labels sizes 480p, 720p, 1080p, so measure the 1:1 frame with video-inspect before you upload.
- Toy store spot cut to the beat: a Lyria track as the Timeline spine
Make a 15-second toy ad with the music as the spine: Lyria 3.5 track, audio.source_in to start at the best bar, then slots cut on the beat for $0.225 on Sume.
- Training knowledge-check clips with an AI avatar, one per question
Make a question clip and an answer clip per quiz item with one Sume avatar: 10-second scripts, a silence beat for thinking time, and the cost for 20 questions.
Written by Sume