Nodes/SpicyAPI/Wan 2.6 · Reference to Video
ComfyUI Node

Wan 2.6 · Reference to Video

Cast a subject from a clip, not a photo

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Wan 2.6 · Reference to Video
  • reference_video_urls
  • video
  • task id
◄prompt►
◄negative_prompt►
◄aspect_ratio16:9►
◄resolution720p►
◄duration_seconds5►
◄shot_typesingle►
◄seed0►

Most image-to-video nodes animate the frame you give them. This one doesn't work that way: you hand it one to three short clips of people, animals or objects, and it puts those subjects into a new scene you describe. It's casting, not animation. Clips run 2 to 10 seconds at 720p or 1080p, single take or multi-shot, from $0.065/second.

The distinction is the whole article, so here it is plainly. I2V says "this is the first frame." Reference-to-video says "this is what the person looks like; now shoot them somewhere else." If you've ever wished a character could keep their face and wardrobe into a scene that doesn't exist yet, that's the gap this fills.

Why references are clips

A still gives the model a pose, a lighting condition and a single angle. A short clip gives motion and profile - how the subject moves, what they look like turned, how the light falls on them across a few seconds. That's much closer to what identity actually is, and it's the direction the whole field moved: consistency stopped being "encode the face and inject it" and became "supply better evidence and edit into it."

The practical cost is that you need reference footage, which most people don't have. Phone video at a few seconds each is fine - it doesn't need to be good.

The inputs

reference_video_urls is a VIDEO socket that grows: connect one and it takes one, connect three and it takes three. This is the input that defines what the node is for, and each clip is uploaded when the node runs, so keep them short - up to 3 clips, and a long high-bitrate source can hit the pack's 90 MiB upload ceiling, in which case trim and re-encode.

prompt is where the work goes. Say what each reference contributes, then the setting, action, camera and light. Order matters, because the references are ordered too. "The woman in clip 1 and the dog in clip 2, walking through a rainy neon alley at night, handheld camera following from behind" is the shape. negative_prompt is available and does its usual job.

aspect_ratio gives you 16:9 and the rest of the common set; resolution is 720p or 1080p. duration_seconds is a free integer from 2 to 10 here - unlike the I2V nodes with their menu of fixed lengths, which is a nice bit of flexibility for cutting to an existing edit.

shot_type switches between a single continuous take and a multi-shot edit; on a 10-second clip, multi-shot is often the difference between "a scene" and "a shot."

seed repeats a draw. Outputs: video → Save Video, and task id for your logs.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Then restart and put a key from spicyapi.ai/console/keys into Settings > SpicyAPI - ComfyUI Manager users can search "SpicyAPI" instead. No dependencies, no weights, no GPU: the node uploads clips, polls a job and downloads the result. The key lives in the ComfyUI user folder, never in node widgets, so sharing the graph doesn't share your credentials; set SPICY_API_KEY for servers.

What goes wrong

The reference clips are the usual culprit. Tiny, dark, or single-angle references produce a subject who looks right in profile and wrong everywhere else; give it motion and some turning. Two subjects in one clip sometimes get merged - separate clips per subject and name them by order in the prompt.

Then the usual pack mechanics. A 10-second 1080p run is real money, so set Max cost per run in the SpicyAPI settings before experimenting with length. Seeds default to fixed; change control after generate only when you want a new take, because each one is billed. Cancelling doesn't stop the server-side job or the charge - the result lands in your console and stays there for 14 days.

Errors: 40004 means no deployment serves that combination, and the message names the parameter to change. 40003 means an upload didn't match its ticket - just re-run the node. 40310 is an unverified email. 50302 means it failed upstream and was refunded, so re-queue. Anything containing request_id is worth copying into a support message verbatim.

CategorySpicyAPI/Video/Alibaba

Inputs (8)

NameTypeDefaultDescription
promptSTRINGDescribe the new scene: what each reference clip contributes, then setting, action, camera and light.
negative_promptSTRINGList what must not appear in the shot.
reference_video_urlsCOMFY_AUTOGROW_V3Reference videos of the subjects to cast, up to 3 clips.
aspect_ratioCOMBO16:9Output aspect ratio.
resolutionCOMBO720pOutput resolution.
duration_secondsINT52–10Requested output length in seconds.
shot_typeCOMBOsingleSingle continuous shot, or a multi-shot edit.
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 SpicyAPI task id, for the console logs or support.