Nodes/SEngine/SEngine LoRA Loader
ComfyUI Node

SEngine LoRA Loader

SEngine's auto-downloading Klein 9B gatekeeper

By sworksteam·Created 8 months ago·Updated 8 months ago· 1
SEngine LoRA Loader
  • model
  • clip
  • MODEL
  • CLIP
overall_strength1.00
sengine_data{}

The name is doing a lot of work. SEngine LoRA Loader isn't a loader you drive - it's a loader that gets driven. Pick LoRAs in the SEngine sidebar, and this node quietly materializes in your workflow, already populated, downloads whatever it doesn't have, and applies it. Your only real job is wiring it between your checkpoint and your sampler.

Here's the thing you need to know before you care about any of that: SEngine is a closed ecosystem. It's the official ComfyUI front end for SWORKS_TEAM's LoRA catalog, which is a flood of free style LoRAs trained on Flux.2 Klein 9B and klein-9b-base. If you've poked around Civitai's Klein tag lately you've seen them - dozens released in a single day, all free, all a bit samey-looking. Some people love them for style transfer, some people called it tag spam and blocked the account. Whichever camp you're in, the node only exists to make that specific catalog painless. It is not a general-purpose LoRA loader; for stacking LoRAs from anywhere, rgthree's Power Lora Loader is the community standard and always will be. Reach for SEngine when you're going all-in on the SWORKS_TEAM Klein 9B catalog and want the browsing-plus-downloading experience without leaving ComfyUI.

How it actually works

Mechanically, the node is a smart pass-through. It reads one string widget, sengine_data, which is JSON the sidebar writes - a list of LoRAs with their Civitai version IDs, strengths, and a download_url. For each entry it checks a local cache in models/loras/, and if the file isn't there it downloads it on the spot (with progress in the sidebar) using the Civitai API key you saved in Settings. It then loads the safetensors and applies them one after another with ComfyUI's built-in load_lora_for_models, in the order the sidebar lists them. Reordering matters - LoRA application order is real, so the ▲/▼ buttons in the sidebar aren't decoration.

Two details are worth knowing. First, the node's IS_CHANGED returns a nonce, so it re-executes every run rather than caching its result - which is how a change in the sidebar takes effect without you re-plugging cables. Second, every downloaded LoRA is cached in RAM after first load, which is why a LoRA-heavy workflow can eat memory over time; that's what the "Clear LoRA Memory Cache" button in the Settings tab is for.

The inputs that matter

Most of the schema you'll never touch - the sidebar fills sengine_data for you, and hand-editing it is a recipe for a JSON parse error that silently passes your model through unmodified.

  • model (MODEL) - your base checkpoint's model output. Feed it from Load Diffusion Model / Load Checkpoint.
  • overall_strength (FLOAT, 0–1, default 1.0) - a master multiplier applied on top of each LoRA's individual strength. Set a combo to 0.6 overall instead of nudging five sliders.
  • sengine_data (STRING) - the JSON payload from the sidebar. Leave it alone.
  • clip (CLIP, optional) - wire your checkpoint's CLIP through here so text-encoder LoRA weights apply too.

It outputs MODEL and CLIP, which continue on to your text encoder and sampler exactly like any other LoRA loader's. The flow is Checkpoint → MODEL/CLIP → SEngine LoRA Loader → MODEL → BasicGuider (or whatever sampler).

Installing it

Easiest: ComfyUI Manager, search "SEngine", install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/sworksteam/SEngine
pip install -r SEngine/requirements.txt

Then restart ComfyUI. The requirements are light - Pillow, numpy, requests, blurhash - so nothing heavy to pull. There are no model files to download for the pack itself; the LoRAs come later, on first use, which is exactly the point. You will need a free Civitai API key (Account Settings → API Keys) pasted into the SEngine Settings tab, or downloads will fail with a popup pointing you there. The sidebar itself needs a recent ComfyUI with sidebar support - if you're on a build from before the sidebar landed, the bolt icon simply won't appear.

Where people get burned

The classic failure loop is LoRAs that don't load: nine times out of ten it's a missing or expired API key, and the refresh button in the LoRAs tab is the other fix. Downloads failing mid-file are handled automatically - the pack detects corrupted safetensors and re-downloads them. And the upload-to-Civitai half of SEngine (session cookie, auto-tagging) is a separate feature with nothing to do with this node, so ignore it if you're just here to generate. If it all feels like a lot of machinery to load a LoRA you could've dragged into a regular loader: yes. That's the trade for never hunting a version ID or wondering whether the file on disk is current.

Categoryloaders

Inputs (4)

NameTypeDefaultDescription
modelMODEL
overall_strengthFLOAT1.000–1
sengine_dataSTRING{}
clipoptCLIP

Outputs (2)

NameTypeDescription
MODELMODEL
CLIPCLIP