LoRA Tag Power Loader
LoRA tags in your prompt text — with Wan 2.2's high/low-noise split built in
- model
- clip
- MODEL
- CLIP
- text
- lora_info
- trigger_words
This node exists because of Wan 2.2. Alibaba's video model denoises in two passes - a high-noise expert that handles motion and composition, a low-noise expert that refines detail - and the community quickly figured out you often want different LoRA strengths in each. The standing trick from the Wan scene: apply your speed LoRA to the low-noise pass only, and leave the high-noise pass clean. The LoRA Tag Power Loader is the node that makes that trick a tag in your prompt instead of a tangle of stacked loaders.
Mechanically, it's a text-driven LoRA loader in the spirit of rgthree's Power Lora Loader and ImpactWildcardEncode. You embed <lora:...> tags directly in your prompt, the node parses them out, applies the LoRAs with ComfyUI's universal load_lora_for_models() (the same code path stock loaders use, so it works across SDXL, Flux, Wan, Qwen, and Z-Image), and hands you the cleaned text plus the patched model and CLIP. Unlimited LoRAs from one text box, in-memory caching of loaded files, and only the first occurrence of a duplicated tag gets applied - the rest are logged and skipped.
The tag syntax and the one gotcha
Three formats, from simple to full control:
<lora:name:0.8>- one weight for both noise passes.<lora:name:1.2:0.3>- different weights for high vs low noise.<lora:name:1.0:0.8:0.6>- high, low, and an explicit CLIP weight.
Here's the gotcha, and the README's examples won't tell you: a two-part tag sets the model weight for both passes but leaves CLIP on default_weight - the code does that explicitly. So <lora:style:0.8> with the default default_weight of 1.0 gives you M:0.80 C:1.00, not C:0.80. If your conditioning feels off, set default_weight to match your typical weight, or use the four-part form to pin CLIP explicitly.
The inputs and outputs that matter
Only a handful you'll actually touch. text is the whole point - paste your prompt with tags inline. noise_mode picks which weights get used: high_noise, low_noise, or auto (which averages the two). model and clip are both optional - leave clip unplugged for model-only loading. Then three quality-of-life knobs: weight_multiplier (a global scale on every tag, handy for A/B-testing strength without editing text), video_model_mode (enables WanVideo/Hunyuan LoRA key standardization for AI Toolkit/LyCORIS/Diffusers-format files), and auto_trigger (reads trigger words from the LoRA's safetensors metadata and injects them where the tag was, so "portrait lora:anime_style:0.8" becomes "portrait anime, detailed rendering").
Five outputs, and the last three are what make it nice: MODEL and CLIP go to your sampler/conditioning like any loader, text is the cleaned prompt for CLIP encoding, lora_info is a human-readable list of what actually loaded with final weights (read it when something looks wrong), and trigger_words is a comma-separated string of every trigger found, handy for debugging or building a prompt manually.
Installing it
Standard custom-node install - no requirements.txt, no model downloads, nothing heavy:
cd ComfyUI/custom_nodes
git clone https://github.com/jonstreeter/comfyui-Lora-Tag-Power-Loader
Then restart ComfyUI and look under loaders > LoRA Tag Power Loader (also searchable via ComfyUI Manager by the pack title). The only optional dependency is ComfyUI-WanVideoWrapper, which video_model_mode reaches for to standardize video-LoRA keys; if it isn't installed the node logs a fallback to standard loading and keeps going. A small wink at the README: its install snippet literally says git clone https://github.com/yourusername/... - use the real URL above.
Where people get burned
- "LoRA not found" - the matcher tries exact, stem, prefix, then case-insensitive, so
<lora:my_style>findsmy_style.safetensors,my_style_v2.safetensors, even subfolder paths starting withmy_style. If it still misses, check the console for the specific file it looked for and make sure the file's inComfyUI/models/loras/. - Video LoRAs doing nothing - you need
video_model_modeON, and ideally WanVideoWrapper installed; without it, non-standard key formats silently fall back to plain loading. - Weights not matching the tag - see the
default_weightgotcha above, and read thelora_infooutput: it shows the exact applied M/C strengths per tag, which is the fastest way to tell whether the node or your math is wrong.
Honest verdict: this is a young, single-maintainer pack with almost no community footprint yet, so treat it as a tool, not a creed. For a plain SDXL or Flux workflow, Power Lora Loader or the stock loader will do everything you need. Where this earns its place is the Wan 2.2 dual-pass workflow: run two instances with the same text - one high_noise, one low_noise - and feed each into its corresponding denoise pass. That's a genuinely awkward thing to do with any other loader, and this makes it copy-paste simple.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Text containing LoRA tags like <lora:name:weight>. Tags are removed from output (or replaced with trigger words if auto_trigger is ON). Supports: <lora:name:weight>, <lora:name:high:low>, <lora:name:high:low:clip>. | |
| model | MODEL | The model to apply LoRAs to. | |
| noise_mode | COMBO | auto | Which noise weights to use: high_noise for high noise pass, low_noise for low noise pass, auto averages both. For WanVideo dual loading, use two nodes with different modes. |
| clipopt | CLIP | CLIP to apply LoRAs to. Optional - if not provided, only model LoRAs will be applied. | |
| default_weightopt | FLOAT | 1.00-10–10 | Default weight for CLIP and for tags without weights. Model weights are set explicitly in tags. |
| weight_multiplieropt | FLOAT | 1.000–10 | Global multiplier for ALL LoRA weights. 2.0 doubles all weights, 0.5 halves them. Applied after individual tag weights. |
| video_model_modeopt | BOOLEAN | false | Enable LoRA key standardization for WanVideo/Hunyuan models. Turn ON when using video models. |
| auto_triggeropt | BOOLEAN | false | Extract trigger words from LoRA metadata and insert them where the tag was. Supports Civitai, Kohya, AI Toolkit, SimpleTuner, OneTrainer. Prevents LoRA tags from appearing as artifacts in images. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The model with LoRAs applied |
| CLIP | CLIP | The CLIP with LoRAs applied (if CLIP input was provided) |
| text | STRING | The input text with LoRA tags removed (or replaced with trigger words if auto_trigger is ON) |
| lora_info | STRING | Formatted list of loaded LoRAs with their weights, triggers, and any errors |
| trigger_words | STRING | Comma-separated list of all trigger words extracted from loaded LoRAs |