Wan 2.6 Flash · Reference to Video
Cast a character from a clip, cheap
- reference_video_urls
- reference_image_urls
- video
- task id
Reference-to-video is the least understood task in this whole corner of the ecosystem, so let's be precise about it. You are not animating a still, and you are not continuing a clip. You're handing the model a set of actors - clips and photos of people, objects or styles - and asking for a new scene with those actors in it. The reference footage supplies identity, not motion and not the first frame.
That's the trick this node exists for. If Wan 2.6 Flash image-to-video gives you one shot from one picture, reference-to-video is how you keep the same face across a cut, or put two known characters in one room.
And yes, it's Wan 2.6, which means no local weights - Alibaba went API-only after Wan 2.2 and never came back, and the community's December 2025 reaction to 2.6 was mostly a shrug with an edge to it. Flash is the cheap rung: from 3.38 credits ($0.0338) per second, i.e. cents per clip.
How it works
Like every node in the pack, this one is generated from the endpoint's input schema, and the multi-file inputs are ComfyUI autogrow sockets: reference_video_urls and reference_image_urls each start as one socket and grow a new one every time you connect something. Each image you wire in is uploaded by the node, and the whole submission is quoted before any credits are held.
The prompt is what does the casting. The author's own tooltip says to name each reference - character1, character2 and so on, videos first, then images - and then describe setting, action, camera and light. Skip the naming and you've given the model a mood board with no instructions.
Caps worth knowing before you build a graph around it: up to 3 reference clips adding up to 5 seconds, up to 5 stills, and videos plus images together at most 5 entries. Five seconds of reference video is genuinely short - one gesture, one turn of the head.
The inputs that matter
prompt is the whole job; there's no required image here, so the prompt plus your references is the request. aspect_ratio defaults to 16:9 and is a plain instruction, not something derived from your references. resolution gives you 720p or 1080p. duration_seconds is a straight integer, 2 to 10.
generate_audio is off by default and doubles the per-second price when you turn it on - the tooltip says so in as many words. shot_type switches between single and a multi-shot edit, which is where this gets interesting for narrative work: one request, several cuts, the same two characters in each.
enable_prompt_expansion hands your brief to the service to rewrite before generation. Handy if you write terse prompts, actively annoying if you write carefully.
Outputs are video (wire to Save Video) and task id for the PopNow console.
Installing it
Manager > Custom Nodes Manager, search PopNow, Install, restart. Git route:
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Then create a key at popnow.ai/api/console/keys and paste it into Settings > PopNow, or export POPNOW_API_KEY. The pack needs nothing beyond ComfyUI itself - no torch extras, no model files, no ffmpeg side quest. Restart after adding the key so the node list comes from your account.
Delete the old custom_nodes/popnow_api.py single-file node if it's still around.
Where people get burned
The number one mistake is treating this like image-to-video and wondering why the output doesn't start on their reference frame. It won't. It starts wherever the prompt and the references point.
The second is over-stuffing references. Three clips totalling five seconds sounds generous until you're trying to fit two characters and a wide establishing shot into it; the total-entry cap of 5 across both sockets is the real ceiling. Make one clip do one thing.
On errors: PopNow 40201 is out of credits, PopNow 40004 is an unsupported combination (it names the offending field), and content refusals come back as content_rejected - failed runs are refunded, so a rejection costs you time, not money. Also remember that interrupting a run doesn't cancel the job; it keeps running and bills if it finishes.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the new scene: name each reference as character1, character2 and so on (videos first, then images), then setting, action, camera and light. | |
| negative_prompt | STRING | List what must not appear in the shot. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio. |
| generate_audio | BOOLEAN | false | Generate a native soundtrack (voices, effects, ambience) with the picture. Audio costs twice as much per second. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | INT | 52–10 | Requested output length in seconds. |
| shot_type | COMBO | single | Single continuous shot, or a multi-shot edit. |
| 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. |
| reference_video_urlsopt | COMFY_AUTOGROW_V3 | Reference videos of the subjects to cast, up to 3 clips adding up to 5 seconds. Still images in reference_image_urls are numbered after them. | |
| reference_image_urlsopt | COMFY_AUTOGROW_V3 | Up to 5 still images of subjects to cast, alongside or instead of the reference videos; numbered after the videos. Videos and images together take at most 5 entries. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |