Nodes/LoRA Stacker CivitAI Tags/LoRA Stacker Tags (CivitAI)
ComfyUI Node

LoRA Stacker Tags (CivitAI)

Stop alt-tabbing to CivitAI — this node types your trigger words for you

By KoleTackney·Created 5 months ago·Updated 5 months ago· 0
LoRA Stacker Tags (CivitAI)
  • lora_stack
  • LORA_STACK
  • TAGS
query_tagstrue
print_tagsfalse
force_fetchfalse
separator,
opt_prompt

Every LoRA you stack has a trigger word, and most downloads don't put it in the file name. So you're either alt-tabbing to the CivitAI page to copy it, or you're quietly getting worse results because you forgot to prompt it at all. LoRA Stacker Tags (CivitAI) is the node that kills that tab-switch: you feed it a LoRA stack, it asks CivitAI what each model was trained on, and it hands you one ready-to-paste prompt string.

It's the single node in KoleTackney's small lora-stacker-civitai-tags pack, and it does exactly one thing. That's fine - a node this boring is usually the one you stop noticing, which is the goal. But there's one big caveat up front: it only speaks to stacks from Efficiency Nodes. The required lora_stack input is the LORA_STACK type produced by that pack's Efficient Loader / LoRA Stacker nodes. That's a hard dependency, not a nice-to-have - no Efficiency Nodes, no node.

How it works

Under the hood it's a short, readable pipeline. For each LoRA in the stack, the node resolves the actual file in your models/loras folder, computes its SHA-256 in 4KB chunks (so it doesn't slurp a multi-GB file into RAM), then hits CivitAI's public endpoint:

https://civitai.com/api/v1/model-versions/by-hash/<sha256>

No API key, no auth - the endpoint accepts a file hash and returns the version record, including trainedWords. Each LoRA's trained words get joined with your separator (default ", ") into a single TAGS string. The LORA_STACK output passes through untouched, so you can keep chaining stacker nodes downstream.

Results cache into a loras_tags.json next to the node, keyed by file name, so repeat runs skip the hashing and the network round trip.

Inputs and outputs that matter

The defaults are sane, so a beginner only touches two of these:

  • lora_stack - required. Wire in the LORA_STACK from Efficient Loader or LoRA Stacker.
  • query_tags (default on) - whether to hit the API at all. Turn it off for cache-only runs.
  • force_fetch - ignore the cache and re-query. Reach for it after you re-download a file.
  • separator - the delimiter between tags. ", " is right for 99% of use.
  • opt_prompt - optional; a prompt string prepended in front of the tags. Handy if you keep a static prefix.

Outputs: LORA_STACK (pass-through) and TAGS (string). Wire TAGS into your positive prompt or conditioning and you're done.

Installing it

Efficiency Nodes first, then this pack - the README is explicit about the order, and it's right:

  1. Install Efficiency Nodes via ComfyUI-Manager (search "Efficiency Nodes").
  2. In Manager, search "LoRA Stacker CivitAI Tags" and install. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/KoleTackney/lora-stacker-civitai-tags
  1. Restart ComfyUI.

The only runtime dependency is requests, which ComfyUI's environment already ships with. No models to download, no CUDA build, nothing heavy.

Where people get burned

  • It won't run / no LORA_STACK socket. You skipped Efficiency Nodes. Go install it.
  • Console prints "No information found." That means CivitAI's by-hash lookup 404'd for that file. Hash matching on CivitAI's side isn't 100% reliable - community reports and the API itself both say some files' hashes don't resolve, especially re-uploads. Nothing the node can do; re-download the LoRA or type the trigger word yourself.
  • Stale tags after replacing a file. The cache keys on file name, not content. Toggle force_fetch once and it re-queries.
  • The first run feels slow. Hashing a big file plus a round trip per uncached LoRA is normal, and it's a one-time cost thanks to the cache.
  • It needs internet. Offline, you get cache-only behavior. The README's "requires internet access" line is the whole story.

One last thing: in the node menu it lives under "My Custom Nodes/LoRA" - a tell that this is a fresh repo built from the official custom-node template (the README still has the scaffolding sections). So if you can't find it, that's why. If you're not already invested in the Efficiency stacker pipeline, the rgthree Power Lora Loader fetches trigger words on right-click too - but if you live in Efficiency Nodes, this little node is the one I'd reach for.

CategoryMy Custom Nodes/LoRA

Inputs (6)

NameTypeDefaultDescription
lora_stackLORA_STACK
query_tagsBOOLEANtrue
print_tagsBOOLEANfalse
force_fetchBOOLEANfalse
separatorSTRING,
opt_promptoptSTRING

Outputs (2)

NameTypeDescription
LORA_STACKLORA_STACK
TAGSSTRING