All pages

NudeNet server

Per-body-part exposure scores over HTTP (POST /infer). The suite's exposed score is computed from its answer. See Moderation. NudeNet is AGPL-3.0, which is why it stays behind HTTP rather than being imported.

Used by

PackageWhat forReads
argus-curator (opens in new tab)

Scan filters, drop_nsfw, and the under-18 rule.

ARGUS_CURATOR_NUDENET_URL, ARGUS_CURATOR_NUDENET_TIMEOUT, ARGUS_CURATOR_NUDENET_WORKERS, --nudenet-url

argus-darkroom (opens in new tab)

Output scan: blur or omit. Empty means SFW generation is refused.

ARGUS_DARKROOM_NUDENET_URL

argus-proof (opens in new tab)

SafetyScorer. Without a URL the scorer is skipped.

PROOF_NUDENET_URL, PROOF_NUDENET_TIMEOUT

argus-cortex (opens in new tab)

NudeNetClient, DEFAULT_EXPOSED_LABELS, exposed_score.

—

Official guides

Minimal setup

  1. Run the server image. Studio's compose runs it as the nudenet service in the curator, forge, full and darkroom profiles, using the same ghcr.io/notai-tech/nudenet image that curator's compose pins.
  2. Point the clients at its origin. They add /infer themselves: ARGUS_CURATOR_NUDENET_URL=http://nudenet:8080 inside compose, or http://<LAN_HOST>:8080 from elsewhere.
  3. Check it: the server should answer a multipart POST /infer with {"prediction": [...], "success": true}.

How the answer becomes the suite's exposed score is on the Moderation page.