Nodes/ComfyUI_StarNodes/⭐ Star Dynamic LoRA Weight
ComfyUI Node

⭐ Star Dynamic LoRA Weight

The fix for stacked LoRA weights melting distilled models

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star Dynamic LoRA Weight
  • model
  • model
  • info
modenormalize
target_weight1.00
lora1_nameNone
strength1_model1.00

Stack three LoRAs on a Turbo or Lightning model and there's a good chance your image turns to noise - not because the LoRAs are bad, but because distilled models have almost no headroom for additive weights. Distillation compresses the whole denoising trajectory into a few steps, which is exactly why it breaks when you pile on strength (the KB is blunt: every distillation loses some quality, and the settings are unforgiving). Star Dynamic LoRA Weight (class StarLoraWeightNormalizer) is the damage-control node: it manages how much of each LoRA actually reaches the model, in two different philosophies.

How it works

Feed it a model and up to a stack of LoRAs (lora1_name plus strength1_model, and more slots as needed). The mode dropdown chooses the strategy:

  • normalize - keeps the relative proportions of your weights but scales them down so they sum to your target_weight (default 1.0). The brief's example is the clearest: weights [0.8, 0.6, 0.4] become [0.44, 0.33, 0.22] - same balance, total 1.0. Each LoRA is applied separately at its reduced strength. This is the safe default for "a bit of each, don't blow the model up."
  • blend - merges all the LoRAs into one combined adapter at equal ratios and applies it as a single LoRA at target_weight strength. One combined effect, one strength knob. Good when you want the mixture to read as a unified style rather than three competing tweaks.

target_weight means slightly different things per mode (sum target vs. merged strength) - the tooltip says it plainly, and it's the input you'll actually fiddle with. The info STRING output reports what the node did, which is a nice sanity check when you're debugging why a look isn't coming through.

Inputs and outputs

  • model - the model to patch.
  • mode - normalize or blend.
  • target_weight - 0–10, default 1.0; the sum (normalize) or merged strength (blend).
  • lora1_name / strength1_model - first LoRA and its weight (more slots are added as needed).
  • model (out) - the patched model for your sampler. info (out) - STRING summary.

Where it fits

Any multi-LoRA workflow on a distilled base - SDXL Turbo/Lightning, FLUX Schnell-family, the whole fast-tier stack - where "1.0 each" visibly breaks the output. Start in normalize mode with target 1.0, and if the result feels weak, raise the target rather than a single LoRA's strength.

Installing

Part of the StarNodes pack - install Starnodes via ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt

Restart, then search star on the canvas. No models to download; it reads LoRAs from your existing models/loras folder.

Common issues

If normalize mode with target 1.0 still looks too strong, that's expected on heavily distilled models - drop the target to 0.7 or 0.8; some users run 0.5. If a LoRA shows as None in the dropdown, it's not in models/loras yet. And blend mode with wildly different LoRA types (a style LoRA and a character LoRA) can wash both out - blend is for similar-flavored adapters; keep different jobs in normalize mode.

Category⭐StarNodes/Sampler

Inputs (5)

NameTypeDefaultDescription
modelMODELModel to apply LoRAs to.
modeCOMBOnormalizeNormalize: scale weights down | Blend: merge LoRAs together
target_weightFLOAT1.000–10Normalize: target sum of weights | Blend: strength of merged LoRA
lora1_nameoptCOMBONoneFirst LoRA to apply.
strength1_modeloptFLOAT1.00-100–100

Outputs (2)

NameTypeDescription
modelMODEL
infoSTRING