Content moderation
beta
Synchronous NSFW and sexual-content checks for text, images, and videos. The response contains the final decision; no job polling is required.
Quick start
Submit exactly one modality and wait for the final moderation decision.
curl -X POST "https://api.artany.ai/v1/moderations/models/beta" \
-H "Authorization: Bearer $ARTANY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: moderation-beta-001" \
-d '{"modality":"video","url":"https://cdn.example.com/clip.mp4"}'Decision policy
| Modality | Block condition | Allowed content |
|---|---|---|
| text | Sexual-content score reaches the configured text threshold after English normalization | Score below the configured text threshold |
| image / video | Explicit-content score reaches the shared visual threshold | Lingerie, covered nudity, suggestive poses, swimwear, cleavage, and unused sex toys may pass |
The text and visual thresholds are managed separately. Visual checks block only explicit sexual activity, explicit sexual display, or erotica. Other safety categories such as violence, drugs, weapons, and hate are outside this model.
Response
{
"sexual_suggest": "block",
"category": "sexual_explicit",
"sexual_score": 0.87,
"labels": [
{ "label": "sexual_activity", "score": 0.12, "time": 3 },
{ "label": "sexual_display", "score": 0.87, "time": 3 },
{ "label": "erotica", "score": 0.64, "time": 3 }
],
"hit_position_ms": 3000,
"billing": { "charged_credits": "5", "idempotent": false }
}sexual_suggest uses the same allow or block decision field as alpha. labels contains the normalized supplier scores; video labels include their frame time in seconds. Only the configured sexual classes determine the decision. A block is a successful, billable moderation decision. Provider errors and the 180-second video timeout return an error response and release the request charge.
Inputs and limits
- Text:
text, 1–4,096 characters. - Image: public HTTPS
url. - Video: public HTTPS
url, at most 60 seconds; analyzed at approximately one frame per second. - Media URLs must remain downloadable until the synchronous request finishes.
- Video processing has a 180-second synchronous deadline.
- One request is 1 Credit for text, 2 Credits for image, or 5 Credits for video.