How it works

A second model decides whether the first one runs

Adult-content classifiers gate many pipelines, and their false positives and negatives shape which uploads ever reach the scorer.

By Updated 3 min readHow it works

Guides on How it works: Every score is a memory of somebody's opinion, An axis earns its place by being separately observable, What an image becomes before it is scored

Many rating pipelines run a separate content classifier before the scoring model, and it decides whether your photo is scored at all. Its only job is routing, and its false positives and false negatives, governed by a threshold someone chose, shape which uploads ever reach the scorer.

Understanding it as a routing step rather than as part of the score explains a lot of otherwise confusing rejections.

Why the split exists

Training one model to both classify content type and produce a rubric score would tangle two very different tasks together, and a mistake in either would be hard to diagnose from outside. Splitting them means the classifier can be tuned, retrained and swapped independently of the scoring model, which changes on a different schedule for different reasons. It also means the classifier can be a cheaper, faster model - content classification is a comparatively easier task than fine-grained scoring - so it can run first without adding meaningful latency, similar in spirit to the quality gates that filter blur and exposure before the same expensive step.

What the classifier is actually deciding

A content classifier outputs a probability, or a small set of category probabilities, describing what kind of image it thinks it is looking at. A threshold then converts that probability into a routing decision: proceed to scoring, or stop here. Commercial moderation services make this explicit. Google Cloud Vision's SafeSearch returns a likelihood rating from VERY_UNLIKELY to VERY_LIKELY, or UNKNOWN, for categories such as adult and racy, and leaves the cut-off to the developer. Amazon Rekognition's moderation API takes a MinConfidence value, "the minimum confidence" a label needs before it is returned, and its own examples set it at 60. Where that threshold is set is a policy choice made by whoever built the pipeline, not a property of the image, and it trades two kinds of error against each other directly.

False positives are legitimate uploads the classifier flags incorrectly - lighting, framing, or content that happens to trip the same visual patterns the classifier was trained to catch, without actually being what it is looking for. A false positive here means a valid photo gets rejected for reasons that have nothing to do with the subject's actual appearance.

False negatives are the reverse: content the classifier should have caught but did not, and it is the error type a service tunes hardest against, because the cost of missing one is much higher than the cost of over-rejecting. Most production classifiers are deliberately biased toward more false positives in exchange for fewer false negatives, which is a defensible trade-off and also the direct explanation for why a fine, ordinary photo sometimes gets bounced for no reason a user can identify.

Why this differs from a scoring model refusing

A classifier gate rejecting an image is not the same event as a language-model scorer declining to answer within its own reasoning. The classifier runs first, as a hard gate with a binary outcome, before the scoring model is ever invoked; a refusal from a language-model scorer happens after the photo has already been accepted and the model is generating its response, and is closer to a policy judgement made in the moment than a routing decision made upstream. The two produce similar-looking outcomes from a user's side - no score, an unhelpful message - by entirely different mechanisms, and conflating them makes both harder to reason about.

What a rejection here does and does not mean

A photo stopped at this gate has been classified a particular way by a model tuned toward caution, not judged on any of the axes a rubric would use. It says nothing about proportion, symmetry, or any property the scorer would have reported had the photo gone through. Rate Cock runs a classifier of this kind ahead of its scoring pipeline, as most tools in this category do, and a rejection there is worth treating as a routing outcome rather than feedback on the photo itself. The equivalent decision for a human reviewer is closer to editorial judgement than a threshold on a probability, which is part of why what a commissioned human review looks like differs from an automated gate structurally, not just in speed. None of this affects how a passed photo is later scored or how that number should be read, which Penis Rater's guide to interpreting a result covers separately, and none of it touches the measurement question at all, which stays entirely outside this pipeline.

Read next

Full archive