Unitary AI Moderation API
The moderation API from Unitary AI — 1 operation(s) for moderation.
The moderation API from Unitary AI — 1 operation(s) for moderation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/unitary-ai-moderation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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