Boyo VACE Model Viewer
The Debug Node That Peeks Inside Your Patched Model
- model
- model
Model-patching nodes are a pain to debug. BoyoVACEInjector writes VACE control data onto your model as attributes, but how do you know the data actually landed, with the right shape, on the right object? BoyoVACEViewer is the answer: a diagnostic node that takes a model, scans it for VACE-related attributes, and logs what it finds to the console. It's a flashlight in a dark pipeline - and the only thing it changes is your ability to see.
What it checks
The node walks the model and its inner objects (model.model, model.diffusion_model, and so on), looking for the attribute names VACE pipelines use: src_ref_images, vace_context, ref_images, vace_control, image_embeds, vace_embeds, vace_start_percent, vace_end_percent, vace_strength, and has_vace_control. For each one found, it logs the attribute and its value - tensors are logged with their shape, scalars with their type and value.
So the workflow is: inject, inspect. Run BoyoVACEInjector, pass the output model through BoyoVACEViewer, and read the console. Did vace_context get attached? What shape is it? Did vace_strength make it onto the object your sampler will actually read? All answered in one log dump.
The output
It returns the model unchanged. That's not a cop-out - it's deliberate, so you can drop the viewer into the middle of a chain without altering behavior:
Model → VACE Injector → VACE Viewer (logs, passes through) → Sampler
If nothing VACE-related is found, it tells you that too - "No VACE attributes found" at each model level - which is exactly the diagnostic you need when control data is mysteriously not arriving at the sampler.
Where it fits
Any Wan VACE workflow using model-level injection. It's a debugging aid first and foremost: when your control image isn't influencing the output, the first question is whether the data made it onto the model. This node answers that in one run instead of an afternoon of guessing. It's also handy when mixing pack versions - if you upgraded ComfyUI or WanVideoWrapper and VACE stopped working, the viewer shows whether the attributes the new version expects are actually present.
Installing it
Ships with Boyonodes (DragonDiffusionbyBoyo):
cd ComfyUI/custom_nodes
git clone https://github.com/DragonDiffusionbyBoyo/Boyonodes
Restart ComfyUI or install "Boyonodes" via ComfyUI Manager. No extra dependencies.
Gotcha
- Everything it reports goes to the console (the terminal where ComfyUI runs), not to the UI. If you're watching only the browser, you'll see nothing and think it's broken.
Underscore of the pack - no image out, no conditioning out, just truth about your model object. When VACE control "isn't working," this is where you start.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |