Multi-LoRA Loader v02 (Filtered)
The filtered eight-slot LoRA stacker for CLIP models
- model
- clip
- model
- clip
- prompt
- prompt_with_triggers
- loaded_loras_info
- all_trigger_words
- filter_info
- filtered_loras_list
If your model speaks CLIP - SD1.5, SDXL, Pony, Illustrious, that whole world - and you want to stack LoRAs with real filtering, this is the loader to grab. Multi-LoRA Loader v02 (Filtered) is the CLIP-aware generalist of the AAA Metadata System pack: one node, a model plus a clip in, up to eight LoRAs applied with separate model and CLIP strengths, and a search/filter panel that's the most complete in the family.
The "Filtered" in the display name is doing real work. Where the platform-specific loaders assume your LoRAs live in tidy subfolders, v02 assumes nothing - it lists everything and lets you carve the list down with filters. It's the closest thing to "Multi-LoRA Loader Model Only, but with CLIP," and if you run SDXL or Flux-class CLIP models it's arguably the one you should just use.
How it works
It scans your full LoRA library and gives you the master search controls:
search_directoryandsearch_filename- comma-separated substring matches on paths and filenames.search_category- style, character, pose, clothing, effect, and two dozen more.search_trigger_word- match against trigger words in the pack's local LoRA database.filter_architecture- SD1.5, SDXL, Flux, Pony, Illustrious, Noobai, SD3.5, HiDream, Stable Cascade and others, guessed from filenames and paths.min_rating- 0–5, from the database's quality ratings.
Then eight slots, each with lora_N_enable, lora_N_name, lora_N_strength and lora_N_clip_strength. The CLIP strength matters for models where the text encoder is trained alongside - on SDXL/Pony a clip strength under 1.0 is often what keeps a style LoRA from overpowering the prompt.
Trigger words work like the rest of the family: query_civitai pulls them from the Civitai API when the DB has none, force_civitai_fetch bypasses the cache, and trigger_position/trigger_separator control injection into your prompt.
Outputs
modelandclip- both patched, into your conditioning and sampler.prompt_with_triggers- your prompt with trigger words injected.prompt- your original prompt, passed through.filter_info/filtered_loras_list- what your filters matched, in text form.all_trigger_words/loaded_loras_info- all triggers found and per-LoRA load details.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/EricRollei/AAA_Metadata_System.git
cd AAA_Metadata_System
pip install -r requirements.txt
Restart ComfyUI, or install "AAA Metadata System" via ComfyUI Manager. No model downloads. License: CC BY-NC non-commercial; commercial use needs a paid license from the author.
Common issues
- Filters don't change the dropdown - expected, and the
refresh_liststooltip says so: "Filters are applied during execution - check filter_info output to see results." The dropdown is fixed at node creation; togglerefresh_liststo rescan the folder. filter_architecturefeels unreliable - it's a name/path heuristic; badly named files land in "Unknown" and only matchAny. Treat it as a convenience, not a guarantee.- LoRA effects too strong even at low model strength - drop
clip_strengthtoo; on CLIP models the text encoder is often where style leaks in.
There are slicker LoRA managers out there with prettier UIs, but v02 is the solid workhorse: filters that don't require you to reorganize your folder tree, eight slots, and trigger-word help if you want it. For daily SDXL/Pony stacking, it earns its place in a default graph.
Inputs (46)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| prompt | STRING | — | |
| search_directory | STRING | Search in directory/path names. Use commas to separate multiple terms. | |
| search_filename | STRING | Search in LoRA filenames. Use commas to separate multiple terms. | |
| search_category | COMBO | Any | 26 options: Any, unknown, style, character, concept, pose, +20 |
| search_trigger_word | STRING | Search in trigger words from database. Use commas to separate multiple terms. | |
| filter_architecture | COMBO | Any | 14 options: Any, Unknown, SD1.5, SDXL, Flux, Pony, +8 |
| min_rating | INT | 00–5 | Minimum quality rating from database (0 = show all) |
| refresh_lists | BOOLEAN | false | Toggle to refresh. Filters are applied during execution - check filter_info output to see results. |
| query_civitai | BOOLEAN | false | Automatically query Civitai for trigger words when LoRA has none |
| force_civitai_fetch | BOOLEAN | false | Force fetch from Civitai even if tags already exist |
| trigger_position | COMBO | front | 2 options: front, back |
| trigger_separator | STRING | , | — |
| lora_1_enable | BOOLEAN | false | — |
| lora_1_name | COMBO | None | 1 options: None |
| lora_1_strength | FLOAT | 1.00-10–10 | — |
| lora_1_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_2_enable | BOOLEAN | false | — |
| lora_2_name | COMBO | None | 1 options: None |
| lora_2_strength | FLOAT | 1.00-10–10 | — |
| lora_2_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_3_enable | BOOLEAN | false | — |
| lora_3_name | COMBO | None | 1 options: None |
| lora_3_strength | FLOAT | 1.00-10–10 | — |
| lora_3_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_4_enable | BOOLEAN | false | — |
| lora_4_name | COMBO | None | 1 options: None |
| lora_4_strength | FLOAT | 1.00-10–10 | — |
| lora_4_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_5_enable | BOOLEAN | false | — |
| lora_5_name | COMBO | None | 1 options: None |
| lora_5_strength | FLOAT | 1.00-10–10 | — |
| lora_5_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_6_enable | BOOLEAN | false | — |
| lora_6_name | COMBO | None | 1 options: None |
| lora_6_strength | FLOAT | 1.00-10–10 | — |
| lora_6_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_7_enable | BOOLEAN | false | — |
| lora_7_name | COMBO | None | 1 options: None |
| lora_7_strength | FLOAT | 1.00-10–10 | — |
| lora_7_clip_strength | FLOAT | 1.00-10–10 | — |
| lora_8_enable | BOOLEAN | false | — |
| lora_8_name | COMBO | None | 1 options: None |
| lora_8_strength | FLOAT | 1.00-10–10 | — |
| lora_8_clip_strength | FLOAT | 1.00-10–10 | — |
Outputs (8)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| prompt | STRING | — |
| prompt_with_triggers | STRING | — |
| loaded_loras_info | STRING | — |
| all_trigger_words | STRING | — |
| filter_info | STRING | — |
| filtered_loras_list | STRING | — |