Wan 3.0 reference video needs 16 fps: probe clips before Sume
Alibaba lists 16 fps or more, 1 to 15 s and 100 MB for each Wan 3.0 reference clip. An ffprobe script that checks your real files before you send URLs to Sume.

A Wan 3.0 reference video must run 1 to 15 seconds, at 16 fps or more, up to 100 MB and 240 to 4096 pixels a side, per Alibaba's page. Sume's wan-3.0 row takes up to 5 video references of 15 seconds in total, from public HTTPS URLs. A phone clip at 12 fps or a 5,000 px screen recording breaks a per-file rule that Sume's docs do not describe, so probe the file first.
Which per-clip limits apply?
Alibaba lists these limits for each reference clip.
| Check | Limit |
|---|---|
| Length of one clip | 1 to 15 seconds |
| All clips together | 15 seconds at most |
| Frame rate | 16 fps or more |
| Pixels per side | 240 to 4096 |
| Aspect ratio | 8:1 at most |
| File size | 100 MB at most |
How do you check a real file?
The script reads the file with ffprobe and returns the list of broken rules. An empty list means send it.
import json, subprocess
def problems(path):
out = subprocess.run(["ffprobe", "-v", "error", "-print_format", "json", "-show_streams", "-show_format", path],
capture_output=True, text=True, check=True).stdout
d = json.loads(out)
v = next(s for s in d["streams"] if s["codec_type"] == "video")
n, m = map(int, v["avg_frame_rate"].split("/"))
w, h, secs = v["width"], v["height"], float(d["format"]["duration"])
mb = int(d["format"]["size"]) / 1e6
bad = []
if n / m < 16: bad.append("under 16 fps")
if not 1 <= secs <= 15: bad.append("clip not 1-15 s")
if not (240 <= min(w, h) and max(w, h) <= 4096): bad.append("side outside 240-4096 px")
if max(w, h) / min(w, h) > 8: bad.append("ratio above 8:1")
if mb > 100: bad.append("over 100 MB")
return bad
print(problems("ref.mp4"))What do you do with a clip that fails?
Re-encode or trim it, upload it, and use the new HTTPS URL as a video_url entry in input_references. Sume's video trim can shorten a clip. Remember the 15-second total across all five, so three 6-second clips already break it.
Sources
Related posts
More in Developers
- Wan 3.0 reference clips: four 4-second videos break the 15 s cap
Wan 3.0 accepts up to 5 reference videos totalling 15 seconds at 16 fps or more. Four 4-second clips total 16 seconds and fail; three 5-second clips pass.
- wave_size_hint on an empty workspace: Free 4, Pro 18, Startup 36
What generation_limits.wave_size_hint returns before any job is queued, by Sume plan, with the arithmetic and a Python check you can run.
- Which AI video models on Sume make their own audio track
Gemini Omni Flash 1.1 always generates audio and rejects generate_audio false; MiniMax H3 Max has native stereo audio; Seedance 2.0 reports generate_audio true.
- Which id to send Sume support: req_, job_, arun_ or agrun_
Error bodies carry req_ ids; jobs have job_; Format and Action runs arun_; Agent Completions agrun_. Which to share with support, and what never to paste.
Written by Sume