ComfyUI Node

SSR-Merge Loader

The boring half of SSR-Merge, and that's the point

By hybskgks28275·Created 2 months ago·Updated 2 months ago· 0
SSR-Merge Loader
  • model
  • clip
  • ssr_merge
  • model
  • clip
  • merge info
strength_model1.00

SSR-Merge Loader is the unglamorous finish line of a two-node workflow. SSR-Merge Calibration does all the interesting work - running a short sampling pass, collecting activation statistics, solving a per-layer router - and spits out an ssr merge payload. This node's entire job is to take that payload and apply it to your model like a normal LoRA. If calibration is the brains, this is the hands: small, boring, and exactly what you want it to be.

How it works

The mechanics are refreshingly un-mysterious. It receives the merged state dict from calibration, runs it through ComfyUI's standard LoRA conversion and key-mapping (comfy.lora_convert + comfy.lora.load_lora), then patches a clone of your model - just like the built-in LoraLoader does with any LoRA file. The one thing it adds on top is bookkeeping: it logs how many patches actually applied, which keys failed to land (warned in the console), and how long the load took, then appends that timing to the calibration info so you can see the whole pipeline's cost in one string.

That "applied vs. not loaded" logging is more useful than it sounds. If a calibration emitted a layer that can't map onto your current model - wrong architecture, mismatched keys - you'll see exactly which one instead of getting silent weirdness downstream.

What you set

Three inputs, one output you'll actually care about:

  • model and clip - pass through from your checkpoint loader, same as any LoraLoader.
  • ssr_merge - the payload from SSR-Merge Calibration. It's a custom SSR_MERGE type, so it only accepts the real thing; you can't fake it with a random file.
  • strength_model (default 1.0) - a global strength applied to the merged result, your one knob for dialing the whole merge up or down after calibration.

Outputs: model and clip to wire into your sampler, plus a merge info string that carries the calibration summary (layers, hooks, lambda, seed) and the loader timing.

Install and usage

Same pack as everything else here - ComfyUI-LoRA-Merge-EXPERIMENTAL - so install once via ComfyUI Manager ("LoRA Merge EXPERIMENTAL") or:

cd ComfyUI/custom_nodes
git clone https://github.com/hybskgks28275/ComfyUI-LoRA-Merge-EXPERIMENTAL

Restart, and you'll find it under loaders/LoRA. No requirements.txt, no model files, no API keys - just ComfyUI's own libraries. Two caveats that apply to the whole pack: it needs ComfyUI's V3 extension API (update ComfyUI if nodes don't appear), and the payload is an in-memory object - you can't save it to disk from this node, so if you want a stable merge you re-calibrate every run. The chain is SSR-Merge Calibration → SSR-Merge Loader → KSampler, and once you've seen it run once, you'll understand why the node is so minimal: all the cleverness happened three nodes back.

Categoryloaders/LoRA

Inputs (4)

NameTypeDefaultDescription
modelMODEL
clipCLIP
ssr_mergeSSR_MERGE
strength_modelFLOAT1.00-20–20

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
merge infoSTRING