Nodes/ComfyUI_Wan/Wan VACE - Multi-Image Reference
ComfyUI Node

Wan VACE - Multi-Image Reference

Character consistency from a few reference images (cloud Wan VACE)

By ru4ls·Created about a year ago·Updated 12 months ago· 4
Wan VACE - Multi-Image Reference
    • video_file_path
    • video_url
    ◄modelwan2.1-vace-plus►
    ◄promptGenerate a video based on the provided reference images►
    ◄ref_images_url►
    ◄regioninternational►
    ◄obj_or_bg►
    ◄size1280*720►
    ◄seed0►
    ◄prompt_extendfalse►
    ◄watermarkfalse►
    ◄output_dir./videos►

    Feed it two pictures of the same character - one from the front, one from the back - and a prompt, and WanVACEImageReference ("Wan VACE - Multi-Image Reference") returns a video where that character stays recognizably the same person the whole time. That's the VACE reference-to-video mode that won the community over in the local Wan 2.1 days, and this node is the same trick on Alibaba's hosted wan2.1-vace-plus model. No 14B checkpoint grinding on your GPU, no ControlNet pipeline - just URLs in, video out, billed per job.

    Character consistency across motion is the hardest problem in video generation, and reference-to-video is the best tool anyone has for it short of a trained LoRA. If you've been wrestling with faces that morph every few frames, this is the node you want to meet first.

    How it works

    The key input is ref_images_url: a list of reference images, one per line. What makes this node special is the obj_or_bg field - a parallel list (one obj or bg per line) that tells the model which references are objects (the character, the thing to keep consistent) and which is the background. Here's the part that saves you time: you usually don't need to set it. Leave obj_or_bg empty and the node auto-assigns - every image becomes obj except the last one, which becomes bg. So for a character + a scene, order matters: characters first, background last.

    The full model: ref_images_url (newline-separated URLs, all of which must be publicly fetchable by Alibaba's servers), the prompt describing the video, size (1280720, 7201280, 960960, 8321088, 1088*832), seed, and the usual prompt_extend / watermark toggles. Outputs are video_file_path and video_url - preview via a "Load Video (Path)" node from ComfyUI-VideoHelperSuite.

    How it fits the bigger picture

    The KB's Wan essay notes that the local VACE reference mode produced its "wow" moment from exactly two images - dress from the front, dress from the back, no complicated workflow. The hosted version here is the same idea, minus the 15-40 minute local render. It also pairs with the rest of the VACE family in this pack: use this node to establish a consistent character, then feed the result into Video Repainting or Extension to carry that identity forward.

    Install

    ComfyUI Manager, search ComfyUI_Wan, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ru4ls/ComfyUI_Wan.git
    pip install -r ComfyUI_Wan/requirements.txt
    

    Restart, then copy config/.env.template to config/.env in the pack folder and set DASHSCOPE_API_KEY (plus DASHSCOPE_API_KEY_CHINA for mainland China). Dependencies are minimal - requests, Pillow, numpy, python-dotenv - because the model runs remotely. And it's a paid API: every video costs you, so tighten the prompt before you queue.

    Gotchas

    • Reference images must be public URLs. Local files won't work - Alibaba's servers fetch them. Host your references somewhere reachable first.
    • The auto obj/bg rule is a rule, not a guess. If you have three references and want the middle one to be the background, you have to set obj_or_bg yourself (one value per line, same order, same count - a mismatch throws an error).
    • Keep references visually rich but consistent: front/back views of the same outfit beat three near-identical selfies. The model can only hold onto what the images give it.

    If you want this locally instead, the open-weight Wan 2.1 VACE runs in native ComfyUI - free, but you supply the VRAM and the patience. This node is the no-hardware version, and for reference consistency specifically, it's the best reason to have this pack installed at all.

    CategoryRu4ls/Wan/VACE

    Inputs (10)

    NameTypeDefaultDescription
    modelCOMBOwan2.1-vace-plus1 options: wan2.1-vace-plus
    promptSTRINGGenerate a video based on the provided reference images—
    ref_images_urlSTRINGNewline-separated URLs for reference images
    regionCOMBOinternational2 options: international, mainland_china
    obj_or_bgoptSTRINGNewline-separated values (obj/bg) corresponding to ref_images_url
    sizeoptCOMBO1280*7205 options: 1280*720, 720*1280, 960*960, 832*1088, 1088*832
    seedoptINT00–2147483647—
    prompt_extendoptBOOLEANfalse—
    watermarkoptBOOLEANfalse—
    output_diroptSTRING./videosDirectory where the generated video will be saved. Browse to select a custom directory.

    Outputs (2)

    NameTypeDescription
    video_file_pathSTRING—
    video_urlSTRING—