TagsFormater
See every trigger word with its index, so you can write a selector
- tags_list
- STRING
TagsFormater is the "show me the list" node of the ComfyUI-Lora-Auto-Trigger-Words pack, and it exists because its sibling TagsSelector is useless if you can't see what's at each index. Feed it a tag list - the civitai_tags_list or meta_tags_list output from any loader in this pack - and it returns a STRING with every tag printed on its own line, numbered:
0 : "character name trigger"
1 : "style tag"
2 : "another style tag"
That's the entire job. No filtering, no weighting, no formatting tricks. The numbering is the feature: TagsSelector's selector field takes Python-style index expressions like 0, 2, 4:6 or -1, and TagsFormater is what tells you which numbers to write. It's a readout for a human, not a pipeline stage.
There's one genuinely useful detail in how it sorts: tags come out in training-frequency order, most-used first. For the meta_tags_list that's straight from the LoRA's ss_tag_frequency training metadata, so the top of the list is what the trainer actually leaned on - which is usually a better hint at the real trigger than whatever's on the Civitai page. For the civitai_tags_list it's the model author's trainedWords order.
How it works
One required input, tags_list (a LIST), one STRING output. The function walks the list and formats each entry as index : "tag" with a newline. No settings, no booleans, no surprises. The output is meant to be read - use a text display widget or the showText node from pythongosssss's Custom-Scripts pack to actually see it, since most ComfyUI setups don't show raw node output by default.
The workflow it fits into: LoraLoaderVanilla → TagsFormater → look at the numbered list → type a selector into TagsSelector → wire the filtered string into your positive prompt. It's the pair of nodes that turns "remember the trigger words" into "read the list, pick the numbers."
Where people get burned
The most common mistake is treating this as an output node for the final prompt. It's not - it's a debugging/authoring aid. You don't want 0 : "tag"\n1 : "tag" in your prompt; you want the clean comma-joined string from TagsSelector. Second, if the list comes back empty, that's not a formatting bug: it means both tag sources found nothing for that LoRA (no Civitai match under its hash and no embedded training metadata), so append_loraname_if_empty on the loader is your fallback. Third, the index numbering is 0-based like Python, so a 40-tag list runs 0–39 - off-by-one errors are on you.
Installing
Part of ComfyUI-Lora-Auto-Trigger-Words. Install via ComfyUI Manager (search "ComfyUI-Lora-Auto-Trigger-Words") and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/idrirap/ComfyUI-Lora-Auto-Trigger-Words
No dependencies, no model downloads, pure text formatting. If you want to see its output on the canvas, installing ComfyUI-Custom-Scripts for showText is the easy path - which is exactly what the pack's own docs recommend.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| tags_list | LIST | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |