CL Tagger
Another Danbooru interrogator for anime captioning
- image
- tags
CL Tagger does the same job as the pack's Camie and WD taggers: point it at an image, get back a string of Danbooru tags. It's an interrogator - the opposite direction from prompting. You reach for it when you want to reproduce a look you found (tag the reference, reuse the tags) or when you're captioning a training set and need output in the tag format Illustrious and NoobAI actually understand.
CL is the cella110n tagger - the most niche of the three this pack wraps (it barely registers in community chatter, versus WD which is everywhere). It exists as an option because different taggers disagree, and having a second opinion on a hard image is genuinely useful. If you don't have a specific reason to prefer CL, the WD tagger is the safer default; CL is here for when you want to compare.
How it works
It's a Danbooru-trained classifier exported to ONNX and run through ONNX Runtime. It scores its whole tag vocabulary against your image and keeps whatever clears your thresholds. Because it speaks the same tag language the anime checkpoints were trained on, its output is directly reusable as a prompt - that's the point of a booru tagger over a generic image-caption model, which would give you English sentences these models don't want. Multiple images in one call get their tags separated line by line.
The inputs that matter
- image - the picture to tag.
- model_name - which ONNX model to load. Shows
Noneuntil you've downloaded one (below). This tripping people up is the tagger's rite of passage. - general - general-tag confidence threshold (default 0.55). The main dial: lower catches more, higher keeps only confident tags.
- character - a separate threshold for character tags (default 0.6). Character guesses are riskier than general ones, so this gets its own knob - raise it if you're getting wrong-character noise.
- categories - which tag categories to emit and their order, e.g.
rating,artist,general,character,copyright,meta,model,quality. Cut it down if you only want descriptive tags. - exclude_tags - tags to always drop.
- replace_space - swaps
_for a space in tags, matching how you'd write them in a prompt. - session_method -
CPU/GPU/CPU Release/GPU Release. GPU for speed; theReleasevariants unload the model afterward to free VRAM.
Output is one tags string.
Install
ComfyUI Manager → search ComfyUI_Mira → Install → restart, or clone it: cd ComfyUI/custom_nodes && git clone https://github.com/mirabarukaso/ComfyUI_Mira.git, restart. On a load error, pip install -r requirements.txt in the pack folder, which also installs the onnxruntime these taggers depend on.
The weights are a separate download. Grab the CL tagger ONNX and its tag-mapping JSON, put them in ComfyUI/models/onnx/cl_tagger/, and rename to the exact names the node expects:
ComfyUI/models/onnx/cl_tagger/
├── cl_tagger_1_02.onnx
└── cl_tagger_1_02_tag_mapping.json
Wrong folder or wrong names and model_name will never populate.
Common issues
model_name stuck on None is the classic, and it's always the download - check the folder is models/onnx/cl_tagger/ and the filenames match. If GPU tagging is slow, you probably have CPU-only onnxruntime rather than onnxruntime-gpu installed. And if you're getting confident-but-wrong character tags, raise the character threshold - CL, like any tagger, will guess a character from a vaguely similar silhouette, and that guess bleeds into your reused prompt if you don't gate it.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| model_name | COMBO | 1 options: None | |
| general | FLOAT | 0.550.05–1 | — |
| character | FLOAT | 0.600.05–1 | — |
| replace_space | BOOLEAN | true | — |
| categories | STRING | rating,artist,general,character,copyright,meta,model,quality | — |
| exclude_tags | STRING | — | |
| session_method | COMBO | 4 options: CPU, CPU Release, GPU, GPU Release |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| tags | STRING | — |