Wan 2.1 LoRA · Image to Video
Wan 2.1 LoRA · Image to Video — the one node here where you touch the sampler
- image_url
- loras
- video
- task id
What it is
Wan 2.1 image-to-video, with a LoRA socket and - unusually for this pack - the diffusion knobs left on the node. guidance_scale, steps and flow_shift are all exposed, which makes this the closest thing to a local Wan workflow you can get without owning the weights. Everything else in the PopNow video lineup hides the sampler entirely; here, if a clip looks over-baked, you can actually do something about it.
It's also the right node for the awkward case: you have one still you like and a specific adapter that makes it work, and you want motion out of it without setting up Wan 2.1 locally. I2V is where the open-video crowd prefers to work anyway - anchoring frame one solves more consistency problems than any amount of prompt engineering in text-to-video.
How it works
Your opening frame is uploaded (remuxed, not re-encoded, if it arrives as a video-style container), the settings are sent as a request, PopNow runs the model on their cards, and the finished file is downloaded and handed back as a ComfyUI VIDEO value. Wire that into Save Video - a VIDEO socket is not something Save Image understands.
Two behaviours worth knowing before you spend anything: every run is quoted first and held at the quoted amount (there's a Max credits per run ceiling in Settings > PopNow if you don't trust your own clicking), and seeds default to fixed, so re-queueing the same graph returns the same clip rather than a fresh charge.
The inputs that matter
image_url is the opening frame and the clip keeps its aspect ratio - that's your framing decision made for you. Portrait stills make portrait clips.
prompt should describe what happens after that frame, plus the camera move. This is the community's two-prompt rule in miniature: the still is already decided, so don't re-describe it. "She turns toward the window and the camera slowly pushes in" beats "a woman in a red coat by a window."
steps (1–40, default 30) and guidance_scale (0–20, default 5) are the quality/speed dials. Fewer steps come back faster and softer; the useful range is high-teens to thirty. Guidance around 5 is sane; crank it and clips get contrasty and stiff.
flow_shift is Wan's flow-matching timestep shift and the one field nobody can guess. Leave it at -1 unless you're deliberately experimenting: -1 lets the model use its default of 3 at 480p and 5 at 720p, which is almost always what you want.
duration_seconds is 5 or 10, resolution is 480p or 720p, negative_prompt takes what must stay out, and loras accepts up to three adapters trained for Wan 2.1 14B, each via its own PopNow LoRA node. Outputs: video and 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 catalog rebuilds. No model downloads whatsoever - that's the entire appeal, and also why this works on a Mac.
Where it goes wrong
Cost sneaks up on you here because Wan 2.1 LoRA bills per request rather than per second: 5s at 480p is the cheap seat, and both 10 seconds and 720p step up the price, so a 10s 720p run is roughly double the entry rate. Draft at 480p/5s, then re-run the winner at 720p.
Motion that barely happens is usually a prompt problem, not a step-count problem - lengthen the description of the action and name the camera move. A clip that looks like the still with a slow zoom is Wan being polite; give it something to do.
If you're feeding a LoRA and nothing changes, check the base: these want Wan 2.1 14B adapters, and a 2.2 or SDXL adapter will pass through silently. On the plumbing side, 40004 means that combination of resolution, duration and settings can't be served - change the field the message names. 40201 is an empty wallet, and an error ending in request_id ... is the one to hand to support.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe what happens after the opening frame and how the camera moves. | |
| negative_prompt | STRING | What must stay out of the clip. | |
| image_url | IMAGE | Opening frame. The clip keeps its aspect ratio. | |
| resolution | COMBO | 480p | Output resolution. |
| duration_seconds | COMBO | 5 | Clip length: 5 or 10 seconds. |
| guidance_scale | FLOAT | 5.00–20 | How closely the clip follows the prompt, from 0 to 20. |
| flow_shift | FLOAT | -1.0-1–10 | Flow-matching timestep shift, from 1 to 10. Leave it out for the default (3 at 480p, 5 at 720p). -1 leaves it to the model. |
| steps | INT | 301–40 | Denoising steps, from 1 to 40. Fewer steps return faster and softer. |
| 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. |
| lorasopt | POPNOW_LORAS | Up to three LoRA weight files trained for Wan 2.1 14B, each with its own strength. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |