Nodes/ComfyUI-WanActivationEditor/WanVideo Guidance Controller
ComfyUI Node

WanVideo Guidance Controller

Blend two prompts with classifier-free guidance instead

By fblissjr·Created about a year ago·Updated about a year ago· 9
WanVideo Guidance Controller
  • model
  • main_conditioning
  • injection_conditioning
  • guidance_config
cfg_scale6.0
injection_scale3.0
blend_start0.00
blend_end1.00

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.

CategoryWanVideoWrapper/Alternative

Inputs (7)

NameTypeDefaultDescription
modelWANVIDEOMODEL
main_conditioningWANVIDEOTEXTEMBEDS
injection_conditioningWANVIDEOTEXTEMBEDS
cfg_scaleFLOAT6.00–20
injection_scaleFLOAT3.00–20
blend_startFLOAT0.000–1
blend_endFLOAT1.000–1

Outputs (1)

NameTypeDescription
guidance_configGUIDANCE_CONFIG