Load ControlNet (tooling-nodes)
Load Anima LLLite control weights (structural control for a model that had none)
- model
- model
- control_net
Here's the context that makes this niche node interesting. Anima, the 2B anime base that had people actually switching off Illustrious in 2026, shipped with one glaring gap: no ControlNet. No pose, no depth, no canny - the single biggest functional hole versus the SDXL anime models it competes with. ETN_control_load is part of the answer. It loads control weights for Anima using kohya's LLLite method, and it's one of the few structural-control paths that exists for the model at all.
It lives in Acly's tooling-nodes pack, adapted from kohya-ss/ComfyUI-Anima-LLLite. The node's own description is refreshingly blunt about its scope: "Loads ControlNet weights. Currently only supports Anima LLLite weights." So this is not a general ControlNet loader - point it at anything else and it won't work. It's Anima's LLLite, specifically.
How it works
LLLite (ControlNet-LLLite) is the lightest member of the ControlNet family. Instead of a full trainable copy of the model's encoder, it's a small LoRA-like module injected at attention and MLP points - the KB describes it as taking the idea "furthest in that direction: a lightweight, LoRA-like module... rather than a copied encoder at all." That architecture is why this loader outputs a patched model alongside the control object: LLLite works by modifying the model itself, not by producing a separate conditioning branch.
You load the weights here, then hand the resulting control object plus the (now-prepared) model to ETN_control_apply, which is where you supply the actual control image and strength. Load, then apply - two nodes, same as the standard ControlNet pair.
The inputs and outputs that matter
model(MODEL) - your Anima model. LLLite patches it, so it goes in here and comes back out prepared.weights(COMBO) - which LLLite control-weight file to load. The dropdown lists whatever Anima LLLite weights you've installed; pick the one matching the kind of control you want (e.g. the condition type it was trained for).
Outputs:
model(MODEL) - the model, prepared for LLLite control. Pass this forward to ETN_control_apply.control_net(ETN_CONTROL_NET) - the loaded control object, also into ETN_control_apply. Note this is the pack's ownETN_CONTROL_NETtype; it does not connect to standard ControlNet Apply nodes.
How to install it
Ships in the tooling-nodes pack. ComfyUI Manager: search ComfyUI Nodes for External Tooling, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Acly/comfyui-tooling-nodes.git
then restart. The node code is light, but the LLLite weight files are a separate download - you need Anima LLLite control weights placed where ComfyUI can find them, or the weights dropdown will be empty. And you obviously need an Anima checkpoint, since that's the only thing this supports.
Common issues & troubleshooting
The weights dropdown is empty. No LLLite weight files are installed. Download Anima LLLite control weights and drop them in your models folder; the combo populates from what's on disk.
It doesn't work with my model. By design - the description says Anima LLLite only. Standard ControlNet models, SDXL ControlNets, Flux control - none of them load here. Use this exclusively with Anima and its LLLite weights.
The control_net output won't connect to my Apply ControlNet node. It's an ETN_CONTROL_NET, a type specific to this pack. Wire it into ETN_control_apply, not the built-in ControlNet Apply. The load/apply pair only talks to itself.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| weights | COMBO | 0 options: |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| control_net | ETN_CONTROL_NET | — |