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 12 months ago·Updated 11 months ago· 3
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