Nodes/ComfyUI-Tagger/Camie Tagger
ComfyUI Node

Camie Tagger

The 70k-tag anime tagger that was trained on one RTX 3060

By sln77·Created 5 months ago·Updated 3 months ago· 6
Camie Tagger
  • image
  • all_tags
  • artist_tags
  • character_tags
  • copyright_tags
  • general_tags
  • meta_tags
  • rating_tags
  • year_tags
onnx_path/tmp/ComfyUI/custom_nodes/ComfyUI-Tagger/models/camie-tagger-v2.onnx
metadata_path/tmp/ComfyUI/custom_nodes/ComfyUI-Tagger/models/camie-tagger-v2-metadata.json
threshold0.50
replace_underscorestrue
exclude_tags

You've got an anime image and you want its Danbooru tags - to reverse-engineer a prompt, caption a LoRA training set, or just figure out who drew what. The default answer has been WD14 for years. Camie Tagger is the interesting new answer, and this node is the easiest way to run it in ComfyUI.

Camie (camie-tagger-v2) made real noise when it dropped on r/StableDiffusion in early 2025: a solo dev trained it on a single RTX 3060 with DeepSpeed, and it knows 70,527 tags - about five times a WD14-class vocabulary. Its 61% F1 across the whole Danbooru dataset looks modest until you see where it wins: characters and copyright were its strongest categories, and even artist tags came out usable, which is where most taggers fall over. The name is a lie, by the way - it's an ONNX model running entirely on your machine. No API, no key, no cloud.

What it actually does

Feed it an image, and it runs the Camie model locally through onnxruntime - CUDA provider if you've got an NVIDIA card, CPU otherwise - then hands you comma-separated tags split into categories. Same job as WD14, which is the right mental model: this is a Danbooru-style tagger, so its output belongs in prompts for Illustrious, NoobAI, or Pony, not as prose for Flux (the KB's rule of thumb: tags for the tagged-anime lineage, sentences for LLM-encoder models).

Under the hood it's straightforward: the image gets resized to the model's native size, logits go through a sigmoid, anything above your threshold becomes a tag, and tags get sorted by confidence within their category. The node caches the loaded model by path, so changing onnx_path triggers a reload rather than a re-load every run.

The inputs that matter

Four of these, honestly:

  • threshold (0.5) - the confidence cutoff. Default is sane; drop to ~0.35 if the model seems shy about details, raise it if the output feels noisy.
  • replace_underscores (on) - gives you long hair instead of long_hair. Leave it on unless you're captioning exactly how a trainer expects tags.
  • onnx_path / metadata_path - point at the two model files you downloaded. The defaults assume they live in custom_nodes/ComfyUI-Tagger/models/, but any path works.
  • exclude_tags (optional) - comma-separated tags to drop, handy for stripping rating:explicit or your own name from a bulk captioning run.

The outputs are the good part: all_tags is the union you'd wire into a positive prompt, and then there are seven category streams - artist_tags, character_tags, copyright_tags, general_tags, meta_tags, rating_tags, year_tags. character_tags is gold for character LoRA captioning; artist_tags is how you find out which artist a style actually came from.

Installing it

Two steps, and the second one is the one people forget.

# in your ComfyUI directory
cd custom_nodes
git clone https://github.com/sln77/ComfyUI-Tagger
# restart ComfyUI

Or just search "ComfyUI-Tagger" in ComfyUI Manager and hit install. But the pack does not download model files for you - nothing does. Grab the two files from Camais03/camie-tagger-v2 (camie-tagger-v2.onnx plus the -metadata.json), drop them anywhere you like, and type that path into the node. Get it wrong and you'll see a FileNotFoundError; that's the most common failure here. The pack declares onnxruntime as a dependency, so Manager-installed setups get it automatically; if you cloned by hand and it errors on import, pip install onnxruntime.

Where people get burned

Besides the model download: this is an ONNX model, so on a CPU-only box it runs but it's sluggish - fine for one-off tagging, miserable for bulk captioning 500 images. And a small safety note that applies to every model in this pack: only pull files from the official HuggingFace repos linked in the README. Custom nodes run arbitrary code on your machine, and the ecosystem has a documented history of malicious "helper" packages; the tagger files themselves are inert data, but don't get creative with mirrors.

Is Camie better than WD14? Not unambiguously - WD14 is still the boring, proven default that every trainer recognizes. But Camie's character and copyright precision makes it a genuinely good second opinion, and this node makes running both side-by-side trivial. That's honestly the best way to use it: not instead of WD14, but as the cross-check that catches what the old faithful misses.

CategoryImage/Tagger

Inputs (6)

NameTypeDefaultDescription
imageIMAGE
onnx_pathSTRING/tmp/ComfyUI/custom_nodes/ComfyUI-Tagger/models/camie-tagger-v2.onnx
metadata_pathSTRING/tmp/ComfyUI/custom_nodes/ComfyUI-Tagger/models/camie-tagger-v2-metadata.json
thresholdFLOAT0.500–1
replace_underscoresBOOLEANtrue
exclude_tagsoptSTRING

Outputs (8)

NameTypeDescription
all_tagsSTRING
artist_tagsSTRING
character_tagsSTRING
copyright_tagsSTRING
general_tagsSTRING
meta_tagsSTRING
rating_tagsSTRING
year_tagsSTRING