Wan 2.5 · Text to Video
Wan 2.5 · Text to Video — 1080p, five aspect ratios, and it hears you
- audio_url
- video
- task id
What it is
The newest Wan you can get into a ComfyUI graph through this pack, and - unlike Wan 2.2, which you can run at home if you have the VRAM - a model with no open weights anywhere. Wan 2.5 shipped as a cloud preview in September 2025 with an explicit promise that weights would follow. They didn't. 2.6 and 2.7 repeated the pattern. So this node isn't a convenience wrapper; it's the only way to use the model, full stop.
What it buys over the 2.2 text-to-video node is concrete: up to 1080p instead of 720p, five aspect ratios instead of two, ten-second clips instead of five, clips that carry sound, and an optional audio input that makes the generation follow a track you supply.
How it works
Five fields, a quote, a wait, an MP4. That's the loop. Your settings go out as a request, PopNow runs the model on their hardware, and the result comes back as a VIDEO value that wants Save Video on the other end. The node prints the estimate, the queue position, the elapsed time and the final charge as text on the node.
The audio_url input is the unusual bit. It takes a ComfyUI AUDIO value - from a speech node, a music node, or a file loader - and the tooltip's framing is that it drives lip sync or pacing. So the interesting graph isn't text-to-video at all: it's generate-a-voice-line → feed it in → get a clip timed to it. If you've ever tried to line a generated clip up with a voiceover by hand, you can see why that's the headline feature.
The inputs that matter
prompt - subject, action, camera, light, pacing, boundaries for the shot. The tooltip's phrasing is worth heeding: give the shot an end. A ten-second window with a stated conclusion reads as deliberate; one without reads as a loop that got cut.
aspect_ratio is the widest set in this batch: 16:9, 9:16, 1:1, 4:3, 3:4. Square and 4:3 are genuinely useful for social and for interstitial shots.
resolution - 480p, 720p, 1080p, defaulting to 720p. This is the cost lever that matters most: per-second pricing roughly triples from 480p to 1080p at the time of writing. duration_seconds is 5 or 10, so the two multiply fast.
negative_prompt is a working field, not decoration. With no anchor frame it's one of the few ways to steer the model away from something it keeps inventing.
enable_prompt_expansion defaults to off and I'd leave it off - a rewriter will happily redesign your camera move.
seed starts fixed, so re-queueing doesn't buy you a second clip you didn't ask for. audio_url is optional and, as above, the most interesting input on the node.
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 for a server, then restart so the node list is fetched from your account's catalog - that's also why a node you expect might be missing on first boot. No downloads, no GPU, no extra packages.
Where it goes wrong
Cost first: 1080p at ten seconds, run four times because the prompt wasn't right, is a real bill. Draft at 480p and five seconds until the shot is plausible, and set Settings > PopNow > Max credits per run as a hard floor on your own enthusiasm. Note too that cancelling only stops your wait - the job finishes server-side and is charged if it succeeds.
Text-to-video in general has no first frame holding identity together, so faces and hands are where these clips fail. One subject, one action, one camera move. If you have a still you like, use the image-to-video node instead - anchoring frame one is the single biggest quality win available.
And if the clips feel mute despite the "clips with sound" framing, check what you actually asked for: the model generates audio, but if you want your audio driving the shot, that's audio_url, not a prompt instruction.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, action, camera, light, pacing, and boundaries for the shot. | |
| negative_prompt | STRING | List what must not appear in the shot. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| 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. |