Wan 2.6 Flash · Image to Video
The cheap Wan you can't download
- image_url
- audio_url
- video
- task id
Here's the thing you have to know before anything else: Wan 2.6 has no weights. Alibaba stopped shipping open checkpoints after Wan 2.2 in July 2025, and 2.5, 2.6 and 2.7 all went out behind an API. The r/StableDiffusion thread announcing 2.6 in December 2025 was titled, flatly, "Wan 2.6 released (not open source yet)", and the top reply was somebody confirming it was never going to be. So if you've been searching for a Wan 2.6 download, stop - there isn't one, and the sites offering one are lying to you.
This node is the other door. Flash is the cheap tier of 2.6: single image in, a clip that can hold one continuous shot or cut between several, all generated on PopNow's servers for credits. No VRAM, no 20 GB download, no ComfyUI update that breaks your workflow. It starts at 3.38 credits per second, and a credit is a tenth of a cent, so a 5-second 720p clip is in "sure, try it" territory.
How it works
PopNow ships one node per model, and each node's widgets are generated from that model's published input schema - so the dropdowns here are literally what the Wan 2.6 Flash endpoint accepts, not a generic superset. When you queue, the node does four things: it uploads your image (PNG, or JPEG if it's over 10 MiB), asks the API to quote the job before anything is held, submits it with an idempotency key so a retry never creates a second paid task, then polls and downloads the finished MP4 into ComfyUI.
The upload is cached per image hash for twelve hours, so re-running the same opening frame with a tweaked prompt doesn't re-upload anything.
The inputs that matter
image_url is the opening frame - a plain IMAGE socket, so a Load Image, an upscale, or the last frame of your previous clip all work. prompt should describe what happens after the frame, not what's in it; the model can already see the frame.
Then the three that actually change the bill:
resolution- 720p or 1080p.duration_seconds- 5, 10 or 15.generate_audio- off by default, and the tooltip is blunt about why: audio costs twice as much per second. Leaving it off gives you a silent clip you can score yourself.
shot_type is the interesting one. single gives you one continuous take; multi lets the model cut within the clip, which is what Flash is actually for - the summary calls it "quick multi-shot clips from a single image", and at this price that's the honest use case. Keep the prompt reading like a shot list if you pick multi.
negative_prompt, enable_prompt_expansion and seed round it out. The seed starts on fixed, so queueing twice reuses the first result instead of quietly billing you again; set control-after-generate to randomize when you actually want a new take.
There's an optional audio_url socket too. Wire an AUDIO in and it drives mouth shapes and pacing - but the clip itself stays silent. It's a sync track, not a soundtrack, and it doesn't replace generate_audio.
Outputs are video (a normal ComfyUI VIDEO - wire it to Save Video) and task id, which is what you paste into the PopNow API console when something looks wrong.
Installing it
Manager > Custom Nodes Manager, search PopNow, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Then get a key at popnow.ai/api/console/keys, restart, and paste it into Settings > PopNow (or set POPNOW_API_KEY on a server). Restart once more - the node list is rebuilt from your account's catalog at startup, which is also how new models appear without updating the pack.
If you used the old single-file custom_nodes/popnow_api.py, delete it. Same node type, and leaving both installed is a bad time.
Where people get burned
The failures are all API-side and they're named, which is refreshing. PopNow 40201 means you're out of credits - lower the resolution or the length. PopNow 40004 means the combination you asked for isn't servable; the error names the field. PopNow 400 on a field means a value the model rejects, and the node's description links the model page where the real constraints live.
Two subtler ones. First, interrupting a run does not cancel it - it stops your node waiting, the job keeps going on PopNow, and it's charged if it succeeds. Second, set Settings > PopNow > Max credits per run before you start experimenting. The node refuses any run quoted above that ceiling before anything is held, which is the difference between a fun afternoon and a surprise.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| image_url | IMAGE | Opening frame. The clip starts from this image. | |
| prompt | STRING | Describe what happens after the opening frame: the action, the camera, and the mood. | |
| negative_prompt | STRING | List what must not appear in the shot. | |
| generate_audio | BOOLEAN | false | Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs twice as much per second. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | COMBO | 5 | Requested output length in seconds. |
| shot_type | COMBO | single | Single continuous shot, or a multi-shot edit. |
| enable_prompt_expansion | BOOLEAN | false | Allow the service to expand the submitted creative brief before generation. |
| seed | INT | 00–2147483647 | Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed. |
| audio_urlopt | AUDIO | Optional voice or music track the clip follows for mouth shapes and pacing; the clip itself stays silent. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |