Nodes/LoRTnoC-ComfyUI/LortnocLoader
ComfyUI Node

LortnocLoader

The ControlNet that mostly fits in your LoRA folder

By laksjdjf·Created 2 years ago·Updated 2 years ago· 13
LortnocLoader
  • model
  • image
  • MODEL
file_name
strength_lora1.00
strength_hint1.00

Decode the name and you basically get the pitch: LoRA with a hint block of ControlNet. One tiny safetensors file that is both a LoRA and a miniature control network, so you can steer a pose or a canny edge map on an SDXL-era anime model without dragging in a 2.5 GB ControlNet. Real ControlNet is the serious tool here - this is the scrappy, ~10 MB cousin that got you maybe 80% of the vibe for a fraction of the disk and VRAM.

What you're actually getting

LortnocLoader is a single-node hybrid. Point it at a checkpoint, feed it an image, pick one of the .safetensors files from furusu/lortnoc on Hugging Face, and it returns a patched MODEL that goes straight into your KSampler. The released files were trained against Animagine XL - canny, depth, HED, fake_scribble, lineart_anime, and pose variants - so realistically this is an anime-SDXL toy. The author, laksjdjf, is the same person behind the attention-couple regional-prompting nodes from the same era. It's an experiment, and an abandoned one: last commit and last model upload were both March 2024, and it never got a reddit mention anywhere. Enjoy it as a curiosity with a genuinely clever trick inside, not as something to build a production pipeline on.

How it works

Each model file carries two kinds of weights. The keys containing lora get applied the normal way via load_lora_for_models - that's your standard low-rank patch. Everything else gets loaded into a ControlNetConditioningEmbedding, the same conv-stack with a zero-initialized output layer that diffusers ControlNet uses, which downsamples your input image down to a 320-channel hint. Then a model patch adds hint * strength_hint onto the first UNet input block only - that single-point injection is the whole "hint block." It's cheap, and it's much cruder than real ControlNet, which runs a duplicated encoder and injects at every block. That's the honest trade-off: LoRA-sized file, LoRA-fidelity control.

The inputs that matter

  • model - any MODEL; realistically an Animagine XL checkpoint.
  • image - the preprocessed condition, not your raw photo. Feed the canny edge map into animagine_canny_lortnoc.safetensors, a depth map into the depth one, and so on. Grab the maps from the usual preprocessor nodes.
  • file_name - dropdown populated from your models/controlnet folder.
  • strength_lora and strength_hint - both default to 1.0, range −20 to 20. Negative values work (they push away from the hint). If both are 0, the node short-circuits and hands your model back untouched.

The single output is a patched MODEL; wire it into your KSampler's model input and you're done.

Installing it

ComfyUI Manager, search "LoRTnoC", install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/laksjdjf/LoRTnoC-ComfyUI

Then restart ComfyUI. There's no requirements.txt and no torch dependency beyond what ComfyUI already ships - this pack is just node.py plus a small embedding module. The real install step is the models: download the files from the HF repo and drop them into ComfyUI/models/controlnet/. Yes, really, the controlnet folder, not loras - the loader reads folder_paths.get_filename_list("controlnet"), and the README shrugs about it ("put them in the same place as controlnet… too sloppy?"). That is the one thing that trips everyone up.

Where people get burned

  • The dropdown is empty → files aren't in models/controlnet. That's the whole fix.
  • Mushy, unconvincing structure → you fed it a raw image instead of the matching preprocessed map, or you're expecting real ControlNet fidelity. Drop to ~0.6–0.8 on strength_hint for looser guidance, or reach for an actual ControlNet if structure is the whole point of the job.
  • It's SDXL-only in practice - the files were trained on Animagine XL, and like every LoRA-era artifact it won't transfer to Flux or the 2026 bases. On those, use a proper union ControlNet.
Categoryloaders

Inputs (5)

NameTypeDefaultDescription
modelMODEL
imageIMAGE
file_nameCOMBO0 options:
strength_loraFLOAT1.00-20–20
strength_hintFLOAT1.00-20–20

Outputs (1)

NameTypeDescription
MODELMODEL