Wan 2.5 · Image to Video
Wan 2.5 · Image to Video — 1080p with sound, and no local option at all
- image_url
- audio_url
- video
- task id
What it is
Wan 2.5 image-to-video, up to 1080p, with audio. Here's the part that makes this node different from every other Wan node in the pack: you cannot run Wan 2.5 locally, and you never will. Alibaba previewed it in September 2025 with a note that open weights would follow, never shipped them, and did the same thing again with 2.6 and 2.7. The open Wan series ends at 2.2, permanently.
So this isn't a convenience wrapper around a model you could download - it's the only door. If you want the newer Wan's motion quality inside a ComfyUI graph, a hosted node is the door, and this one takes an opening frame and gives you a clip you can drive with your own audio track.
How it works
Your still goes up to PopNow, the job runs on their hardware, and the MP4 comes back as a VIDEO value - into Save Video, not Save Image. Progress, queue position and the final charge appear as text on the node itself; each run is quoted before anything is held.
The audio piece deserves an explanation, because it's the most distinctive thing here. The clips carry sound, and audio_url is an optional input that takes an AUDIO value and makes the generation follow it - lip sync or pacing, per the tooltip. Which means the standard workflow is: any audio node in ComfyUI (a speech model, a music model, a loader for a file) into audio_url, your still into image_url, and out comes a talking or beat-matched clip. That's a genuinely different shape of workflow from the silent 2.2 nodes.
The inputs that matter
image_url is the opening frame - the clip starts from it. Not an aspect-ratio dropdown in sight, because the frame decides.
prompt describes what happens after that frame: action, camera, mood. Same convention as the 2.2 image-to-video node - don't re-describe the still, describe the change.
negative_prompt is a real, useful field. Use it for what keeps appearing that you didn't ask for, not as a place to dump vague negatives.
resolution is the cost dial, and it's a three-tier one: 480p, 720p, 1080p, defaulting to 720p. Pricing is per second and the tiers are roughly 45 / 90 / 135 credits per second at the time of writing - 1080p is three times the 480p rate. duration_seconds is 5 or 10, so a 10-second 1080p run is the most expensive thing you can do here. Draft low.
enable_prompt_expansion defaults to off; leave it. seed is fixed by default, which is what stops an accidental second charge when you re-queue.
audio_url (optional) is what makes this node worth its price - see above. Outputs: video, task id.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui # or Manager > search "PopNow"
Key from popnow.ai/api/console/keys into Settings > PopNow or POPNOW_API_KEY in the environment; restart so the catalog is fetched from your account. No weights to download, no GPU needed, and no dependencies beyond ComfyUI.
Where it goes wrong
The money. Per-second billing at 1080p is where people burn credits without noticing, and a cancelled run does not save you - cancelling stops the wait, not the job, and a run that succeeds server-side is charged. Set Settings > PopNow > Max credits per run before your first 1080p attempt; a run quoted above your ceiling stops before anything is held.
If you feed audio_url and the mouth doesn't follow, check the audio node's actual length against duration_seconds - a 5-second clip can't lip-sync a 12-second line, and the model will do its best with the mismatch rather than complaining.
If a clip looks soft, check that you're actually at 1080p rather than assuming the tier label is doing anything to a small source image. And if a face wanders mid-clip, that's the family's standing limitation: less action, one camera move, shorter duration. For anything longer than ten seconds, continue the clip with Wan 2.5 · Video Extend rather than fighting this node.
Inputs (8)
| 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. | |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | COMBO | 5 | Requested output length in seconds. |
| 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 | Audio track that drives lip sync or pacing. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |