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 8 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