> ## Documentation Index
> Fetch the complete documentation index at: https://www.edenai.co/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Explicit Content Detection

> Explicit Content Detection detects adult only content in images, that is generally inappropriate for people under the age of 18 and includes nudity, sexual activity, pornography, violence, gore

export const TechArticleSchema = ({title, description, path, articleSection, about, proficiencyLevel = "Beginner", dependencies, keywords = [], datePublished, dateModified, image, inLanguage = "en"}) => {
  const baseUrl = "https://www.edenai.co/docs";
  const canonicalUrl = `${baseUrl}/${path}`.replace(/\/+$/, "");
  const ogParams = new URLSearchParams({
    division: articleSection || "",
    title: title || "",
    description: description || ""
  });
  const resolvedImage = image || `https://edenai.mintlify.app/_mintlify/api/og?${ogParams.toString()}`;
  const data = {
    "@context": "https://schema.org",
    "@type": "TechArticle",
    "@id": `${canonicalUrl}#techarticle`,
    mainEntityOfPage: {
      "@type": "WebPage",
      "@id": canonicalUrl
    },
    headline: title,
    name: title,
    description: description,
    url: canonicalUrl,
    inLanguage: inLanguage,
    isPartOf: {
      "@type": "WebSite",
      name: "Eden AI Documentation",
      url: baseUrl
    },
    author: [{
      "@type": "Organization",
      name: "Eden AI",
      url: "https://www.edenai.co/"
    }],
    publisher: {
      "@type": "Organization",
      name: "Eden AI",
      url: "https://www.edenai.co/",
      logo: {
        "@type": "ImageObject",
        url: "https://www.edenai.co/assets/logo.png"
      }
    }
  };
  if (articleSection) data.articleSection = articleSection;
  if (about) data.about = {
    "@type": "Thing",
    name: about
  };
  if (proficiencyLevel) data.proficiencyLevel = proficiencyLevel;
  if (dependencies) data.dependencies = dependencies;
  if (keywords && keywords.length) data.keywords = keywords;
  if (datePublished) data.datePublished = datePublished;
  if (dateModified) data.dateModified = dateModified;
  data.image = Array.isArray(resolvedImage) ? resolvedImage : [resolvedImage];
  const json = JSON.stringify(data);
  const schemaId = `techarticle-${canonicalUrl}`;
  React.useEffect(() => {
    if (typeof document === "undefined") return;
    document.querySelectorAll(`script[data-schema-id="${schemaId}"]`).forEach(n => n.remove());
    const script = document.createElement("script");
    script.type = "application/ld+json";
    script.dataset.schemaId = schemaId;
    script.textContent = json;
    document.head.appendChild(script);
    return () => script.remove();
  }, [json, schemaId]);
  return null;
};

<TechArticleSchema title={`Explicit Content Detection`} description={`Explicit Content Detection detects adult only content in images, that is generally inappropriate for people under the age of 18 and includes nudity, sexual activity, pornography, violence, gore`} path="v3/expert-models/features/image/explicit-content" articleSection="Image Features" about={`Image AI API`} proficiencyLevel="Intermediate" keywords={[`Eden AI`, `AI API`, `image analysis`, `computer vision`]} datePublished="2026-05-06T00:00:00Z" dateModified="2026-05-07T00:00:00Z" />

## Endpoint

`POST /v3/universal-ai` (sync)

Model string pattern: `image/explicit_content/{provider}[/{model}]`

## Input

| Field | Type        | Required | Description                                      |
| ----- | ----------- | -------- | ------------------------------------------------ |
| file  | file\_input | Yes      | Image file ID from /v3/upload or direct file URL |

## Output

| Field                   | Type           | Required | Description                                                                                                                                                                |
| ----------------------- | -------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| nsfw\_likelihood        | int            | Yes      | An integer representing the likelihood of NSFW content. Higher values indicate a higher likelihood.                                                                        |
| nsfw\_likelihood\_score | float          | Yes      | A floating-point score representing the confidence level of the NSFW likelihood assessment. This is typically a value between 0.0 and 1.0.                                 |
| **items**               | array\[object] | No       | A list of items identified as potentially explicit. Each item contains details of the explicit content detected.                                                           |
|     label               | string         | Yes      |                                                                                                                                                                            |
|     likelihood          | int            | Yes      |                                                                                                                                                                            |
|     likelihood\_score   | float          | Yes      |                                                                                                                                                                            |
|     category            | enum           | Yes      | The category of the detected content. Possible values include: 'Toxic', 'Content', 'Sexual', 'Violence', 'DrugAndAlcohol', 'Finance', 'HateAndExtremism', 'Safe', 'Other'. |
|     subcategory         | string         | Yes      | The subcategory of content. Possible values:                                                                                                                               |

Toxic Subcategories:

* Insult
* Obscene
* Derogatory
* Profanity
* Threat
* Toxic

Content Subcategories:

* MiddleFinger
* PublicSafety
* Health
* Explicit
* QRCode
* Medical
* Politics
* Legal

Sexual Subcategories:

* SexualActivity
* SexualSituations
* Nudity
* PartialNudity
* Suggestive
* AdultToys
* RevealingClothes
* Sexual

Violence Subcategories:

* GraphicViolenceOrGore
* PhysicalViolence
* WeaponViolence
* Violence

Drug and Alcohol Subcategories:

* DrugProducts
* DrugUse
* Tobacco
* Smoking
* Alcohol
* Drinking

Finance Subcategories:

* Gambling
* Finance
* MoneyContent

Hate and Extremism Subcategories:

* Hate
* Harassment
* Threatening
* Extremist
* Racy

Safe Subcategories:

* Safe
* NotSafe

Other Subcategories:

* Spoof
* Religion
* Offensive
* Other |

## Available Providers

| Provider        | Model String                           | Price                  |
| --------------- | -------------------------------------- | ---------------------- |
| amazon          | `image/explicit_content/amazon`        | \$1 per 1,000 files    |
| clarifai        | `image/explicit_content/clarifai`      | \$2 per 1,000 files    |
| google          | `image/explicit_content/google`        | \$1.5 per 1,000 files  |
| microsoft       | `image/explicit_content/microsoft`     | \$1 per 1,000 files    |
| openai          | `image/explicit_content/openai`        | \$24 per 1,000 files   |
| openai (gpt-4o) | `image/explicit_content/openai/gpt-4o` | \$24 per 1,000 files   |
| sentisight      | `image/explicit_content/sentisight`    | \$0.75 per 1,000 files |

## Quick Start

<CodeGroup>
  ```python Python theme={null}
  import requests

  url = "https://api.edenai.run/v3/universal-ai"
  headers = {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
  }

  payload = {
      "model": "image/explicit_content/amazon",
      "input": {
          "file": "YOUR_FILE_UUID_OR_URL"
      }
  }

  response = requests.post(url, headers=headers, json=payload)
  print(response.json())
  ```

  ```bash cURL theme={null}
  curl -X POST https://api.edenai.run/v3/universal-ai \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "image/explicit_content/amazon",
      "input": {"file": "YOUR_FILE_UUID_OR_URL"}
    }'
  ```
</CodeGroup>
