NSFW detection

An NSFW detection API for images and text.

Send the address of an image, or a text. Detectivision answers whether it shows or says something sexual, and how sure it is, along with any other flags you ask for. The image itself is not stored.

What it finds

Sexual content, in pictures and in words

The sexual flag exists for images and for text, and every account has it.

  • Nudity and sexual images

    Pictures that show nudity or sexual content, judged on the whole image.

  • Sexual language

    Explicit descriptions, and sexual harassment in messages, comments and bios, in Turkish and English.

  • Other flags in the same call

    Add violence, hate or scam to an image check, or insults and hate to a text check. The price stays the same.

In code

Check an image before it is shown

Request
curl https://api.detectivision.ai/api/v1/moderation \
  -H "Api-Key: $DETECTIVISION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "image_moderation",
    "input": "https://example.com/photo.jpg",
    "mode": "detect",
    "flags": ["sexual"]
  }'
Response
{
  "id": 1042,
  "type": "image_moderation",
  "mode": "detect",
  "status": "completed",
  "flagged": true,
  "flags": [{ "flag": "sexual", "confidence": 0.94 }],
  "checked": ["sexual"],
  "unchecked": [],
  "tookMs": 1180,
  "usage": { "charged": 2, "remaining": 9998 }
}

detect mode answers with the verdict only: the cheapest check, enough to hold back an upload. Leave out flags to check every image flag of your account.

How it works
  1. Check at upload

    Send each new image or text before it goes live. An answer given at once suits a form that waits; add "async": true to get it by webhook, at half the price.

  2. Decide on the flag

    Hold back what raises sexual, or send answers with a confidence between 0.5 and 0.7 to a person first. A flag is raised from 0.5 by default.

  3. Review in Logs

    Every request shows in the dashboard’s Logs, with your own actions such as Approve or Remove. Your system gets each one by webhook.

Where it helps
Questions

Frequently asked

What does a check cost?

An image is 1 credit in detect mode, and a text 1 credit per started 2,500 characters, when the answer comes by webhook. An answer given at once, the default, costs twice that. Errors and partial results cost nothing.

Do you keep the images?

No. An image is downloaded, checked and not kept.

Which images can I send?

JPEG, PNG, WebP, BMP and GIF, up to 10 MB, at an http or https address anyone can open. Signed links work while they are valid.

Can I set my own threshold?

Yes. A flag is raised from a confidence of 0.5 by default, and its confidence comes with it, so you can act only above your own line, or send the middle band to a person.

Which languages does the text check understand?

Turkish and English. Text in other languages is checked, but the results are not reliable.