LoRA Loader (with Trigger Words)
The LoRA loader that hands you the trigger words
- model
- clip
- model
- clip
- trigger_words
Every LoRA card on CivitAI lists trigger words - the activation phrases you're supposed to include in your prompt for the thing to actually look right. And every LoRA user has a moment where they forget them, lose them, or retype them from a screenshot with a typo. TMMLoraLoader is the one node in the Tiny Model Manager suite that does something the core loaders can't: it loads the LoRA and hands you its trigger words on a socket.
What it does
On the surface it's a standard LoRA loader: pick a file, set two strengths, get patched model and clip out. The difference is the third output, trigger_words (STRING) - which, as the display name "LoRA Loader (with Trigger Words)" advertises, is the pack's whole reason to exist.
Inputs:
modelandclip- from your checkpoint loader, and what the LoRA patches.lora_name- dropdown of everything inComfyUI/models/loras.strength_modelandstrength_clip- both default1.0, range-10to10, step0.01. 1.0 is the full-strength default; lower for subtle effects, and negative strengths do subtraction (people abuse this for style-damping). You'll rarely wander outside0–1.5, the wide range is just headroom.
Outputs: the patched model and clip continue down your graph exactly as with any LoRA loader, and trigger_words is a comma-joined string you can wire into a prompt concatenation so the words ride along automatically.
How the trigger words get there
This is the mechanism worth understanding, because it has a limitation baked in. When you download a LoRA through the Tiny Model Manager dashboard, the pack fetches its metadata - description, tags, and trigger words - from CivitAI or HuggingFace and stores it in its own SQLite database (data/models.db). The loader looks that metadata up by filename at execution time and returns the stored words.
So: trigger words appear if, and only if, the file went through the dashboard's download/metadata path. A LoRA you dragged straight into ComfyUI/models/loras has no database row, and you get an empty string out - the node does not fetch trigger words from CivitAI itself on the fly. That's a real difference from, say, rgthree's Power Lora Loader, which reads trigger words off the file or pulls them from CivitAI on demand. The TMM approach is only as good as the metadata the dashboard stored.
The lookup is also deliberately best-effort - the source swallows any error and returns "" rather than crashing your graph. Nice for robustness, mildly annoying when it silently gives you nothing.
How it works (the boring part)
comfy.utils.load_torch_file loads the LoRA weights, then comfy.sd.load_lora_for_models applies them to your model and clip with the two strengths. Same underlying calls as the core LoraLoader; the trigger-words readout is the only custom bit.
Install & gotchas
Part of the one-pack suite - search Tiny Model Manager in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Zellione/comfyui-tiny-model-manager
cd comfyui-tiny-model-manager
pip install -r requirements.txt
Restart after. The two things that actually bite people: the empty-trigger-words case above (re-download through the dashboard to fix it), and the evergreen LoRA trap - an Illustrious LoRA won't do anything useful on a Flux checkpoint, because the adapter patches a different architecture. The dashboard's base-model metadata on each card exists precisely so you can check that before you insert the node.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| lora_name | COMBO | 0 options: | |
| strength_model | FLOAT | 1.00-10–10 | — |
| strength_clip | FLOAT | 1.00-10–10 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| trigger_words | STRING | — |