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

Multi-LoRA Loader (Wan i2v)

Stack Wan 2.2 i2v LoRAs in one node

By EricRollei·Created 10 months ago·Updated 9 months ago· 13
Multi-LoRA Loader (Wan i2v)
  • 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

Wan 2.2 is where local video generation actually lives these days - it's the last open-weight Wan, and i2v (image-to-video) is the community's favorite mode because anchoring the first frame solves most consistency problems. Video LoRAs stack the same way image LoRAs do: one loader node per LoRA, chained. This node collapses that for the i2v case.

Multi-LoRA Loader (Wan i2v) is the i2v-specific member of the AAA Metadata System pack's loader family. It takes a MODEL (no CLIP - Wan conditions through its own text encoder), applies up to eight LoRAs, and returns the patched model plus a trigger-word-aware prompt. It's purpose-built for the Wan 2.2 i2v models, which is exactly why it does model-only patching: you're nudging the video diffusion weights, not a CLIP.

How it works

The engine is shared across the family, but the interesting bit is the directory filter. The node scans your LoRA library and filters to a Wan\i2v subfolder - the source literally joins "Wan" and "i2v" as the path it will scan. So it assumes you keep your i2v LoRAs in their own folder, separate from t2v. That's a real convention worth adopting anyway: Wan 2.2's two-pass architecture and the speed-LoRA scene mean you'll accumulate a lot of model-specific LoRAs, and mixing i2v and t2v LoRAs is a recipe for nonsense outputs.

Each of the eight slots (lora_1_enable / lora_1_name / lora_1_strength through slot 8) is model-strength only, then you get the family's search tools: search_filename, search_category, search_trigger_word and min_rating. Trigger words work the same way as the other loaders - query_civitai fetches them from the Civitai API when the pack's local database has none, force_civitai_fetch ignores the cache, and trigger_position/trigger_separator control injection.

Outputs

  • model - your patched model, straight into the video sampler.
  • prompt_with_triggers - your prompt plus injected trigger words.
  • prompt - your original prompt back.
  • filter_info / filtered_loras_list - text reports of what your filters matched.
  • all_trigger_words / loaded_loras_info - every trigger found and the 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 install "AAA Metadata System" via ComfyUI Manager. No model files to download. The pack is CC BY-NC licensed (non-commercial); commercial use needs a license from the author.

Common issues

  • Empty dropdown - your i2v LoRAs aren't in the Wan\i2v subfolder it expects. Sort them, toggle refresh_lists (or restart), and rescan.
  • Filters don't shrink the dropdown - by design; they apply at execution and report in filter_info. Toggle refresh_lists to rescan the folder.
  • Trigger words never appear - DB has no entry and query_civitai is off. Enable it (needs internet) or prompt the trigger manually.
  • Loaded a t2v LoRA into an i2v run - not a node bug; that's the folder-mixing trap. This node exists partly so you don't have to think about it.

One honest note: Wan 2.2's speed LoRAs are a whole drama of their own - they can flatten the model's motion and lighting if you stack them carelessly. This node won't stop you from doing that; it just makes it fast and tidy when you do.

Categoryloaders/multi-lora/wan

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