SFW API

Nudity detection that returns a level, not a guess.

One request returns a nudity level from 0 to 3, the three level scores, art and adult-object flags, and whether your policy blocks it. GIF and video frames included. Processed in memory in Germany, never stored.

500 free credits every month. No card.

{
  "nudity": { "level": 2, "scores": { "revealing": 96.2, "implied_nudity": 71.5, "explicit": 8.1 } },
  "flags":  { "art": { "score": 3.4, "detected": false }, "sex_object": { "score": 0.9, "detected": false } },
  "policy": { "blocked": true, "reason": "level", "matched_level": 2 },
  "media":  { "kind": "gif", "frames_analyzed": 5 },
  "usage":  { "credits": 5, "balance": 9995 }
}

Four levels, not one score

Swimwear is not nudity, and a nude statue is not a photo. Every image gets a level; you decide where to draw the line, per community, per request.

Level 0
Everyday

Regular, fully clothed content. Always allowed.

Level 1
Revealing

Swimwear, lingerie and outfits that show more skin.

Level 2
Implied Nudity

Unclothed, with intimate areas covered or out of view.

Level 3
Explicit

Visible intimate areas.

Policy as a request

Send block_level, block_sex_objects and an art rule; get blocked: true or false. The same engine that moderates Discord servers through SfwBot.

Nothing is stored

Media is downloaded or uploaded into memory, scored, and gone. No URLs, hashes or file names are logged. Failed requests cost nothing.

GIF and video built in

Frames are sampled evenly across the clip; you pay one credit per analysed frame and can read every frame if you want to.

Simple prepaid pricing

1 credit = 1 image or 1 analysed frame. Credits never expire.

$10
10,000 credits · $1.00 per 1,000
$40
50,000 credits · $0.80 per 1,000
$150
250,000 credits · $0.60 per 1,000
$500
1,000,000 credits · $0.50 per 1,000
Full pricing and comparison

Two lines to start

curl -X POST https://api.sfwapi.dev/v1/analyze \
  -H "Authorization: Bearer sk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/photo.jpg","policy":{"block_level":2}}'