Why moderation
AI generation platforms need to prevent harmful content from being created or distributed. The moderation module automates this by analysing inputs against the configured content categories and returning anis_prohibited
verdict.
Modalities
Prompt moderation
Screen a text prompt against your blocklist and an LLM prohibition check before generation.- Input:
textfield - Pipeline: a blocklist scan followed by an LLM prohibition check (your account administrator can enable additional optional steps)
- Output:
is_prohibitedverdict, plus areasonwhen a prompt is rejected
Chat moderation
Screen a single chat turn with the LLM prohibition check only. The blocklist is skipped, so conversational text isn’t rejected for incidental mentions of flagged terms.- Input:
textfield - Pipeline: an LLM prohibition check (no blocklist scan)
- Output:
is_prohibitedverdict, plus areasonwhen a turn is rejected
Image moderation
Screen a single image with vision-language and NSFW classifiers, plus any per-client custom categories you have configured.- Input:
imagefield — a public HTTP/HTTPS URL (direct file upload is currently paused) - Pipeline: VLM classification + NSFW classification + optional custom VLM children, all in parallel
- Output:
is_prohibitedverdict and flagged categories
Video moderation
Analyse a video by sending the whole clip to a video-capable vision model — the same checks as image moderation, applied to the video directly.- Input:
videofield — a public HTTP/HTTPS URL up to 300 MB (direct file upload is currently paused) - Pipeline: the video is classified directly by the vision model (no frame extraction)
- Output:
is_prohibitedverdict and an informationalnsfwlabel
POST /moderate/video/frame: it samples frames with
FFmpeg, classifies each one, and merges the results (any prohibited frame rejects the video).
Learn more about video moderation
Coming soon
Asynchronous processing
All modalities run asynchronously. When you submit a request, the API returns ajob_id immediately
with status: "queued". You can then:
- Poll the job status endpoint for results.
- Stream real-time updates via SSE.
- Receive results via webhook when the job completes.