Skip to main content
POST
/
v1
/
moderations
curl --request POST \
  --url https://api.apimart.ai/v1/moderations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "omni-moderation-latest",
    "input": [
      {
        "type": "text",
        "text": "Please moderate whether this image is compliant"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
        }
      }
    ],
    "stream": false
  }'

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

Use omni-moderation-latest to perform safety moderation on input content. This model belongs to the Moderation Series and is not part of the image, video, or audio generation series.
curl --request POST \
  --url https://api.apimart.ai/v1/moderations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "omni-moderation-latest",
    "input": [
      {
        "type": "text",
        "text": "Please moderate whether this image is compliant"
      },
      {
        "type": "image_url",
        "image_url": {
          "url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
        }
      }
    ],
    "stream": false
  }'

Supported Models

ModelDescriptionSupported Inputs
omni-moderation-latestGeneral-purpose content moderation modelText, image, mixed text+image

Authorizations

Authorization
string
required
All endpoints require authentication using a Bearer Token.Get an API Key:Visit the API Key management page to obtain your API Key.Add the following header in your request:
Authorization: Bearer YOUR_API_KEY

Body

model
string
required
Moderation model name.
  • omni-moderation-latest - General-purpose content moderation model
input
string | string[] | object[]
required
Content to be moderated. Supports plain text, text array, or content block array.Content blocks can include:
  • text - Text content block
  • image_url - Image URL content block
stream
boolean
default:"false"
Whether to stream the response.
  • false: Non-streaming response (default; the only value currently supported, true is not supported)

input Request Modes

Mixed Text + Image

{
  "model": "omni-moderation-latest",
  "input": [
    {
      "type": "text",
      "text": "Please moderate whether this image is compliant"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
      }
    }
  ],
  "stream": false
}

Plain Text (Single)

{
  "model": "omni-moderation-latest",
  "input": "I want to kill someone",
  "stream": false
}

Plain Text (Array)

{
  "model": "omni-moderation-latest",
  "input": [
    "hello",
    "I hate you"
  ],
  "stream": false
}

Image Only (Image URL)

{
  "model": "omni-moderation-latest",
  "input": [
    {
      "type": "image_url",
      "image_url": {
        "url": "https://cdn.apimart.ai/files/1779955589195-wh950j4imqd.jpeg"
      }
    }
  ],
  "stream": false
}

Image Only (base64 Data URI)

{
  "model": "omni-moderation-latest",
  "input": [
    {
      "type": "image_url",
      "image_url": {
        "url": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAA..."
      }
    }
  ],
  "stream": false
}

Notes

  1. When input is a content block array, each element uses type to distinguish content type.
  2. For image moderation, prefer using publicly accessible URLs. If using base64, follow the standard Data URI format: data:image/{format};base64,{data}.
  3. Unless required otherwise, set stream: false consistently.