Nodes/ComfyUI_Eugene_Nodes/LoRA Preset List Loader & Encoder
ComfyUI Node

LoRA Preset List Loader & Encoder

The LoRA Stacker That Lets You Swap Presets Without Rewiring

By JEONG-JIWOO·Created 2 years ago·Updated 9 months ago· 2
LoRA Preset List Loader & Encoder
  • input_dictionary
  • model
  • clip
  • vae
  • basic_pipe
  • dict_bus
  • preset_list
  • input_dict
  • model
  • clip
  • vae
  • positive_conditioning
  • negative_conditioning
  • basic_pipe
  • positive_prompt
  • negative_prompt
◄positive_prefix—►
◄positive_suffix—►
◄negative_prefix—►
◄negative_suffix—►
◄stop_at_clip_layer-1►

The LoRA Preset List Loader & Encoder is the sibling of the pack's five-slot loader, and it's the one that turns "swap the LoRA stack" into a click instead of a rewiring session. Instead of fixed lora_1 through lora_5 slots, it takes a list of preset file paths and applies them in order. That list usually comes from the LoRA Preset Selector, which is how you get a dropdown on the graph that swaps entire stacks while the workflow stays untouched.

How it works

The mechanics are nearly identical to the five-slot loader: it assembles a prompt from positive_prefix + each preset's prompt + positive_suffix, cleans it, applies CLIP skip via stop_at_clip_layer, and encodes both conditionings with the modified CLIP. The difference is where the LoRA list comes from and how strength is handled.

  • Preset list from preset_list - a LIST of preset file paths, typically the lora_list output of a LoraPresetSelector, or the list slot inside a dict_bus.
  • It honors each preset's own numbers. Here the loader reads the preset file's stored strength and its separate clip_strength (you set both in the Saver). The five-slot loader forces CLIP strength to equal model strength; this node does not, so it's the one to reach for when you've tuned a preset's clip strength deliberately.

The LoRAs are applied in list order, front to back, and that order matters - the community rule of thumb is larger-affecting LoRAs first, finer ones later. Since the selector lets you reorder by rebuilding the list, this node makes experimenting with stacking order painless.

The inputs and outputs that matter

Required inputs are the same prompt wrap and CLIP skip quartet: positive_prefix, positive_suffix, negative_prefix, negative_suffix, stop_at_clip_layer (default −1, set to −2 for many anime LoRAs). The optional side takes input_dictionary (for {key} placeholders in your prompt text), model / clip / vae either direct or via basic_pipe / dict_bus, and the all-important preset_list.

Outputs match the five-slot loader exactly: model, clip, vae, both conditionings, a basic_pipe bundle, the input_dict passthrough, and the assembled positive_prompt / negative_prompt strings so you can verify what it actually wrote.

Installing it

Same pack, same story - nothing extra to install beyond the clone:

cd ComfyUI/custom_nodes
git clone https://github.com/JEONG-JIWOO/ComfyUI_Eugene_Nodes

Restart ComfyUI (or grab it from ComfyUI Manager under "Eugene Nodes"). No pip dependencies, no model downloads.

Where people get burned

Because the loader reads the preset file fresh on every run, a preset that's been deleted or moved between folders will throw a "Preset data … not found" error - keep the preset files inside your loras folder, nested however you like.

The selector's bypass toggle is your friend here: it passes the list through unchanged, so you can leave the bypassed selector in the graph and flip it on the moment you want the stack back. And if a preset applies but the output looks off, remember order and clip strength both live in the preset files - check them before blaming the loader.

Categorylora/loader

Inputs (12)

NameTypeDefaultDescription
positive_prefixSTRING—
positive_suffixSTRING—
negative_prefixSTRING—
negative_suffixSTRING—
stop_at_clip_layerINT-1-24–-1—
input_dictionaryoptDICT—
modeloptMODEL—
clipoptCLIP—
vaeoptVAE—
basic_pipeoptBASIC_PIPE—
dict_busoptDICT_BUS—
preset_listoptLIST—

Outputs (9)

NameTypeDescription
input_dictDICT—
modelMODEL—
clipCLIP—
vaeVAE—
positive_conditioningCONDITIONING—
negative_conditioningCONDITIONING—
basic_pipeBASIC_PIPE—
positive_promptSTRING—
negative_promptSTRING—