ComfyUI Node Runs on cloud

JoyTag

Real image tagging, not just booru spam

By gokayfem·Created 3 years ago·Updated 17 days ago· 585
JoyTag
  • image
  • STRING
tag_number20
threshold0.40
unload_afterfalse

If you've ever needed a stack of Danbooru-style tags for an anime training set or a tag-based image organizer, you know the usual options: WD14 taggers that are fine but finicky, and captioning models that give you sentences when you wanted tags. JoyTag is @fpgamine's vision model for the tagging job, and gokayfem's VLM Nodes wraps it in a one-node ComfyUI interface. Its claim to fame: it uses the Danbooru tag schema but works across anything - hand-drawn, anime, photographic - with a focus on being sex-positive and inclusive rather than censoring what it sees.

What it's for

Automatic tagging before you train a LoRA, bulk-tagging a folder of images, or generating tag lists to feed into prompt-composition workflows. On the tagged-anime lineage of models (Illustrious, Pony, NoobAI), comma-separated tags remain the native language, so a tagger like this slots straight into your existing workflow in a way a sentence-captioner doesn't.

How it works

The node downloads the JoyTag weights from Hugging Face (fancyfeast/joytag) into models/LLavacheckpoints/files_for_joytagger on first run, loads the model, and for each input image scores its vocabulary of known tags (the model ships a top_tags.txt list). It ranks them by confidence and returns the top ones as a comma-separated string. So you're getting the model's highest-confidence tags, not a random guess.

The inputs that matter

  • image - the thing you're tagging. It handles batches.
  • tag_number - how many tags to return, from 1 up to 100. The default of 1 is basically a "what is this" answer; crank it to 20–50 for a real tag dump, and don't be afraid to ask for 100 on a busy image.

The STRING output is your comma-separated tag list. You can wire it straight into a CLIP Text Encode for tag-based models, or use it as the caption half of a training-data pipeline.

Install

Same as the rest of the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI_VLM_nodes
python -m pip install -r ComfyUI/custom_nodes/ComfyUI_VLM_nodes/requirements.txt

Or ComfyUI Manager, searching VLM_nodes.

Where it sits in the pack

This is one of the pack's few specialist vision nodes - most of the others are general captioners. That's the honest comparison: JoyTag isn't trying to beat Qwen2-VL at describing a scene in prose. It's winning the specific job of producing clean, conventional, reusable tags, and it does it at small-model speed. One note: taggers inherit the biases and quirks of their vocabularies - review the tag dump on a few images before you trust it for training, because a wrong tag baked into a caption set is worse than no tag at all.

CategoryVLM Nodes/Vision/Tagging

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
tag_numberINT201–100
thresholdoptFLOAT0.400–1
unload_afteroptBOOLEANfalse

Outputs (1)

NameTypeDescription
STRINGSTRING