WanVideo Guidance Controller
Blend two prompts with classifier-free guidance instead
- model
- main_conditioning
- injection_conditioning
- guidance_config
The core of this pack is block-level patching - surgical, powerful, and fiddly, with a 40-character activation string and runtime forward-method wrapping. This node is the pack admitting that sometimes you want the effect without the surgery. It's the "pseudo-activation" path: instead of injecting a second prompt into specific transformer blocks, it blends two conditioning paths through the guidance mechanism itself, like a softer, cleaner sibling that solves 80% of the same problems.
Here's the mechanism in plain terms. Wan uses classifier-free guidance - the sampler denoises toward your positive prompt while pulling away from an unconditional (or negative) reference, with the contrast controlled by the CFG scale. This node builds a mixed guidance: your main conditioning gets cfg_scale (default 6) of pull, and your injection conditioning gets its own injection_scale (default 3), with blend_start (0.0) and blend_end (1.0) defining over what fraction of the denoising trajectory the injection conditioning is active. The result is a GUIDANCE_CONFIG object - and, more importantly, the config gets stored on the model so the sampler uses it.
Inputs are model, main_conditioning, injection_conditioning (both WANVIDEOTEXTEMBEDS - yes, this is one of the nodes where you can connect the pack's types to non-patching functionality), and the four floats above. The single output, guidance_config, is a readout of what you configured.
Why you'd reach for it (and what to expect)
Three honest reasons. First: it's dead simple. No activation strings, no block builder, no patching status to babysit. Two WanVideoTextEncode nodes and you're done. Second: it's gentler. Where block injection with strength 1.0 replaces context and can wreck a render, guidance blending is a gradient - you can push injection_scale up from 3 and watch effects ramp in gradually instead of flipping a switch. Third: the blend_start/blend_end pair is a real tool for video - it lets you confine the injection's influence to a portion of the denoising schedule, which is a crude but effective way to bias early structure versus late detail.
Temper expectations, though: this is "pseudo-activation," and the pack's own category (Alternative) is honest about it. It does not give you per-block control, it doesn't map features by depth, and the GUIDANCE_CONFIG is a contract the sampler is expected to honor - the enforcement lives in the wrapper, so keep WanVideoWrapper current. Use it when you want the hybrid-concept effect without committing to the block-patching rig.
Install & troubleshooting
Same pack, WanVideoWrapper required first:
cd ComfyUI/custom_nodes
git clone https://github.com/kijai/ComfyUI-WanVideoWrapper # required first
git clone https://github.com/fblissjr/ComfyUI-WanActivationEditor
cd ComfyUI-WanActivationEditor && pip install -r requirements.txt
Restart ComfyUI (ComfyUI Manager: search "ComfyUI-WanActivationEditor"). Deps: torch, numpy, duckdb, zstandard.
If you set it up and see no effect at all, the usual suspects apply - prompts too similar (the amplifier fixes that), or a stale wrapper. And note the difference from the main editor: here the two prompts get independent scales, so the way to dial up an effect is raising injection_scale, not cfg_scale. Crank cfg_scale first and you'll just get a harder version of your main prompt.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| model | WANVIDEOMODEL | — | |
| main_conditioning | WANVIDEOTEXTEMBEDS | — | |
| injection_conditioning | WANVIDEOTEXTEMBEDS | — | |
| cfg_scale | FLOAT | 6.00–20 | — |
| injection_scale | FLOAT | 3.00–20 | — |
| blend_start | FLOAT | 0.000–1 | — |
| blend_end | FLOAT | 1.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| guidance_config | GUIDANCE_CONFIG | — |