Nodes/PopNow/Wan 2.2 · Image to Video
ComfyUI Node

Wan 2.2 · Image to Video

Wan 2.2 · Image to Video — five seconds, two resolutions, nothing to tune

By popnow-ai·Created 23 days ago·Updated 7 days ago· 0
Wan 2.2 · Image to Video
  • image_url
  • video
  • task id
◄prompt►
◄negative_prompt►
◄resolution480p►
◄enable_prompt_expansionfalse►
◄seed0►

What it is

Wan 2.2 image-to-video, base model, no adapters. Five widgets, no LoRA slot, no duration choice - the endpoint is a fixed five-second clip at 480p or 720p. It's the plain-vanilla version of the most consequential open video model of the last two years: the 27B MoE that the whole local video scene consolidated around, then froze at 2.2 when Alibaba took 2.3 and up behind an API.

Which is exactly why a hosted node for it makes sense. Wan 2.2 A14B is not a small model - 12GB of VRAM gets you a quantised 14B at 480p, comfortable 720p wants closer to 24GB - and the sampling rig is two passes, high-noise then low-noise. Here you supply a still and a sentence, and the two-pass pipeline happens on someone else's card.

How it works

The opening frame is uploaded (PNG, or JPEG if it exceeds 10MB), the request goes out with your settings, PopNow quotes it, runs both expert passes, and the finished MP4 arrives as a ComfyUI VIDEO value. Wire it to Save Video. Uploads are cached per key for twelve hours, so prompt iteration doesn't re-send the frame.

Because there are so few widgets, most of the "how" is invisible: no sampler, no expert weights, no guidance scale. If you're coming from a local Wan workflow you'll feel the absence of steps and cfg immediately. The trade is that you also can't accidentally leave a speed LoRA in and wonder why the motion died.

The inputs that matter

image_url is the opening frame and the clip inherits its aspect ratio. A square still gives you a square clip; a 21:9 still gives you a letterbox. This is your framing decision, made in whatever node produced the still.

prompt describes what happens after the frame. Wan's I2V prompting convention is worth taking seriously: don't re-describe the image you just supplied. The frame is already there. Spend the words on motion, camera and mood - "she leans back, the curtain lifts, the camera drifts right and settles" - and treat the picture as given.

negative_prompt is a real field here, and it earns its place: exclude the artefacts you keep getting rather than hoping the seed avoids them.

resolution - 480p or 720p, and 720p costs twice as much per run. Draft at 480p. Genuinely: the motion either works or it doesn't, and you'll know at 480p.

enable_prompt_expansion is off by default and I'd leave it off. Your prompt is a motion brief, and a rewriter that turns it into richer scenery is fighting the frame you gave it.

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 pack fetches your catalog. No weights, no GPU, no extra Python. The pack only uses what ComfyUI already ships.

Where it goes wrong

Flat per-run pricing means a five-second clip costs the same whether it's good or bad, and the fixed length is the reason - there's no duration widget to shorten when you're experimenting. Trim your expectations instead: test motion ideas at 480p and accept that a five-second window is short. If you need longer, this isn't the node; the Video Extend nodes continue an existing clip, and the LoRA variant offers 5 or 8 seconds.

Motion that doesn't happen is nearly always a prompt problem. Add a verb and a camera move. Identity drift on faces is the family's standing limitation - a slow camera with minimal action keeps a face intact far better than a dramatic turn.

Error codes are the pack's, not this node's: 401 bad key, 40201 empty wallet, 40004 a combination the model can't serve, and an error ending in request_id ... is the one support needs.

CategoryPopNow/Video/Alibaba

Inputs (6)

NameTypeDefaultDescription
image_urlIMAGEOpening frame as a JPEG, PNG or WebP image of up to 10 MB. The clip starts from this image.
promptSTRINGDescribe what happens after the opening frame: the action, the camera, and the mood.
negative_promptSTRINGWhat must not appear in the clip.
resolutionCOMBO480pOutput resolution.
enable_prompt_expansionBOOLEANfalseAllow the service to expand the submitted creative brief before generation.
seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe PopNow task id, for the API console logs or support.