Nodes/ComfyUI-LexTools/ArtOrHumanClassifierNode
ComfyUI Node

ArtOrHumanClassifierNode

The 'is this AI?' node — take it with a grain of salt

By SOELexicon·Created 3 years ago·Updated about a year ago· 33
ArtOrHumanClassifierNode
  • image
  • FLOAT
  • FLOAT
show_on_nodefalse

ArtOrHumanClassifierNode tries to answer a question the whole internet has been arguing about: is this image AI-generated, or human-made? It runs a local classifier and returns two numbers - the probability the image is artificial and the probability it's human. Unlike the pack's other classifiers, it gives you the numeric output, which means you can actually wire it into logic. It's the AI-detection input that ImageQualityScoreNode expects, and the only one of the pack's classifiers that feels like it belongs in an automated pipeline.

Let's get the honest part out of the way first. AI-image detection is essentially a coin flip with extra steps. The community has seen detector after detector ship with bold claims and then fail on the next model generation, and the fundamental problem - AI images look like human images by construction - hasn't changed. Treat these two floats as a weak signal, not a verdict. Where the node earns its keep is as one input among several into the quality-scoring pipeline, and as a novelty that makes for a funny demo on your own outputs.

How it works

Standard transformer classifier, local, no API: image in, two classes out - artificial vs. human - normalized to probabilities that sum to one.

Inputs:

  • image - the IMAGE to judge.
  • show_on_node (BOOLEAN, default false) - flip to true to print the probabilities on the node body so you can read them without extra wiring.

Outputs (both FLOAT):

  • The artificial probability - how confident the model is that this is AI-generated.
  • The human probability - the complement, essentially.

Because it's flagged as an output node in the schema, it behaves as a terminal - ComfyUI treats it as the end of a branch, which is right, because the sensible move is to feed those floats into ImageQualityScoreNode's ai_score_artificial / ai_score_human inputs and let the weighted sum decide.

The realistic workflow

This is where the node makes sense. You're scoring a batch to pick keepers, and you want to mildly penalize images that look AI. Chain: Image → ArtOrHumanClassifier → artificial/human → ImageQualityScoreNode → filter → keep. The AI-look penalty is one weighted term among several, which is exactly the right amount of trust to place in an AI detector - enough to bias, never enough to decide. Crank the weight_AIDetection dial too high and you'll throw away good renders on a bad guess.

Install and notes

Install the pack once: ComfyUI Manager → search "ComfyUI-LexTools", or git clone https://github.com/SOELexicon/ComfyUI-LexTools into custom_nodes, restart. transformers needed; the model downloads on first use.

Two cautions. First, don't ship a workflow where this node's word is final - detection accuracy on fresh models is exactly where the pack's thin community history leaves you with no track record to trust. Second, the probabilities are what they are: if the model is uncertain it'll still emit two numbers that sum to one, so a confident-looking 0.52/0.48 split is really "I don't know". Read both values, not just the winner.

CategoryLexTools/ImageProcessing/Classification

Inputs (2)

NameTypeDefaultDescription
imageIMAGE
show_on_nodeBOOLEANfalse

Outputs (2)

NameTypeDescription
FLOATFLOAT
FLOATFLOAT