Skip to content

Moderate a feed of text posts and photos

A text post gets its verdict in the same request, while a post with photos answers 202 and its result follows on your webhook.

  • Templates on Starter and up
  • Test keys cost nothing
POST/v1/moderationstemplate: "posts"
Sample data
  • Sunday run? We meet at the bridge at 8.

    @mira.kText
    Safe200
  • A photo
    @tomaszImage
    Screening202
  • 3 photos
    @dk_933 images
    Screening202
  • Three weeks of sourdough and it finally rose.

    @ines_rText
    Safe200
  • A photoRidge at sunrise
    @kofiText, image
    Screening202
  • A photo
    @yuki.tImage
    Screening202

POSTmoderation.completed4 posts screening

Sample data

Start from the Social post preset

The preset describes a public post with optional text and up to ten images, so a post can be photos alone.

Social post

preset: "social-post"
FieldTypeRuleValidationTriggers
TexttextTextOptionalUp to 5,000 charactersTemplate triggers
ImagesimagesImageOptionalUp to 10 files, 10 MB eachSexual content, flagsViolence, flags
Policies
FlagThe post becomes FLAGGED.
Hate speechToxicityViolenceSelf-harmSexual contentIllicit & regulated goodsSwear wordsPersonal data
ReviewAdds a review signal without flagging.
Spam & advertisingLookalike characters
ObserveScored and returned, never affects the verdict.
Links & contact detailsMeaningless textOff-topicMade with AIGrowth and up

Every photo in a post is scored

Violence, self-harm, sexual content and illicit goods are scored on each photo, and each policy reports its highest score across them.

  • Text in a photo is readWords in a meme or a screenshot are checked for swear words, lookalike characters and your wordlists.

  • Stored photos stay blurredIn the live console your team sees a blurred copy until someone reveals the original.

Acme Corp./Live console
Sample data

Media

mod_2Vx6…8mLa

Blurred by default. Revealing the original is recorded in the audit log.

  • Blurred copyimages · 471 KBReveal original
  • Blurred copyimages · 512 KBReveal original
  • Blurred copyimages · 388 KBReveal original

Policy resultsimages

  • Violencegraphic0.91
  • Sexual content0.02
  • Illicit & regulated goods0.01
  • Self-harm0.00
FlaggedTriggeredRejectedReject

Sample data

Add the Comment and Profile presets

A social app publishes three templates, one each for posts, comments and profiles.

Template presets
Presets as shippedTrigger effectFlagReview
Trigger effectFlagReview

Comment

A short public comment or reply.

preset: "comment"
FieldTypeRuleValidationTriggers
CommentbodyTextRequired1 to 2,000 charactersTemplate triggers

Two commentsSample data

  • @ines_rLove this one. Where was it taken?Safe
  • @dk_93Nobody asked you, clown.Toxicity0.88Flagged
Content rules
  1. 01Zero tolerance for hateif Hate speech is flaggedReject

Profile

A member's public profile: display name, bio and avatar.

preset: "profile"
FieldTypeRuleValidationTriggers
Display namedisplay_nameTextRequired2 to 60 charactersSwear words, flagsLookalike characters, adds a review signal
BiobioTextOptionalUp to 1,000 charactersLinks & contact details, adds a review signal
AvataravatarImageOptional1 file, up to 5 MBSexual content, flags
Content rules

No rulesSeverity triage alone decides.

Presets as shipped

Your rules can read who wrote the post

Infrared keeps a status and a trust level for every author id you send.

  • Five trust levelsNew, Basic, Regular, Established and Trusted, recomputed after every live moderation.

  • Posts from blocked authors are rejectedThe first rule of the Social post preset rejects every post from an author who is Suspended or Blocked.

Content rules
Sample data

user_2291

The author of one clean post

Status: EnabledTrust level: Regular
  1. 01Block banned authorsif author is not enabledReject
  2. 02Zero tolerance for hateif Hate speech is flaggedReject
  3. Severity triagewhen no rule matchesAllow
"reasons": ["triage:allow"]PublishedAllow

Sample data

Start moderating your users' content

Create an API key, send your first request and get a verdict back.