Input Gate NotesWhat a video model will accept, and why the rejection usually happens before any compute runs.

Transparency is not a format, and that is why the PNG failed

Here is the accepted image list for Wan 3.0, as published: JPEG, JPG, PNG, BMP, WEBP. Sides between 240 and 8000 pixels, aspect ratio within 8:1, up to 20 MB.

PNG is on that list. And yet the single most confusing rejection people hit in this category is a PNG being refused.

The reason is that PNG transparency is not supported, and "PNG" and "PNG with an alpha channel" are the same file extension describing two different things.

Why it bites the particular people it bites

Nobody uploads a transparent photograph. Transparency arrives with brand assets — a logo, a product cutout, an icon, a UI element exported from a design tool.

Which means this rejection is concentrated almost entirely among the people doing commercial work, on their most important asset, usually under deadline. The failure mode is "our logo doesn't work" rather than "PNG doesn't work", and that is a much scarier sentence to report upward than it deserves to be.

What to do about it

Flatten before upload. Composite the asset onto an explicit background — white, black, or better, the background you actually want in the shot — and export without alpha.

Two things worth knowing while you do it:

Pick the background deliberately. A model handed a logo on white will frequently keep the white as a surface: paper, a card, a wall. If you want the mark to appear on a dark set, hand it over on a dark field. You are not just satisfying a validator, you are giving the model its first and strongest hint about the environment.

Check the edges after flattening. Anti-aliased edges composited onto the wrong colour produce a halo, and the model will faithfully reproduce the halo, because from its point of view the halo is what the object looks like.

Detect it client-side, in one read

You do not need to decode the whole image. The PNG colour-type byte lives at a fixed offset in the IHDR chunk — byte 25 in a well-formed file. Types 4 and 6 carry alpha. That is a twenty-six byte read, cheaper than the upload you are about to refuse.

Doing the check locally matters more than it sounds, because the alternative is that the user waits for a 20 MB upload to finish before being told the file was never acceptable. The cost of the rejection is not the rejection; it is the ninety seconds before it.

The general shape

This is the first of several rules in this ingest path where the accepted-format list is necessary and not sufficient. The extension tells you the container. The rejection is about something inside it.

The same pattern shows up with duration limits that turn out to be totals rather than per-file allowances, and with a page count that has nothing to do with file size. It is worth reading the whole set of input limits once, in one sitting, rather than discovering them one rejected upload at a time — the published limits with each figure dated and sourced is the version I keep, and it exists mostly because I got tired of rediscovering this particular one.

Format and dimension limits on this page were read from Alibaba Cloud Model Studio's Wan 3.0 API reference on 2026-08-25.