Nodes/AAA Metadata System/Multi-LoRA Loader (Qwen)
ComfyUI Node

Multi-LoRA Loader (Qwen)

Stack Qwen-Image LoRAs without the CLIP dance

By EricRollei·Created 10 months ago·Updated 9 months ago· 13
Multi-LoRA Loader (Qwen)
  • model
  • model
  • prompt
  • prompt_with_triggers
  • loaded_loras_info
  • all_trigger_words
  • filter_info
  • filtered_loras_list
prompt
search_filename
search_categoryAny
search_trigger_word
min_rating0
refresh_listsfalse
query_civitaifalse
force_civitai_fetchfalse
trigger_positionfront
trigger_separator,
lora_1_enablefalse
lora_1_nameNone
lora_1_strength1.00
lora_2_enablefalse
lora_2_nameNone
lora_2_strength1.00
lora_3_enablefalse
lora_3_nameNone
lora_3_strength1.00
lora_4_enablefalse
lora_4_nameNone
lora_4_strength1.00
lora_5_enablefalse
lora_5_nameNone
lora_5_strength1.00
lora_6_enablefalse
lora_6_nameNone
lora_6_strength1.00
lora_7_enablefalse
lora_7_nameNone
lora_7_strength1.00
lora_8_enablefalse
lora_8_nameNone
lora_8_strength1.00

Qwen-Image is Alibaba's 20B image family - the one whose Edit line basically became the open instruction-editing standard. If you're running it and you stack LoRAs, you'll discover the same annoyance as everywhere else: one LoraLoader node per LoRA, chained in series. Multi-LoRA Loader (Qwen) collapses that chain into a single node that applies up to eight Qwen LoRAs at once.

It's the Qwen-specialized member of the AAA Metadata System pack's loader family, and the thing that sets it apart from the Flux loader is right in the input list: there's no CLIP. Qwen-Image conditions through its own Qwen text encoder rather than a CLIP object, so the node takes a MODEL only, patches it, and returns the model plus a trigger-word-aware prompt. REQUIRES_CLIP = False isn't a simplification - it's the correct wiring for this architecture.

How it works

Same engine as the rest of the family (they all inherit from one base loader in the pack source). It scans your LoRA library and filters to the Qwen subdirectory - the code filters on a Qwen folder under your LoRA path - then presents up to eight slots (lora_1_enable/lora_1_name/lora_1_strength through slot 8). Each slot is model strength only; no CLIP strength, again because there's no CLIP.

On top of the slots you get the standard search tools: search_filename (comma-separated substring match), search_category (style/character/pose/effect…), search_trigger_word (against the pack's local LoRA database), and min_rating (0–5 quality filter). And the trigger-word machinery: query_civitai fetches trigger words from the Civitai API when the DB has none, force_civitai_fetch ignores the cached copy, and trigger_position (front/back) plus trigger_separator control how words get injected into your prompt.

Outputs

  • model - the patched model, straight into your sampler.
  • prompt_with_triggers - your prompt with the LoRAs' trigger words inserted.
  • prompt - your original prompt, returned untouched (handy if you only want the patch).
  • filter_info / filtered_loras_list - text reports of what your filters matched.
  • all_trigger_words / loaded_loras_info - every trigger found and the per-LoRA load summary.

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 search "AAA Metadata System" in ComfyUI Manager. No model downloads. Worth knowing: the pack is CC BY-NC for non-commercial use; commercial use requires a license from the author.

Common issues

  • Empty dropdown - your Qwen LoRAs aren't in a Qwen subfolder. The loader is hardcoded to that directory, so sort your files and toggle refresh_lists (or restart) to rescan.
  • Search filters appear to do nothing to the dropdown - by design; the dropdown is built at node creation and filters run at execution. Check filter_info for what actually matched, and toggle refresh_lists to rescan.
  • No trigger words injected - either the DB lacks an entry and query_civitai is off (turn it on; it needs internet), or the LoRA simply has no recorded trigger.

Is this the node that makes Qwen-Image magical? No - but if you've got a few character or style LoRAs on top of Qwen-Image, it turns a ladder of loader nodes into one box, and the trigger-word injection saves you from memorizing each LoRA's magic phrase. Just get the folder layout right first.

Categoryloaders/multi-lora/qwen

Inputs (35)

NameTypeDefaultDescription
modelMODEL
promptSTRING
search_filenameSTRINGSearch in LoRA filenames. Use commas to separate multiple terms.
search_categoryCOMBOAnyFilter by LoRA category
search_trigger_wordSTRINGSearch in trigger words from database.
min_ratingINT00–5Minimum quality rating from database (0 = show all)
refresh_listsBOOLEANfalseToggle to refresh LoRA list
query_civitaiBOOLEANfalseAutomatically query Civitai for trigger words
force_civitai_fetchBOOLEANfalseForce fetch from Civitai even if tags exist
trigger_positionCOMBOfront2 options: front, back
trigger_separatorSTRING,
lora_1_enableBOOLEANfalse
lora_1_nameCOMBONone1 options: None
lora_1_strengthFLOAT1.00-10–10
lora_2_enableBOOLEANfalse
lora_2_nameCOMBONone1 options: None
lora_2_strengthFLOAT1.00-10–10
lora_3_enableBOOLEANfalse
lora_3_nameCOMBONone1 options: None
lora_3_strengthFLOAT1.00-10–10
lora_4_enableBOOLEANfalse
lora_4_nameCOMBONone1 options: None
lora_4_strengthFLOAT1.00-10–10
lora_5_enableBOOLEANfalse
lora_5_nameCOMBONone1 options: None
lora_5_strengthFLOAT1.00-10–10
lora_6_enableBOOLEANfalse
lora_6_nameCOMBONone1 options: None
lora_6_strengthFLOAT1.00-10–10
lora_7_enableBOOLEANfalse
lora_7_nameCOMBONone1 options: None
lora_7_strengthFLOAT1.00-10–10
lora_8_enableBOOLEANfalse
lora_8_nameCOMBONone1 options: None
lora_8_strengthFLOAT1.00-10–10

Outputs (7)

NameTypeDescription
modelMODEL
promptSTRING
prompt_with_triggersSTRING
loaded_loras_infoSTRING
all_trigger_wordsSTRING
filter_infoSTRING
filtered_loras_listSTRING