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.

POST /v1/moderations/models/betaSynchronousNSFW / sexual only

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

ModalityBlock conditionAllowed content
textSexual-content score reaches the configured text threshold after English normalizationScore below the configured text threshold
image / videoExplicit-content score reaches the shared visual thresholdLingerie, 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.