Content moderation
Automated safety screening for text, images, video, and audio
Omnifence API screens text, images, video, and audio for unsafe content. Each modality has its own endpoint, tuned to that medium.
Why moderation#
A platform that creates or hosts content must stop harmful material before it reaches people.
Omnifence automates that check. It analyses your content against the configured
moderation categories and returns a single is_prohibited
decision, with a reason when it rejects the content. A completed text or
audio job can also carry informational risk scores per category,
which never change the decision.
Modalities#
Text moderation#
Screen text against your configured moderation policies before you act on it, including any custom categories you have configured.
- Input:
textfield - Output:
is_prohibiteddecision, plus areasonwhen the text is rejected
Learn more about text moderation
Image moderation#
Screen a single image against the always-on AI Adult General prohibited-content check, which also covers any custom categories you have configured. The optional NSFW label runs alongside it.
- Input:
imagefield, a public HTTP/HTTPS URL. The endpoint takes a URL, not a file upload. - Output:
is_prohibiteddecision, an informationalnsfwlabel, plus areasonwhen an image is rejected
Learn more about image moderation
Video moderation#
Screen a video against the same checks as image moderation, applied to the whole clip.
- Input:
videofield, a public HTTP/HTTPS URL up to 100 MB. The endpoint takes a URL, not a file upload. - Output:
is_prohibiteddecision and an informationalnsfwlabel
Learn more about video moderation
Audio moderation#
Screen the speech in an audio clip with the same checks as text moderation, including any custom categories you have configured. Non-speech audio (music, sound effects) is not screened.
- Input:
audiofield, a public HTTP/HTTPS URL up to 100 MB and 30 minutes - Output:
is_prohibiteddecision, plus areasonwhen a clip is rejected
The transcript is never stored and never returned; see transcript privacy.
Learn more about audio moderation
Asynchronous processing#
All modalities run asynchronously. When you submit a request, the API returns a job_id immediately
with status: "queued". You can then:
- Poll the job status endpoint for results.
- Receive results via webhook when the job completes.
The job status endpoint reports queued, processing, completed or failed. A moderation job
goes straight from queued to a terminal completed or failed, and it never reports percentage
progress, so poll for the terminal status rather than trying to render a progress bar.