Wan 3.0 Pro Prime · Image to Video
The most expensive button in the pack
- image_url
- last_image_url
- video
- task id
35.1 credits per second. Read that again with the conversion in mind - a credit is $0.001, so it's about three and a half cents a second, and a thirty-second clip at the top of this node's range is a bit over a dollar. Not absurd for what's arguably the top of the Wan line. But it's the priciest per-second rate in this pack's Wan family, and it deserves a moment's thought before you wire it into a batch of forty.
Pro Prime is Pro with quicker renders: 1080p, 2K or 4K, up to thirty seconds, audio included, prompt expansion on by default. Which is to say the field list is its sibling's, and the difference is turnaround. As with every Wan above 2.2, there are no weights - you can't run this locally at any price.
How it works
One node per model, built from the endpoint's published input schema, so the widgets are the real fields and their real option lists. image_url gets encoded and uploaded, the run is quoted before credits are held, the task goes out under an idempotency key, and the node polls while printing the estimate and the elapsed time. The MP4 comes back as a ComfyUI VIDEO; nothing persists in VRAM because nothing ran locally.
The inputs that matter
image_url - the opening frame. prompt - "subject, motion and camera", and that's the whole tooltip. At this tier the model rewards a clean, specific brief over a long one.
last_image_url - optional end frame. Wire a still in and the clip lands exactly on it. This is the feature that makes Pro Prime worth considering for sequence work: still, animate to still, repeat, and your shots actually join up.
resolution - 1080p, 2k or 4k, with the same disclosure as everywhere in this family: native rendering tops out at 1080p and the higher tiers are enlarged from that render. If you care about a genuinely detailed 4K frame, Pro Prime at 1080p plus a local upscale you control is a defensible choice - and cheaper.
duration_seconds - 2 to 30 or -1, which is smart duration: the model picks a length from your prompt and input media rather than a fixed number.
aspect_ratio defaults to adaptive, following your input image and the intent. generate_audio is on by default. enable_prompt_expansion is on by default - the first thing to switch off if your prompt keeps coming back slightly rewritten. Note there's no reasoning toggle on this node.
Outputs: video and task id.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
or install from ComfyUI Manager by searching PopNow. Restart, paste a key from popnow.ai/api/console/keys into Settings > PopNow, or set POPNOW_API_KEY in the environment, then restart once more so your account's catalog loads. No models to download, no Python dependencies beyond ComfyUI, and it runs on a laptop with no GPU.
If you're coming from the single-file node on popnow.ai's docs, delete custom_nodes/popnow_api.py.
Where people get burned
Batch queueing. This is the node where a Loop node feeding twenty prompts becomes a genuine budget event, and each run is billed separately. Set Settings > PopNow > Max credits per run first - the node refuses anything quoted above your ceiling before holding credits - and test with duration 2 at 1080p before you commit to thirty-second takes.
Turn off generate_audio if you're scoring the footage yourself; it's on by default and you don't need to pay for a track you're discarding.
Same errors as the rest of the pack: 40201 credits, 40004 unsupported combination with the offending field named, 400 rejected value, 40310 unverified email, content_rejected for a refusal (refunded). And remember that interrupting a run stops your node waiting but the task keeps generating on PopNow - it settles if it succeeds.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, motion and camera. | |
| image_url | IMAGE | Opening frame image. | |
| resolution | COMBO | 1080p | Output resolution tier. A native Wan 3.0 Prime render tops out at 1080p; 2k and 4k are enlarged from that render, not rendered natively. |
| aspect_ratio | COMBO | adaptive | Output aspect ratio; adaptive follows the input media and the intent. |
| duration_seconds | COMBO | 5 | Output duration in seconds. Pass -1 for smart duration: the model picks the length from the prompt and any input media instead of a fixed number. |
| generate_audio | BOOLEAN | true | Include an audio track in the output. |
| enable_prompt_expansion | BOOLEAN | true | Expand the prompt 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. |
| last_image_urlopt | IMAGE | Optional last frame: the clip ends exactly on this image. Requires image_url. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |