WVAPipeSimple
Bundle VACE control for the face-detailer pass
- control_video
- control_masks
- vace_reference
- phantom_images
- vae
- wva_pipe
Most of this pack's nodes put VACE data into conditioning. WVAPipeSimple does something different: it bundles your VACE settings - control video, masks, reference, phantom images, strengths - into a single WVA_PIPE object whose only consumer is the pack's own VACEAdvancedDetailerHook (the VACEAdvDetailerHookProvider node under "WanVaceAdvanced/Hooks"). If you've used Impact Pack's detailer hooks, you know the shape: a hook lets the sampler pass re-encode and regenerate a crop region (usually a face) mid-generation. This pipe is how you get VACE control inside that detailer pass, so your close-up re-encode respects the same pose/identity you're driving the main clip with.
How it works
The node just packs its inputs into a WVAPipe object. vace_strength is required (default 1.0); everything else is optional - control_video, control_masks, vace_reference, phantom_images, vace_ref_strength, and vae (whose tooltip says exactly what it's for: "VAE for encoding VACE data in DetailerHook"). One output: wva_pipe.
From there the pipe flows into VACEAdvDetailerHookProvider, which builds the actual detailer hook. A couple of source-level details worth knowing:
- The hook provider also accepts its own
wva_options(WVA_OPTIONS) input, and if you feed one, it overrides whatever options the pipe carries - the code logs a warning when that override happens, so if you see that message in your console, that's what it means. - The hook provider requires ComfyUI-Impact-Pack; without it installed, the node refuses to run with a clear error telling you to install Impact Pack. That's a hard dependency of the detailer feature, not the whole pack.
- The hook also takes
latent_pad_directionandcrop_calculation_from(both default "bottom_right") to align the detailer crop with how your VACE latents were padded.
When you'd reach for it
This is squarely a "faces in video" node. If you're doing character work where the main pass gets the motion right but the face wobbles, a detailer hook that re-encodes the face region with the same VACE reference is a genuinely useful fix - it's the video equivalent of Impact Pack's face-detail on stills, with your VACE identity data riding along. But it's also the most niche node in the pack: it requires Impact Pack, it requires the DetailerHook provider, and it only pays off on close-up-heavy videos. If you don't already run Impact Pack and aren't fighting face consistency, skip it.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/drozbay/ComfyUI-WanVaceAdvanced
# restart ComfyUI
or ComfyUI Manager → "ComfyUI-WanVaceAdvanced", and additionally install ComfyUI-Impact-Pack for the DetailerHook side. The pack itself only needs numpy + scipy. A last tip: because the pipe is just data, you can build it once and feed multiple hook providers or iterate on vace_strength between runs without touching the main VACE encode - same tuning loop as VaceStrengthTester, aimed at the detailer pass instead.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| vace_strength | FLOAT | 1.000–1000 | — |
| control_videoopt | IMAGE | — | |
| control_masksopt | MASK | — | |
| vace_referenceopt | IMAGE | — | |
| phantom_imagesopt | IMAGE | — | |
| vace_ref_strengthopt | FLOAT | 1.000–1000 | — |
| vaeopt | VAE | VAE for encoding VACE data in DetailerHook |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| wva_pipe | WVA_PIPE | — |