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 11 months ago·Updated 10 months ago· 14
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—