modwall documentation

modwall is an API for image and text moderation. You send an image (/v1/moderate) or text (/v1/moderate-text) and get back a raw score. We process content in memory and never store it — we log only metadata (time, score, size). Built to run in production from day one: clear error codes, webhooks, and an audit log.

Detection scope (images): nsfw (nudity / adult content) — always on; weapon (weapons) and violence (violence/gore, beta) — enabled per key profile, with results in the categories field. We don't detect offensive gestures. Text: toxicity, a multilingual model (understands Polish).

You choose the scope (images / text / both) in your plan — an endpoint outside your scope returns 403 capability_required.

Goal: a working request in 5 minutes. Sign up → generate a key → copy three lines from the Quickstart. You don't even need to write curl — there's a ready-made widget and copy-paste examples in Python, Node.js and PHP.

Two ways to integrate

Server-side APIWidget (browser)
Keysk_live_ (secret, backend)pk_live_ (public + domain allowlist)
Callbackend ↔ backendfrom the user's browser
Use casethe compliance backbone, can't be bypassedquick feedback on upload
DocumentationAPI referenceWebsite widget

Recommendation: use the widget for UX, but real enforcement always happens server-side (the sk_live_ API). A public key plus domain checking is browser-side protection, not your compliance backbone.

Where to start