Nodes/comfyui-humo-audio-motion/HuMo Lipsync Suppress (Attention)
ComfyUI Node

HuMo Lipsync Suppress (Attention)

HuMo lipsync suppression

By ckinpdx·Created 10 months ago·Updated 9 months ago· 1
HuMo Lipsync Suppress (Attention)
  • model
  • model
enabledtrue
suppression_strength0.05
block_start6
block_end24

HuMo lip-syncs well - sometimes that's the problem. ByteDance's audio-to-talking model, built on the Wan 2.1 14B base and run through Kijai's WanVideoWrapper, locks onto speech hard enough that every word shows up in the mouth, whether you want it to or not. This node is the one-button answer: attenuate the audio cross-attention pathway and let the character do whatever else the model does without flapping their lips in sync.

The blunt instrument version of the big knob

Where the pack's other node (HuMo Audio Attention Control v4) gives you twelve sliders across Q/K/V/O and block presets, this one does a single thing and does it well. It finds the audio cross-attention in a range of transformer blocks and scales down its Output projection - the final o in attention's Q/K/V/O chain, the last step before the audio influence lands. Multiply that by a small number and the audio's voice gets quieter in the model's ear.

The inputs, which are few

There are only four, and three of them are trivial:

  • enabled - on by default. Leave it in the graph and flip this to A/B the effect with a fixed seed.
  • suppression_strength - lower means more suppression. The author's tooltips are the spec: 0.05 is strong, 0.2 is mild. This is the slider you'll actually tune.
  • block_start / block_end - the range to patch, 0–39. Defaults are 6–24, the same mid-range the sibling node calls its "lipsync" preset, which is where HuMo's speech sensitivity concentrates.

The output is a single model wire (still WANVIDEOMODEL) that slots back into the HuMo graph in series with the loader. That's the whole circuit.

Installing it

Same pack, same story as its sibling:

cd ComfyUI/custom_nodes
git clone https://github.com/ckinpdx/comfyui-humo-audio-motion

Restart, or search "comfyui-humo-audio-motion" in ComfyUI Manager. No Python dependencies ship with it. What you do need is the HuMo stack it hooks into: Kijai's ComfyUI-WanVideoWrapper and the HuMo weights (fp8-scaled Wan2_1-HuMo-14B from Kijai's WanVideo_comfy_fp8_scaled repo) plus the Whisper audio encoder. And torch.compile must be off - runtime hooks don't survive compilation, so the node would silently do nothing.

The gotcha that bites

This pack's two nodes are mutual enemies. Both clear the other's hooks on every run - the suppress node wipes the control node's _attention_control_hooks, and vice versa. Whichever executes last wins. So don't stack HuMoLipsyncSuppressAttn and HuMoAudioAttentionControlV4 in one graph expecting both effects. Pick one. If you need suppression plus finer control, use the v4 node and just drop its audio_v_scale on the 6–24 blocks; if you just want the model to stop lip-syncing, this is the simpler tool.

One honest note: it's experimental, like everything in this pack. The console prints "Patched N blocks" so you can confirm the hooks actually registered - if N is zero, your model isn't the HuMo variant of the wrapper and there's nothing here to suppress. When it works, it's the fastest way to get a calm, non-lip-syncing performance out of a model whose whole job is usually the opposite.

CategoryWanVideoWrapper/HuMo

Inputs (5)

NameTypeDefaultDescription
modelWANVIDEOMODEL
enabledBOOLEANtrue
suppression_strengthFLOAT0.050.01–1Lower = more suppression. 0.05 is strong, 0.2 is mild
block_startINT60–39First block to suppress
block_endINT240–39Last block to suppress

Outputs (1)

NameTypeDescription
modelWANVIDEOMODEL