Wan 3.0 · Reference to Video
Wan 3.0 reference to video reads your script, not just your prompt
- reference_image_urls
- reference_video_urls
- reference_audio_urls
- video
- task id
Most "reference to video" nodes mean "one photo of a person, do something with it". This one means something stranger and more useful: point it at a document or a web page and it reads that for characters, wardrobe, setting and action before it renders. Alibaba calls that a reference, and Wan 3.0 is the tier that does it without the Pro price.
If you've ever written a four-paragraph prompt describing a scene you already have written down somewhere, this is the shortcut.
The inputs, which are unusual
Start with the two text references, because they're the point.
reference_file_url is a document upload: PDF, DOCX, TXT, MD and similar. In the node it's a file field, so put the document in ComfyUI/input and type the filename, or paste an https:// link. That file is uploaded and read as reference material. reference_link_url is a public web page - it has to open without a login, or the model gets a paywall instead of your setting notes.
Then prompt. The tooltip asks for subject, action, camera, light, pacing and boundaries, which is a good checklist for a shot you intend to nail in one go.
enable_thinking is the switch that makes this node feel different. Turned on, the model reasons about the brief and the reference material before it generates - slower, and noticeably better on complicated references. It also switches itself on when you supply a reference file or link, so you mostly leave it alone.
resolution here is 480p, 720p or 1080p, and aspect_ratio is 16:9, 9:16, 1:1, 4:3, 3:4 or adaptive. generate_audio, as everywhere in this pack, is on by default. enable_prompt_expansion has a third state - it can be left at "model default" and omission means the service decides.
Media references are sockets, not files
reference_image_urls, reference_video_urls and reference_audio_urls are autogrow inputs: connect an IMAGE, VIDEO or AUDIO and the socket grows a sibling for the next one. Limits are in the tooltips - up to 10 images, up to 5 videos and 15 seconds total, up to 5 audio clips and 15 seconds total.
That 15-second video cap is not decoration. If your reference videos total 20 seconds, the API refuses the job; and because the reference video seconds are billed alongside the output seconds, and the two together must fit under 30, a fat reference reel eats your output length from both ends.
How it runs
Same engine as every node in this pack: widgets mirror the published schema of alibaba/wan-3.0/reference-to-video, media gets uploaded to popnow:// file URIs that only your key can use, the run is quoted before anything is held, submitted under an idempotency key, polled, then downloaded and decoded into a VIDEO. The second output is task id - your handle for the API console and for support.
Cost starts at 6.75 credits per second, 1 credit = $0.001, so five seconds lands near 34 credits. Reference material adds billed seconds when it's video.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
Or search PopNow in ComfyUI Manager. No dependencies, no model files, no GPU. Then create a key at popnow.ai/api/console/keys, restart, paste it under Settings > PopNow or export POPNOW_API_KEY, and restart once more so the node list comes from your account.
Where people get burned
The required text fields are genuinely required. Leave reference_link_url empty and the node stops with an "is required" error before a request is ever made - even when your reference material is a stack of connected images. Put something real in it, or accept that this node wants a link.
The other trap is expecting a document reference to behave like a style LoRA. It doesn't copy a look; it reads for content. Give it a script and you get the scene in the script. Give it a mood board and you'll wonder why the output is generic.
One last thing: cancellation ends the wait, not the job. A cancelled run finishes server-side and is charged if it succeeds. Check the API console before assuming a cancel was free.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Describe the subject, action, camera, light, pacing, and boundaries for the shot. | |
| reference_file_url | STRING | One reference document (PDF, DOCX, TXT, MD and similar) that the model reads for characters, wardrobe, setting and action. | |
| reference_link_url | STRING | One public web page the model reads for reference. It must open without a login. | |
| aspect_ratio | COMBO | 16:9 | Output aspect ratio; adaptive follows the input media and the intent. |
| enable_thinking | BOOLEAN | false | Let the model reason about the brief and the reference material before generating. Helps with complex references; slower. Switches on by itself when a reference file or link is given. |
| resolution | COMBO | 720p | Output resolution. |
| duration_seconds | COMBO | 5 | Requested output length in seconds. Pass -1 for smart duration: the model picks the length from the prompt and any input media instead of a fixed number. With reference videos, their total length plus the output length must not exceed 30 seconds, and the reference video seconds are billed together with the output seconds. |
| generate_audio | BOOLEAN | true | Request generated audio with the video. |
| enable_prompt_expansion | COMBO | model default | 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_image_urlsopt | COMFY_AUTOGROW_V3 | Reference images, up to 10 items. | |
| reference_video_urlsopt | COMFY_AUTOGROW_V3 | Reference videos, up to 5 items and 15 seconds in total. | |
| reference_audio_urlsopt | COMFY_AUTOGROW_V3 | Reference audio, up to 5 items and 15 seconds in total. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task id | STRING | The PopNow task id, for the API console logs or support. |