ComfyUI Node

Power Lora Selector

Stack a dozen LoRAs in one node, toggle each row on and off

By kinorax·Created 4 months ago·Updated 25 days ago· 2
Power Lora Selector
  • lora_stack
  • lora_stack
items[]

IPT-PowerLoraSelector is the Info-Prompt-Toolkit pack's take on the multi-LoRA loader: one node, as many LoRA rows as you want, each row with its own on/off toggle, LoRA pick, and strength. If you've used rgthree's Power Lora Loader - the community's default answer for "load a stack of LoRAs with per-entry toggles" - the interaction is immediately familiar. The difference is what comes out the other side.

Where a normal LoRA loader hands you a patched model, this node outputs an IPT-LoraStack: a compact description of which LoRAs at what strengths. That stack travels through the pack's image_info object, gets recorded in the saved metadata, and comes back out when you load the image with Image Reader. In other words, your LoRA stack stops being a set of widgets you have to remember and becomes part of the image's reusable generation data. Connect the output to Load New Model, Use Loaded Model, or Image Info Context and the stack is applied and saved in one move.

How it works

The node's real face is its row editor. items is a JSON string the frontend renders as an interactive list - each row has the LoRA name, a strength, an on/off toggle, model info, and a remove control. (The README also mentions a right-click View Model Info... that looks up the selected LoRA's Civitai metadata by SHA256, and can show a tag list for it.) At execution, the node parses the rows, skips anything disabled, resolves each LoRA name against your loras folder, and appends each enabled row as a stack entry. A connected lora_stack input gets used as the starting point, so you can chain selectors. Strengths are clamped to the -100..100 range, and a malformed row raises a clear, numbered error instead of failing silently.

The inputs that matter

  • items - the row editor's JSON. You'll edit it visually, not by typing JSON.
  • lora_stack - optional existing stack to append the enabled rows onto.

One output: lora_stack, feeding the pack's model-loading or image-info nodes.

Installing it

Part of the IPT pack - install once, restart ComfyUI:

cd ComfyUI/custom_nodes
git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
cd comfyui-info-prompt-toolkit
pip install -r requirements.txt

ComfyUI Manager works too (search "ComfyUI-Info-Prompt-Toolkit"). No model downloads for the node itself - the LoRAs are whatever you already have in ComfyUI/models/loras.

Where people get burned

The stack is metadata, not a live patched model - if you bypass the pack's loader path (say, by feeding the stack to something that expects a MODEL), nothing will be applied and you'll get an inscrutable type error. Double-check that the lora_stack output lands in a node that consumes IPT-LoraStack. Also remember the stack is order- and strength-sensitive: the pack's caching treats a different order or different strength as a different condition, so rows you shuffle will re-run the load rather than hit cache. And if items ever gets corrupted to invalid JSON, the node stops with a message naming the row - read the row number it gives you before editing.

CategoryInfo-Prompt-Toolkit/ImageInfo

Inputs (2)

NameTypeDefaultDescription
itemsSTRING[]JSON rows used by the Power Lora Selector editor
lora_stackoptIPT-LoraStackOptional LoRA stack to append the enabled rows to

Outputs (1)

NameTypeDescription
lora_stackIPT-LoraStack