LortnocLoader
The ControlNet that mostly fits in your LoRA folder
- model
- image
- MODEL
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/controlnetfolder. - 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_hintfor 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.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| image | IMAGE | — | |
| file_name | COMBO | 0 options: | |
| strength_lora | FLOAT | 1.00-20–20 | — |
| strength_hint | FLOAT | 1.00-20–20 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |