Input
Submit amultipart/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 undercategories.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.