Nodes/ComfyUI Rating Checker/Rating Checker (GantMan)
ComfyUI Node

Rating Checker (GantMan)

The Old-School NSFW Classifier That Still Does the Job

By tighug·Created about a year ago·Updated about a year ago· 2
Rating Checker (GantMan)
  • images
  • labels

You don't need to know how NSFW an image is. Sometimes you just need a yes/no - or better, "is this a photo or an illustration?" That's the whole job of the Rating Checker (GantMan) node, and it does it with a model old enough to have opinions about TensorFlow.js.

What it actually is

This is the GantMan nsfw_model - the same weights that powered nsfwjs back when people were using it to filter chat apps - converted to ONNX and wrapped in a ComfyUI node. It sorts every image into exactly one of five buckets:

  • drawings - illustrations
  • hentai - anime or manga-style content
  • neutral - general-purpose images
  • porn - real-world explicit content
  • sexy - a sexual vibe without explicit content

Five labels, no threshold, no score, no boxes. That's the whole feature set, and that simplicity is the appeal.

How it works

The first time the node loads, it downloads nsfw_detect.onnx from a GitHub release into the pack's models/ folder and opens an onnxruntime session. Each image gets resized to 299x299, normalized into the [-1, 1] range the model expects, and pushed through; the class with the highest probability wins. One image in, one label out.

Under the hood it's a small mobile-class network. It's fast, it runs fine on CPU, and it doesn't sweat fine detail - which is exactly why it works as a coarse gate rather than a detective.

Inputs and outputs

The interface is almost insultingly simple:

  • images - an IMAGE batch, the only input.
  • labels - a STRING list, one label per image in the batch.

Because the output is a list, it plays well with any text-comparison node. Wire labels into a Show Text node to eyeball what's coming through, or run it into a conditional/switch and branch the graph: if the label is hentai or porn, route the image to a blur or a censor pass; otherwise let it ride.

Installing it

ComfyUI Manager: search for "ComfyUI Rating Checker". Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/tighug/comfyui-rating-checker

Then restart ComfyUI. The model downloads on first use, so that first run needs internet; after that everything's local.

Where it bites

This model was trained mostly on real photos, and it shows. Anime-style images tend to collapse into hentai or drawings no matter what's actually in frame, so don't treat it as a moderation-grade filter - it's a rough media-type check. It also always answers with a single label and no confidence floor: a 34%-vs-33% coin flip still gets a confident-looking verdict. And like the rest of this pack, its requirements.txt pins torch to 2.6.0, which can clash with a ComfyUI install already running a newer build - if you see torch errors after installing, that pin is the first suspect.

Use it for what it's good at: sorting generations into "real vs. drawn" and flagging the obviously explicit ones. For actual R15/R18 calls, the NudeNet node in this same pack is the one you want.

Categoryutils

Inputs (1)

NameTypeDefaultDescription
imagesIMAGE

Outputs (1)

NameTypeDescription
labelsSTRING