LoRA Preset List Loader & Encoder
The LoRA Stacker That Lets You Swap Presets Without Rewiring
- 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
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- aLISTof preset file paths, typically thelora_listoutput of a LoraPresetSelector, or thelistslot inside a dict_bus. - It honors each preset's own numbers. Here the loader reads the preset file's stored
strengthand its separateclip_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.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| positive_prefix | STRING | — | |
| positive_suffix | STRING | — | |
| negative_prefix | STRING | — | |
| negative_suffix | STRING | — | |
| stop_at_clip_layer | INT | -1-24–-1 | — |
| input_dictionaryopt | DICT | — | |
| modelopt | MODEL | — | |
| clipopt | CLIP | — | |
| vaeopt | VAE | — | |
| basic_pipeopt | BASIC_PIPE | — | |
| dict_busopt | DICT_BUS | — | |
| preset_listopt | LIST | — |
Outputs (9)
| Name | Type | Description |
|---|---|---|
| input_dict | DICT | — |
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| positive_conditioning | CONDITIONING | — |
| negative_conditioning | CONDITIONING | — |
| basic_pipe | BASIC_PIPE | — |
| positive_prompt | STRING | — |
| negative_prompt | STRING | — |