---
title: "AI-assisted media classification"
description: "NSFW, hard-nudity and soft-nudity signals with configurable thresholds, frame sampling, and review routing. Not age, identity, consent, or rights verification."
url: "https://adultinfra.com/docs/ai/media-moderation/"
dateModified: "2026-09-12"
---

[Home](https://adultinfra.com/) / [Docs](https://adultinfra.com/docs/) / AI and GPU 

# AI-assisted media classification

NSFW, hard-nudity and soft-nudity signals with configurable thresholds, frame sampling, and review routing. Not age, identity, consent, or rights verification.

LAST REVIEWED 2026-09-13

ON THIS PAGE

- [Signals](https://adultinfra.com/docs/ai/media-moderation/#signals)
- [Configurable thresholds](https://adultinfra.com/docs/ai/media-moderation/#configurable-thresholds)
- [Frame sampling](https://adultinfra.com/docs/ai/media-moderation/#frame-sampling)
- [Routing to review](https://adultinfra.com/docs/ai/media-moderation/#routing-to-review)
- [What this is not](https://adultinfra.com/docs/ai/media-moderation/#what-this-is-not)
- [Human review remains necessary](https://adultinfra.com/docs/ai/media-moderation/#human-review-remains-necessary)
- [Where AdultInfra fits](https://adultinfra.com/docs/ai/media-moderation/#where-adultinfra-fits) 

**AI-assisted media classification** scores images and video for content signals so a platform can route items for review, apply labels, or enforce its own policy at scale. It is a triage tool that narrows a human reviewer’s attention; it is not a decision-maker, and it does not verify anything about the people depicted.

## Signals

Classification models emit probability-like scores for a set of content signals. A practical set for adult platforms:

- **NSFW:** an aggregate score that the item contains explicit material.

- **Hard nudity:** explicit genital or sexual content.

- **Soft nudity:** partial or suggestive nudity without explicit content.

- **Other labels:** violence, drugs, or platform-specific categories you define.

Treat these as independent signals, not a single verdict. A high soft-nudity score with a low hard-nudity score is a different review outcome than both being high, and the customer’s policy decides which combinations are acceptable for which surface.

## Configurable thresholds

A score becomes an action through a threshold, and thresholds belong to the customer. Typical bands:

Score band Suggested action Below low threshold Auto-accept under the customer’s policy Between thresholds Route to human review Above high threshold Auto-flag for priority review or block per policy 

Thresholds should differ by surface: a public catalogue, a logged-in feed, and a private creator page can each tolerate different content. Make thresholds configurable per tenant and per surface, and log which threshold produced an action so a disputed decision can be explained.

## Frame sampling

Video classification samples frames rather than scoring every frame. Sampling design drives both cost and accuracy:

- **Even sampling** across the duration gives broad coverage cheaply.

- **Scene-change sampling** concentrates on transitions, catching content that appears only briefly.

- **Dense sampling** near flagged regions refines a borderline result.

Too few frames miss short explicit scenes; too many raise cost without improving the verdict. The right strategy depends on the content type: a long-form scene and a short clip need different sampling. Record which frames were scored so a reviewer can jump to the evidence.

## Routing to review

Classification output is only useful if it lands somewhere actionable. Route scored items into a review queue with:

- The signal scores and the frames that produced them.

- The threshold that triggered review and the surface’s policy.

- Enough context for a reviewer to decide without re-watching the whole asset.

Prioritise the queue by score confidence and by exposure: an item about to be promoted or surfaced publicly is more urgent than a dormant archive item.

## What this is not

Be explicit about the boundary. Classification **does not** and cannot verify:

- **Age:** it does not establish that anyone depicted is an adult.

- **Identity:** it does not confirm who is depicted.

- **Consent:** it does not establish that anyone consented.

- **Rights:** it does not confirm ownership or licensing.

These are verification and legal obligations that no content classifier satisfies. Presenting a NSFW score as if it were an age or consent check is both inaccurate and dangerous. Age assurance, consent records, and rights documentation are separate systems and separate responsibilities.

## Human review remains necessary

Classification reduces the volume a human must inspect; it does not remove the need for review. Models drift, thresholds are imperfect, and adversarial uploads are designed to evade scoring. Keep human reviewers in the loop for anything routed above a threshold, retain an appeal path, and treat the model’s output as evidence rather than a verdict.

## Where AdultInfra fits

AdultInfra runs AI-assisted classification with customer-configured thresholds and a clear boundary between content signals and verification. If you need to triage a growing upload queue without outsourcing your policy, start with [adult AI inference](https://adultinfra.com/adult-ai-inference/) and bring one content type and one surface.

**Need this configured for your platform?** [Get a test plan](https://adultinfra.com/contact/) and an engineer will map the resource, cache, and delivery design to your workload.

```json
{"@context":"https://schema.org","@graph":[{"@type":"TechArticle","headline":"AI-assisted media classification","description":"NSFW, hard-nudity and soft-nudity signals with configurable thresholds, frame sampling, and review routing. Not age, identity, consent, or rights verification.","url":"https://adultinfra.com/docs/ai/media-moderation/","dateModified":"2026-09-13","keywords":"NSFW classification, adult content moderation AI, frame sampling, human review queue, media classification","author":{"@id":"https://adultinfra.com/#organization"},"publisher":{"@id":"https://adultinfra.com/#organization"},"inLanguage":"en"},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://adultinfra.com/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https://adultinfra.com/docs/"},{"@type":"ListItem","position":3,"name":"AI-assisted media classification","item":"https://adultinfra.com/docs/ai/media-moderation/"}]}]}
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://adultinfra.com/#organization","name":"AdultInfra","url":"https://adultinfra.com","logo":"https://adultinfra.com/favicon.svg","description":"Luxembourg-based specialist infrastructure for adult platforms.","slogan":"Already behind the adult internet.","areaServed":"Worldwide","knowsAbout":["Adult video CDN","Porn tube site infrastructure","Adult live-cam streaming","Creator subscription platforms","Byte-range video caching","Origin shielding","Player quality of experience","DDoS protection","GPU infrastructure","Adult-capable AI inference"],"location":{"@type":"Place","name":"Luxembourg","address":{"@type":"PostalAddress","addressCountry":"LU"}},"contactPoint":{"@type":"ContactPoint","contactType":"sales","url":"https://adultinfra.com/contact/"}},{"@type":"WebPage","@id":"https://adultinfra.com/docs/ai/media-moderation/#webpage","url":"https://adultinfra.com/docs/ai/media-moderation/","name":"AI-assisted media classification","description":"NSFW, hard-nudity and soft-nudity signals with configurable thresholds, frame sampling, and review routing. Not age, identity, consent, or rights verification.","isPartOf":{"@id":"https://adultinfra.com/#website"},"about":{"@id":"https://adultinfra.com/#organization"},"primaryImageOfPage":{"@type":"ImageObject","url":"https://adultinfra.com/og-default.png"},"inLanguage":"en","mainEntity":{"@id":"https://adultinfra.com/docs/ai/media-moderation/#article"},"dateModified":"2026-09-13"},{"@type":"WebSite","@id":"https://adultinfra.com/#website","url":"https://adultinfra.com","name":"AdultInfra","description":"Luxembourg-based specialist infrastructure for adult platforms.","publisher":{"@id":"https://adultinfra.com/#organization"},"inLanguage":"en","potentialAction":{"@type":"ContactAction","target":"https://adultinfra.com/contact/"}}]}
```
