Nodes/ComfyUI-WanActivationEditor/WanVideo Advanced Activation Editor
ComfyUI Node

WanVideo Advanced Activation Editor

Same block injection as the base editor, but with a strength curve instead of one knob

By fblissjr·Created about a year ago·Updated about a year ago· 9
WanVideo Advanced Activation Editor
  • model
  • text_embeds
  • injection_embeds
  • block_strengths
  • model
  • text_embeds
block_activations0000000000000000000000000000000000000000
enable_patchingtrue
uniform_strength0.50

The base WanVideoActivationEditor applies one injection_strength to every activated block. That's a great starting point, and honestly where you should begin. But the pack's own premise - that features are distributed unevenly across Wan's 40 blocks - suggests you'll eventually want more injection in the blocks that matter and less in the ones that don't. That's the idea behind this node: same runtime block injection, but driven by a per-block strength profile instead of a single float.

The mechanism matches the base editor - runtime patching of the model's 40 transformer blocks, injecting an alternative conditioning prompt into the cross-attention context of your chosen blocks, no fork of kijai's WanVideoWrapper. The difference is the strength vector. block_strengths comes from WanVideoBlockStrengthBuilder, which hands you a BLOCK_STRENGTHS object (a 40-value array plus the pattern name that generated it). If you don't connect one, uniform_strength (default 0.5) fills in as the fallback, so it behaves like the plain editor.

Inputs & outputs

  • model, text_embeds - required, same types as the base editor.
  • block_activations - the 40-char 0/1 string; build it with WanVideoBlockActivationBuilder.
  • block_strengths - optional BLOCK_STRENGTHS from the strength builder.
  • uniform_strength - fallback float if no strength profile is attached.
  • enable_patching - on by default; the injection won't apply at generation time if it's off.

Outputs are model and text_embeds, passed through to your sampler exactly like the base editor. If you've seen the base editor article, nothing here surprises you.

The honest caveat

I'll say this plainly because you'd otherwise spend an hour chasing a phantom: per-block strength is the aspirational part of this pack. The node builds the full config - block_strengths: {block_index: strength} - and stores it in transformer_options, but the runtime patch code in activation_patch.py currently consumes the editor's single injection strength rather than the per-block map. Read the source comments and you'll see the author flagging this themselves: "The actual patching would need updates to support per-block strengths."

So treat this node as forward-looking scaffolding. The strength-profile plumbing is real, the visualization is real, and the BLOCK_STRENGTHS type is wired through - but if your carefully sculpted gaussian peak produces the same result as a uniform 0.5, that's not you doing it wrong, it's the feature being half-implemented in this build. The safest use today is as a drop-in replacement for the base editor with uniform_strength, while you keep an eye on the repo for the patch code catching up.

Install & troubleshooting

Same pack, same ritual - ComfyUI Manager (search "ComfyUI-WanActivationEditor"), or:

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. The usual gotchas apply: prompts that differ by less than ~50% produce no visible effect (use WanVideoEmbeddingAmplifier to fix that), FP8 quantization crushes differences, and "No blocks found" means update WanVideoWrapper. If you need to verify a pattern before you trust it, WanVideoStrengthVisualizer will render the strength curve you built.

CategoryWanVideoWrapper/Advanced

Inputs (7)

NameTypeDefaultDescription
modelWANVIDEOMODEL
text_embedsWANVIDEOTEXTEMBEDS
block_activationsSTRING0000000000000000000000000000000000000000
enable_patchingBOOLEANtrue
injection_embedsoptWANVIDEOTEXTEMBEDS
block_strengthsoptBLOCK_STRENGTHS
uniform_strengthoptFLOAT0.500–1

Outputs (2)

NameTypeDescription
modelWANVIDEOMODEL
text_embedsWANVIDEOTEXTEMBEDS