---
title: "Create moderation"
method: POST
path: "/v1/moderations"
tags: ["Moderations"]
---

# Create moderation

`POST /v1/moderations`

Classifies one or more text inputs for harmful content. Schema-compatible with the OpenAI Moderations API — works with the OpenAI SDK.

## Request body

- ModerationRequest
  - `input` union, required — A single string or an array of strings to classify for harmful content.
    - string
    - string[]
  - `model` string — The moderation model to use.

## Response `200`

A successful response.

- ModerationResponse
  - `id` string — Unique identifier for the moderation request.
  - `model` string — The model used for classification.
  - `results` ModerationResult[] — Array of moderation results, one per input.
    - `flagged` boolean — Whether the content was flagged as harmful.
    - `categories` object — Boolean flags for each safety category.
      - `sexual` boolean
      - `sexual/minors` boolean
      - `harassment` boolean
      - `harassment/threatening` boolean
      - `hate` boolean
      - `hate/threatening` boolean
      - `illicit` boolean
      - `illicit/violent` boolean
      - `self-harm` boolean
      - `self-harm/intent` boolean
      - `self-harm/instructions` boolean
      - `violence` boolean
      - `violence/graphic` boolean
    - `category_scores` object — Numeric confidence scores (0–1) for each safety category.
      - `sexual` number
      - `sexual/minors` number
      - `harassment` number
      - `harassment/threatening` number
      - `hate` number
      - `hate/threatening` number
      - `illicit` number
      - `illicit/violent` number
      - `self-harm` number
      - `self-harm/intent` number
      - `self-harm/instructions` number
      - `violence` number
      - `violence/graphic` number
    - `category_applied_input_types` object — Input types evaluated for each category.
    - `ailuminate` AILuminateResult — Additional safety classifications based on the AILuminate benchmark by MLCommons. Extends the standard OpenAI moderation categories with more granular signals.
      - `safety` 'safe' | 'unsafe' | 'controversial' — Overall safety assessment.
      - `categories` object — Boolean flags for AILuminate-specific safety categories.
        - `violent_crimes` boolean
        - `sex_related_crimes` boolean
        - `child_sexual_exploitation` boolean
        - `suicide_self_harm` boolean
        - `indiscriminate_weapons` boolean
        - `intellectual_property` boolean
        - `defamation` boolean
        - `non_violent_crimes` boolean
        - `hate` boolean
        - `specialized_advice` boolean
        - `privacy` boolean
        - `sexual_content` boolean
      - `extensions` object — Additional classification signals.
        - `politically_sensitive` boolean
        - `unethical_acts` boolean
        - `jailbreak` boolean
      - `refusal` boolean — Whether the content represents a refusal.

## Other responses

- `400` — Bad request - Missing or invalid input
- `401` — Unauthorized - Invalid or missing API key

---

[API](https://skmtc.net/inworld/apis/inworld-text-to-speech-api.md) · [All operations](https://skmtc.net/inworld/apis/inworld-text-to-speech-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/inworld/inworld-text-to-speech-api/revisions/e79009799a0d/schema)
