Skip to main content
Image moderation evaluates a single image against vision-language classifiers (for NSFW, AI adult general, and underage detection) plus any per-client custom categories you have configured.

Input

Submit a multipart/form-data request with:
The image field must be a public HTTP or HTTPS URL. URLs using another scheme, or resolving to a private or internal network address, are rejected with 400 INVALID_REQUEST.

Pipeline

Checks run in parallel on the submitted image:

VLM classification

A vision-language model analyses the image for each configured visual moderation category — by default NSFW, AI adult general, and underage. Disabled categories are skipped at enqueue time.

Custom VLM categories

If your client has any custom categories enabled, each one runs as an additional VLM child job in parallel. Results are returned nested under categories.custom on the completed job.

Output

When all child checks complete, the parent job merges the results:
categories.custom is only included when at least one custom category ran for the job. If you haven’t configured any custom categories, the custom key is omitted entirely. See decision logic for how the prohibition decision is determined.