Nodes/ComfyUI-WanVaceAdvanced/WanVacePhantomSimpleV2
ComfyUI Node

WanVacePhantomSimpleV2

The Wan VACE node you'll actually use every day

By drozbay·Created about a year ago·Updated 7 months ago· 95
WanVacePhantomSimpleV2
  • model
  • positive
  • negative
  • vae
  • latent_in
  • control_video
  • control_masks
  • vace_reference
  • phantom_images
  • model
  • positive
  • negative
  • neg_phant_img
  • latent
  • trim_latent
width832
height480
length81
batch_size1
vace_strength1.00
vace_ref_strength1.00

If you're doing anything serious with Wan video and VACE in ComfyUI, this is the node to start from. WanVacePhantomSimpleV2 is the pack's flagship: one VACE context, full Phantom reference-image support, and - the thing that separates it from the older nodes - it patches the model for you and aligns everything with context windows automatically. The README calls it "the go-to node for most VACE operations," and that's not marketing fluff.

VACE is Wan's control framework - you feed it a control video (pose, depth, layout) plus optional reference images, and the model follows them while the text prompt does the rest. Phantom is the character-consistency trick: drop in one or more reference images of your subject and the model hangs on to the likeness. VACE without Phantom drifts on identity; Phantom gives you the anchor. This node wires both into one conditioning package, encodes the VACE frames through your VAE, and hands you a ready-to-sample latent.

The inputs that matter

Everything here is optional, which is the first surprise for people coming from the older node - positive, negative, and vae aren't marked required. Still connect them: the node raises a clear error if positive or vae are missing.

  • model - the key upgrade over the V1 nodes. Wire your Wan model in and it comes out the model output patched for per-frame strengths. No separate patch node needed.
  • control_video + control_masks - your pose/depth/layout video and the mask telling VACE where control applies. Skip both for pure reference-image work.
  • vace_reference - the reference image for the VACE context.
  • vace_strength / vace_ref_strength - control strength and reference strength, both default 1.0. Both can take a list of floats for per-frame control (each value = 4 decoded frames, since VACE works on latent frames).
  • phantom_images - your character reference images. Keep the subject the focus; background doesn't have to be removed.
  • latent_in - "Optional latent input to continue from." This is the extension/continuation path, and it auto-detects reference frames and trims or pads to match.

Outputs: positive, negative, neg_phant_img (the negative you need for Phantom - combine it with your main negative using a ConditioningCombine), the patched model, a latent ready for the sampler, and trim_latent, an INT that tells you how many frames the node reserved for references - that's why a 81-frame length can produce a shorter latent.

Install and models

Install the pack, then grab the weights:

cd ComfyUI/custom_nodes
git clone https://github.com/drozbay/ComfyUI-WanVaceAdvanced
# restart ComfyUI, nodes appear under "WanVaceAdvanced"

You need a Phantom 14B (Phantom-Wan-14B_fp16.safetensors from Kijai/WanVideo_comfy) plus a VACE module (Wan2_1-VACE_module_14B_bf16 or the fp8), or the pre-merged Wan2.1_VACE_Phantom from InnerReflections. KJNodes and VideoHelperSuite are the usual companions.

The gotchas

Phantom only works well with CFG > 1.0 - the README says 1.5–3.5 is the sweet spot. Run it at CFG 1.0 with a speed LoRA and the likeness falls apart. People also get burned doing video inpainting for character consistency and coming back with mushy results - usually a too-weak vace_strength, a mask that's too small, or CFG pinned at 1. The node's author, drozbay (the AbleJones behind the WanTests sampler shootout and the current maintainer of RES4LYF), keeps a WanTests page with real comparisons if you want to see what different settings do before you burn the GPU hours.

CategoryWanVaceAdvanced

Inputs (15)

NameTypeDefaultDescription
modeloptMODEL
positiveoptCONDITIONING
negativeoptCONDITIONING
vaeoptVAE
widthoptINT83216–16384
heightoptINT48016–16384
lengthoptINT811–16384
batch_sizeoptINT11–4096
latent_inoptLATENTOptional latent input to continue from
control_videooptIMAGE
control_masksoptMASK
vace_referenceoptIMAGE
vace_strengthoptFLOAT1.000–1000
vace_ref_strengthoptFLOAT1.000–1000
phantom_imagesoptIMAGE

Outputs (6)

NameTypeDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
neg_phant_imgCONDITIONING
latentLATENT
trim_latentINT