How long can a Seedance 2.5 product clip be on Sume?
On Sume, seedance-2.5 accepts 4 to 30 seconds at 480p, 720p or 1080p. How to pick a length for a product clip and poll the job until it completes.

A seedance-2.5 clip on Sume can run from 4 to 30 seconds, at 480p, 720p or 1080p. For a product clip, pick the shortest length that shows the one thing the shopper needs to see, and make several short clips rather than one long one.
Shoppable creator video is the format Best Buy says it will use when it debuts on TikTok Shop in late October 2026 (read 2026-10-04). The page gives no length guidance, so check each channel's own limits.
What are the request limits?
From the video docs. Limits are per model, and the video endpoint is asynchronous: it returns a job with an id and a polling_url.
| Parameter | Notes |
|---|---|
| model | For example seedance-2.5, or sume/auto to let Sume pick |
| duration | Integer seconds; seedance-2.5 accepts 4 to 30 |
| resolution | For example 720p or 1080p; seedance-2.5 takes 480p, 720p, 1080p |
| aspect_ratio | For example 16:9, 9:16, 3:2; the accepted set is per model |
| frame_images | First or last frame images for image-to-video |
| generate_audio | Boolean; defaults to the model's audio capability |
What length should a product clip be?
Start with one idea per clip. A rotation, a pour, a hand using a control. If a single clip needs more than about ten seconds to make sense, it is usually two ideas, so split it and join them later with a timeline render. This is a working rule, not a Sume limit; test it against how your own viewers behave.
How do you wait for it?
Poll the polling_url from the response until the status is completed or failed. Long jobs can take a while, so poll at an interval of ten seconds or more rather than in a tight loop.
import os, time, requests
H = {"Authorization": "Bearer " + os.environ["SUME_API_KEY"]}
job = requests.post(
"https://api.sume.com/v1/videos",
headers=H,
json={
"model": "seedance-2.5",
"prompt": "Slow 360 degree turn of a ceramic mug on a wooden table",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9",
},
timeout=60,
).json()
while True:
s = requests.get(job["polling_url"], headers=H, timeout=30).json()
if s["status"] in ("completed", "failed"):
break
time.sleep(10)
print(s["status"], s.get("unsigned_urls"))
How do you control cost?
Length and resolution drive price, so confirm the current rate for seedance-2.5 in GET /v1/catalog or on the API pricing page before a batch. Make a test clip at 480p to check the idea, then regenerate the winner at the resolution you will publish.
Sources
Related posts
More in Models
- Hume Octave 2 covers 11 languages: is yours one?
Hume Octave 2 is reported to cover 11 languages. Before you pick a voice engine, check your language, then verify what Sume's tts_create recorded for the job.
- HunyuanVideo 1.5 on 14 GB of VRAM: run locally or call an API
The HunyuanVideo 1.5 repo lists 8.3B parameters, 480p to 1080p and a 14 GB VRAM minimum with offloading. A local-run versus API checklist.
- HunyuanVideo 1.5 SSTA and FP8: or just call an API
HunyuanVideo-1.5 has 8.3B parameters, SSTA for a 1.87x speedup at 720p, FP8 GEMM and a 14GB VRAM floor. Decide whether to run it or call a hosted video API.
- Hy Image 3.5 reference limit: 5 or 20, and Sume's caps
Hy Image 3.5's sources disagree on references: 5 in the announcement, 20 in the API guide. Sume's caps differ by model; read input_references from the catalog.
Written by Sume