Nodes/ComfyUI-Advanced-ControlNet/T2IAdapter Soft Weights πŸ›‚πŸ…πŸ…’πŸ…
ComfyUI Node Runs on cloud

T2IAdapter Soft Weights πŸ›‚πŸ…πŸ…’πŸ…

The same soft-weight trick, sized for T2I-Adapters

By KosinkadinkΒ·Created 3 years agoΒ·Updated 8 days agoΒ· 993
T2IAdapter Soft Weights πŸ›‚πŸ…πŸ…’πŸ…
  • cn_extras
  • CN_WEIGHTS
  • TK_SHORTCUT
β—„weight_000.250β–Ί
β—„weight_010.620β–Ί
β—„weight_020.825β–Ί
β—„weight_031.000β–Ί
β—„flip_weightsfalseβ–Ί
β—„uncond_multiplier1.00β–Ί

This is SoftControlNetWeights' sibling, built for T2I-Adapters instead of full ControlNets. T2I-Adapters are the lighter-weight alternative to ControlNet - Advanced-ControlNet lists them explicitly among the conditioning types it supports alongside ControlNets, ControlLoRAs, ControlLLLite, SparseCtrl, SVD-ControlNets, and Reference - and because they're architecturally shallower, they need a different-shaped weights node than the full ControlNet one. If you loaded a T2I-Adapter and reached for SoftControlNetWeights, you'd hit a weight-type mismatch; this is the one built for that job.

How it works

Same idea as SoftControlNetWeights - replicate Auto1111's "My prompt is more important" feature by tapering the adapter's strength across its internal blocks rather than applying one flat number - just scaled down to match a T2I-Adapter's structure: four blocks instead of thirteen. The defaults (weight_00 through weight_03: 0.25, 0.62, 0.825, 1.0) form the same shape of curve as the ControlNet version - light early, ramping to full strength by the last block - just compressed into fewer steps because there's less architecture to spread it across.

As with the ControlNet version, most people leave the four sliders at their defaults; they're there for hand-tuning, but the shipped curve is the point.

The inputs and outputs that matter

  • weight_00 – weight_03 - the four per-block values (0–10, defaults 0.25 / 0.62 / 0.825 / 1.0).
  • flip_weights (default false) - reverses the curve direction, front-loaded instead of back-loaded.
  • uncond_multiplier (optional, default 1.0) - the "ControlNet is more important" side of the pair; 0.0 reproduces Auto1111's original behavior, values between 0 and 1 give finer control than the original extension had.
  • cn_extras (optional) - side channel for architecture-specific extras (the Anima LLLite inpainting path is the one documented use).

Outputs: CN_WEIGHTS - feeds a Timestep Keyframe's cn_weights input, or Apply Advanced ControlNet's weights_override if you want it locked in across every timestep (the README is explicit that the override ignores any other schedule you've set up). TK_SHORTCUT - the same weights pre-packaged as a ready-made Timestep Keyframe, for when you don't need any of that node's other scheduling features.

How to install it

Through ComfyUI Manager: search "ComfyUI-Advanced-ControlNet", install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet

then restart. No model downloads, no heavy dependencies - same as the rest of the pack, it's math layered on top of a model you've already loaded elsewhere.

Common issues & troubleshooting

"weight types are compatible" error. The inverse of the ControlNet version's problem: if you loaded a full ControlNet (not a T2I-Adapter) and wired this node in, it won't validate. Use SoftControlNetWeights for standard ControlNets and save this one for actual T2I-Adapter loads.

Confusing this with the ControlNet version at a glance. They look nearly identical in the UI - same output types, same general shape - so if a workflow suddenly throws a weight-mismatch error after you swapped which loader feeds it, this pairing mismatch is the first thing to check.

Expecting the same fine-grained control as the 13-slider version. With only four blocks to work with, T2I-Adapter soft weighting is inherently coarser than the ControlNet version. If you need finer per-layer control than four sliders give you, that's a structural limit of T2I-Adapters themselves, not something this node can work around.

Inputs (7)

NameTypeDefaultDescription
weight_00FLOAT0.2500–10β€”
weight_01FLOAT0.6200–10β€”
weight_02FLOAT0.8250–10β€”
weight_03FLOAT1.0000–10β€”
flip_weightsBOOLEANfalseβ€”
uncond_multiplieroptFLOAT1.000–1β€”
cn_extrasoptCN_WEIGHTS_EXTRASβ€”

Outputs (2)

NameTypeDescription
CN_WEIGHTSCONTROL_NET_WEIGHTSβ€”
TK_SHORTCUTTIMESTEP_KEYFRAMEβ€”