Wan 3.0 reference images: 20 MB, 240 to 8,000 px, 8:1 cap

Alibaba's Wan 3.0 reference images must be 20 MB or less, 240 to 8,000 px per side, ratio 8:1 at most. A check to run before wan-3.0 on Sume.

5 min readSume
All posts

Alibaba's Wan 3.0 reference page says each image must be JPEG, JPG, PNG, BMP or WEBP, 20 MB or smaller, 240 to 8,000 pixels on each side, with an aspect ratio no wider than 8:1. If you pass images to wan-3.0 through Sume, apply those limits yourself: Sume's pages say references must be public HTTPS URLs but do not publish a separate image size table.

All Alibaba figures are from its Wan3.0 Video Generation API Reference, read 2026-10-02. Sume figures are from Video generation, Video Router and Errors and credits.

What are all of Alibaba's image rules?

The same image rules cover first_frame, last_frame and reference_image. There can be at most 10 reference images. First and last frame are mutually exclusive with reference types, while reference image, reference video and reference audio can be combined freely, and a document file or link cannot be mixed with the others per the page's combination rules.

Wan 3.0 image inputs (read 2026-10-02)
RuleValue
FormatsJPEG, JPG, PNG, BMP, WEBP
File size20 MB or less
Side length240 to 8,000 pixels
Aspect ratio8:1 at most
Reference images10 at most
First/last frame vs referencesmutually exclusive

How does that line up with Sume's request shapes?

On /v1/videos, a first or last frame goes in frame_images with a frame_type, and style or content references go in input_references. Sume's guide says that if you send both, frame_images takes precedence and the request is treated as image-to-video, which matches Alibaba's rule that frames and references do not mix. On the Video Router the same inputs are flat fields: image_url, end_image_url and reference_image_urls.

Which input types a model accepts is a catalog field, supported_input_references, and a type a model does not list is refused. Sume documents that Wan 3.0 honors audio and video references as well as images.

What fails first in practice?

Reachability. Sume's troubleshooting says to check that reference images are accessible over public HTTPS, and the error table lists image_not_fetchable and input_media_unreachable. After that come the vendor limits above. A 6,000 by 600 banner passes the side-length rule but is 10:1, over the 8:1 cap; a 25 MB PNG from a design tool is over 20 MB.

import os
from urllib.request import Request, urlopen

def check_image(url, w, h):
    req = Request(url, method="HEAD")
    size = int(urlopen(req).headers.get("Content-Length", 0)) / 1e6
    problems = []
    if size > 20: problems.append(f"{size:.1f} MB > 20 MB")
    if not (240 <= w <= 8000 and 240 <= h <= 8000): problems.append("side outside 240-8000 px")
    if max(w / h, h / w) > 8: problems.append("ratio over 8:1")
    return problems

print(check_image("https://example.com/ref.png", 1920, 1080))

What should I do with an image that is too large?

Resize it before hosting it. A 2,048 pixel long edge is well inside Alibaba's range for most references, and re-exporting as PNG or high-quality JPEG usually lands under 20 MB. Keep the original, since you may want a different crop later. For counts, durations and the audio side, see Wan 3.0 reference limits.

Sources

Related posts

More in Media tools

All Media tools posts

Written by Sume