Nodes/ComfyUI-VeniceWAN/VeniceWAN Reference-to-Video
ComfyUI Node

VeniceWAN Reference-to-Video

Consistent characters without training anything

By nakedfighter3d·Created 2 days ago·Updated 2 days ago· 0
VeniceWAN Reference-to-Video
  • reference_images
  • reference_videos
  • reference_audios
  • VIDEO
model
generation_id0
resume_job

This is the interesting one in the pack. Reference-to-video takes the thing people normally solve by training a character LoRA - keep this face, this jacket, this room across every shot - and hands it to the model as a pile of reference media. You feed it images, clips and audio, and Venice's Wan 3.0 conditions on all of it.

What you're wiring up

Three autogrow banks: reference_images, reference_videos, reference_audios. Each one accepts up to ten inputs, and each is a normal Comfy socket - an IMAGE, a VIDEO, an AUDIO - so you can feed the bank from Load Image, a local frame generator, a trimmed clip, a TTS node, whatever your graph already produces.

That's the pitch: one reference set reused across a series of shots, giving you continuity you'd otherwise train a LoRA for. It's genuinely the thing people ask for - the local subs are full of threads hunting for a Wan workflow that takes separate face, clothing and background references the way a hosted service does. This node is that, minus the local pipeline and plus a bill.

Order is meaningful. The pack sends references in the order you inserted them, and the author's prompt tooltip says reference media retain their input order. Build the bank deliberately - reference one, then two, then three - and the prompt you write can address them the same way.

There's a floor and a ceiling. Audio alone doesn't count: the node needs at least one reference image or video and will say so before calling out. Ten per bank is the max the UI offers, and you'll rarely want it - every reference is base64'd into the request.

The mechanism, briefly

The node pulls Venice's video model list at startup and keeps the wan-3-0-* IDs ending in -reference-to-video, so this node and its two siblings are three different model families wearing similar clothes. Your media get encoded locally: images become PNGs, audio becomes 16-bit PCM WAV, and reference videos get re-encoded to H.264 MP4 in a temp folder first (which means native trims are respected - you can cut a clip to just the section you want before it ships). All of it goes up as inline data URLs in one request. No upload service, no signed URLs, no separate transfer to babysit.

Then it's queue, poll, stream down to ComfyUI/output/VeniceWAN/, and out the single VIDEO socket into Save Video.

Inputs you actually touch

model - the combo that contains everything else, including the prompt box and the model's duration, resolution, aspect-ratio and audio controls. Switching models resets those, because you're looking at a different model's constraints.

reference_images / reference_videos / reference_audios - the three banks described above. Connect at least one image or video.

generation_id - cache nonce, not a seed. Nothing here is reproducible; reroll or accept it.

resume_job - the 32-character token from the console line [VeniceWAN] Job resume token: <hex>. Paste it to recover a job's video without queueing (and paying) again.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/nakedfighter3d/ComfyUI-VeniceWAN.git
python -m pip install -r ComfyUI-VeniceWAN/requirements.txt

Three light dependencies (aiohttp, numpy, Pillow), zero model files, then Settings → VeniceWAN → paste key → Save & connect, which also refreshes the model catalog. Restart afterwards. VENICE_API_KEY in the environment takes precedence over the saved key.

This pack targets ComfyUI's V3 node API and native VIDEO support, so an out-of-date ComfyUI is the one install failure that looks like nothing happening at all.

Where people get burned

Audio-only reference. The single most likely first-try error - up gets rejected in the node, before any charge, with a message telling you to connect an image or video. If you're doing voice-driven work, pair the audio with a still.

The combined size guard. Every reference is inlined, so the pack totals them and refuses when the payload gets absurd - roughly 100 MiB of media. Ten 4K reference clips will trip it. It fails locally rather than after a job is queued, so it costs you a minute, not money. Keep banks lean: two or three well-chosen references usually beat ten vague ones.

Long videos as references. Each video is decoded and re-encoded to H.264 before sending, so a two-minute 4K file is both slow to prepare and likely over the cap. Trim first.

Wrong mode, again. Reference models end in -reference-to-video, and the I2V and T2V families don't have these sockets at all. If the combo can't find the model a saved workflow used, restart ComfyUI to refresh the catalog before editing the graph.

CategoryVenice/video/WAN

Inputs (6)

NameTypeDefaultDescription
modelCOMBO1 options: [object Object]
reference_imagesCOMFY_AUTOGROW_V3
reference_videosCOMFY_AUTOGROW_V3
reference_audiosCOMFY_AUTOGROW_V3
generation_idINT00–18446744073709550000Local cache nonce. Increment to generate again; never sent as a seed.
resume_jobSTRINGLocal job token from the console. Retrieves that existing job and ignores generation inputs.

Outputs (1)

NameTypeDescription
VIDEOVIDEO