Get All Tags Above Threshold
Auto-tag an image with the full Danbooru tag set
- image
- STRING
This runs an image through a WD-style Danbooru tagger and hands back every tag the model is confident about, comma-separated, in one string. No filtering by category - general tags, character names, copyright/series tags, whatever the model finds - this is the "give me everything" node, as opposed to the more scoped siblings in the same family (GetTagsAboveThresholdNode, GetCharactersAboveThresholdNode, and the "except character" variant) that narrow down to one category.
This kind of tagger is the standard tool for captioning LoRA training data for Danbooru-vocabulary models - Illustrious, NoobAI, Pony - since it outputs the exact comma-separated tag format those bases were trained on, rather than prose. It's also just a fast way to find out what a model actually generated: point it at a batch of outputs and you get a machine-readable description of each one back.
How it works
model_name picks which backbone does the classification, choosing from a set of architectures that will look familiar if you've used any WD14/WD-tagger node before - EVA02_Large (the current top-accuracy pick in that family), ViT_Large, SwinV2, ConvNext/ConvNextV2, older ViT/MOAT variants, and newer _v3 revisions of a few of those. Bigger, newer backbones tend to tag more accurately at the cost of being slower; if you're processing a big batch, a lighter model like ConvNextV2 or MOAT is worth trying before defaulting to the biggest one. Expect the first run with a given model_name to take longer than the rest - tagger models like this typically need their weights on disk before they can classify anything, so budget for a download the first time you pick a given backbone.
threshold sets the confidence cutoff below which a tag doesn't make the list - 0.4 is a reasonably permissive default; push it up (say, 0.6+) if you're getting noisy or wrong tags, push it down if the output feels too sparse. replace, going by the convention every WD-tagger node shares, most likely controls whether underscores in raw tags (long_hair) get swapped for spaces (long hair) in the output - worth testing on one image if you need to know for sure, since the README doesn't spell it out.
Inputs and outputs
- image - the
IMAGEto tag. - threshold (default
0.4) - confidence cutoff; higher means fewer, more confident tags. - model_name (default
EVA02_Large) - which tagger backbone runs the classification. - replace (default
false) - likely the underscore-to-space toggle standard to this family of taggers.
Output is a single STRING - the comma-separated tag list.
Installing ComfyUI-LogicUtils
ComfyUI Manager: Install Custom Nodes → search "ComfyUI-LogicUtils" → install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/aria1th/ComfyUI-LogicUtils
Restart ComfyUI. Unlike most of the pack's other nodes, this one does real machine-learning work under the hood, so expect a model download on first use and heavier dependencies than the pack's pure-logic nodes. LogicUtils ships an auto-install hook (COMFYUI_LOGICUTILS_AUTO_INSTALL=1 opts in, COMFYUI_LOGICUTILS_SKIP_INSTALL=1 force-disables it) - if a tagger node errors out on first run with a missing-package message, that env var, or a manual pip install -r requirements.txt inside the pack's folder, is where to look.
Worth knowing
This is aria1th's (AngelBottomless's) LogicUtils pack - the same handle that trains the Illustrious XL series, and the reason a Danbooru tagger shows up in what's otherwise a grab-bag of unrelated logic nodes: a heavy Danbooru-adjacent background means "add a WD tagger node" is a natural itch to scratch. The README documents almost none of this, and public pushes stopped in January 2026, so exact tag-category behavior (what counts as "all") is inferred from the node's name rather than confirmed against source.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| thresholdopt | FLOAT | 0.40 | — |
| replaceopt | BOOLEAN | false | — |
| model_nameopt | COMBO | EVA02_Large | 10 options: EVA02_Large, ViT_Large, SwinV2, ConvNext, ConvNextV2, ViT, +4 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |