Unitary AI Moderation API

The moderation API from Unitary AI — 1 operation(s) for moderation.

Operations 1

POST /moderate Moderate Content #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/unitary-ai-moderation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

unitary-ai-moderation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Unitary content classification Moderation API
  description: This API is for classifying image and video files to detect various types of potentially harmful content.
  version: 1.0.0
tags:
- name: Moderation
paths:
  /moderate:
    post:
      tags:
      - Moderation
      summary: Moderate Content
      operationId: moderate_content_moderate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualModeratorRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualModeratorQueuedResponse'
        '404':
          description: Not found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - JWTBearer: []
components:
  schemas:
    TextAttachment:
      properties:
        relation_to_main_media:
          type: string
          enum:
          - related_link
          - comment
          - post
          - chat
          - profile
          - post_by_same_user
          - metadata
          - user_report
          title: Relation To Main Media
          description: Defines how the attachment is related to the main media, such as being a comment, a post, or a chat
          default: post
        type:
          type: string
          enum:
          - text
          const: text
          title: Type
          default: text
        mime_type:
          type: string
          enum:
          - text/markdown
          - text/plain
          - text/html
          title: Mime Type
          description: MIME type of the text content
        value:
          type: string
          title: Value
          description: Text content, limited to 100 KiB
      type: object
      required:
      - mime_type
      - value
      title: TextAttachment
    VirtualModeratorQueuedResponse:
      properties:
        moderation_job_id:
          type: string
          pattern: ^vmod_[0-7][0-9a-hjkmnp-tv-z]{25}$
          title: Moderation Job Id
          description: The moderation job ID, which has a 'vmod' prefix
          examples:
          - vmod_01h45ytscbebyvny4gc8cr8ma2
        external_id:
          anyOf:
          - type: string
          - type: 'null'
          title: External Id
          description: Optional external ID as specified in the request
        classification_job_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Classification Job Id
          description: The job ID of the initial classification
      additionalProperties: false
      type: object
      required:
      - moderation_job_id
      - classification_job_id
      title: VirtualModeratorQueuedResponse
    UserReportAttachment:
      properties:
        relation_to_main_media:
          type: string
          enum:
          - related_link
          - comment
          - post
          - chat
          - profile
          - post_by_same_user
          - metadata
          - user_report
          title: Relation To Main Media
          description: Defines how the attachment is related to the main media, such as being a comment, a post, or a chat
          default: post
        type:
          type: string
          enum:
          - user_report
          const: user_report
          title: Type
          default: user_report
        value:
          type: string
          title: Value
      type: object
      required:
      - value
      title: UserReportAttachment
    MediaMainContent:
      properties:
        external_id:
          type: string
          title: External Id
        is_user_report:
          type: boolean
          title: Is User Report
          default: false
        value:
          type: string
          minLength: 1
          format: uri
          title: Value
        type:
          type: string
          enum:
          - image
          - video
          title: Type
      additionalProperties: false
      type: object
      required:
      - external_id
      - value
      - type
      title: MediaMainContent
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    MetadataAttachment:
      properties:
        relation_to_main_media:
          type: string
          enum:
          - related_link
          - comment
          - post
          - chat
          - profile
          - post_by_same_user
          - metadata
          - user_report
          title: Relation To Main Media
          description: Defines how the attachment is related to the main media, such as being a comment, a post, or a chat
          default: post
        type:
          type: string
          enum:
          - metadata
          const: metadata
          title: Type
          default: metadata
        value:
          type: string
          title: Value
        mime_type:
          type: string
          enum:
          - application/json
          const: application/json
          title: Mime Type
          description: MIME type of the metadata content
      type: object
      required:
      - value
      - mime_type
      title: MetadataAttachment
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    TextMainContent:
      properties:
        external_id:
          type: string
          title: External Id
        is_user_report:
          type: boolean
          title: Is User Report
          default: false
        value:
          type: string
          title: Value
        type:
          type: string
          enum:
          - text
          const: text
          title: Type
        resource_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Resource Url
      additionalProperties: false
      type: object
      required:
      - external_id
      - value
      - type
      title: TextMainContent
    VirtualModeratorRequest:
      properties:
        main_content:
          oneOf:
          - $ref: '#/components/schemas/MediaMainContent'
          - $ref: '#/components/schemas/TextMainContent'
          title: Main Content
          discriminator:
            propertyName: type
            mapping:
              image: '#/components/schemas/MediaMainContent'
              text: '#/components/schemas/TextMainContent'
              video: '#/components/schemas/MediaMainContent'
        classification_job_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Classification Job Id
        attachments:
          items:
            oneOf:
            - $ref: '#/components/schemas/TextAttachment'
            - $ref: '#/components/schemas/LinkAttachment'
            - $ref: '#/components/schemas/UserReportAttachment'
            - $ref: '#/components/schemas/MetadataAttachment'
            description: Attachment adding context to the main content
            discriminator:
              propertyName: type
              mapping:
                link: '#/components/schemas/LinkAttachment'
                metadata: '#/components/schemas/MetadataAttachment'
                text: '#/components/schemas/TextAttachment'
                user_report: '#/components/schemas/UserReportAttachment'
          type: array
          title: Attachments
        callback_url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Callback Url
      additionalProperties: false
      type: object
      required:
      - main_content
      - attachments
      - callback_url
      title: VirtualModeratorRequest
      description: Request received by the API worker in the HTTP POST
    LinkAttachment:
      properties:
        relation_to_main_media:
          type: string
          enum:
          - related_link
          - comment
          - post
          - chat
          - profile
          - post_by_same_user
          - metadata
          - user_report
          title: Relation To Main Media
          description: Defines how the attachment is related to the main media, such as being a comment, a post, or a chat
          default: post
        type:
          type: string
          enum:
          - link
          const: link
          title: Type
          default: link
        value:
          type: string
          minLength: 1
          format: uri
          title: Value
      type: object
      required:
      - value
      title: LinkAttachment
  securitySchemes:
    JWTBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT