Nodes/ComfyUI_agilly1989_motorway/DiffControlNetLoader_motorway_edition
ComfyUI Node

DiffControlNetLoader_motorway_edition

Load a ControlNet as a model diff, into the Motorway

By agilly1989·Created 2 years ago·Updated about a year ago· 7
DiffControlNetLoader_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_model_keymodel
control_net_name
OUTPUT_CONTROL_NET_keyCONTROL_NET

Most ControlNet loaders just read the file. DiffControlNetLoader does something sneakier: it loads a ControlNet as a diff against a specific diffusion model. Give it the model and a control_net_name, and instead of handing back a standalone CONTROL_NET, it computes the ControlNet's weights as a patch derived from that model - which is how some ControlNet formats are stored and applied. The _motorway_edition version does all of that from the Motorway bus.

Why it exists

ControlNet files come in two flavors. The usual one (handled by ControlNetLoader) contains full weights you just load. The diff flavor assumes you already have the base model in memory and only stores the difference - load it against the wrong model and you get garbage, or a crash. DiffControlNetLoader exists for that second format: it takes the model explicitly so the diff has something to diff against. In the Motorway world that means your base MODEL has to be parked in the bus first, and the loaded CONTROL_NET gets parked under your output key.

Inputs and outputs

  • MOTORWAY 🚌💨 - the bus, required.
  • INPUT_model_key - key of the base MODEL the diff is computed against, default model.
  • control_net_name - the dropdown of files in ComfyUI/models/controlnet. A widget, set directly on the node.
  • OUTPUT_CONTROL_NET_key - where the resulting CONTROL_NET goes, default CONTROL_NET.

Output: the Motorway. Later ControlNetApply*_motorway_edition nodes read the control net back out by key.

Installing

Same pack install as every node here:

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

Restart, or ComfyUI Manager → "ComfyUI_agilly1989_motorway". No pip deps; you provide the model files.

Caveats and the one trap

Pack-wide notes: active beta, "BIG BROKEN WITH ASYNC" README banner, _motorway_edition clones commented out of __init__.py in the version I checked (re-enable ClonedNodeMapping if missing), keys are exact and case-sensitive (hash_ error = key not in bus).

The real trap is using this loader for a ControlNet that isn't a diff - you'll either get an error or a silently wrong result. If a plain ControlNetLoader works for your file, it's not a diff, and this node was never the right call. When you genuinely have diff-format weights (they show up in some older SD1.5/SDXL releases), this is the loader that makes them behave - just make sure the model key you feed it matches the base the diff was trained against.

Categoryagilly1989 Nodes/Motorway-ed/loaders

Inputs (4)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_model_keySTRINGmodel
control_net_nameCOMBO0 options:
OUTPUT_CONTROL_NET_keySTRINGCONTROL_NET

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨