const res = await client.moderation.check({
entity_type: "listing",
entity_id: "listing-8231",
entity_creator_id: "user-412",
moderation_payload: {
texts: ["Pay me on cash app, 50% off"],
images: ["https://cdn.app.com/8231.jpg"],
},
config_key: "marketplace",
});
// res.recommended_action -> "remove"AI content moderation for trust & safety teams.
Detect 35+ harm categories across text, images, video, audio, and livestreams in 50+ languages, at 98% accuracy. Nora, your moderation agent, reviews every flag in context and recommends or takes action based on your policies.



High-performance detection at scale.
Read Moderation benchmark- 1B+end users across products
- 99.999%uptime SLA
- Globaledge network
- 8B+unique moderation requests/month
- 2B+images moderated/month
- 120M+policy violations identified/month
- 35+ harm categories supported
- 98% harmful content catch rate
- sub-50ms text moderation latency
- 300ms to score a live video frame
Request distribution
Share of requests by modality
- Text45%
- Images30%
- Usernames15%
- Video10%
Most tools can't keep up with attacks.
With Stream, your team writes the fix.
A new attack appears.
Scammers change wording, links, or images to slip past your filters.
Users report it before your tools catch it.
The damage is already done.
You wait on a vendor or a model retrain.
Weeks pass before the fix ships.
Attackers have already moved on.
The cycle starts again.
New spam shows up.
A link-in-bio adult promo hits your comments. Nora flags the problem.
Write the policy.
Describe the harm in plain language and Stream turns it into a label.
Test it.
Run the policy on past content and see what it would have caught.
Activate it.
Spam drops back to baseline the same day.
From new spam to new rule in minutes.
Write the policy in plain language, test it on past content, and activate it.
Visual rule builder
Combine AI labels, user history, and thresholds into if/then rules without code.
Scam responseEnabledWHENLabel : ScamANDPrior warnings ≥ 2THENBan userCustom actions
Remove, warn, mute, ban, or send to your team, per policy.
Harassment policyHigh severityActions for · Harassment · HighRemoveBounceBanSend to teamSaved to audit logReversible by moderatorsFull audit log
Every decision, with who or what made it and why.
14:02Removed #48213Nora13:57Policy "Adult promo" activatedA. Rossi13:41Approved ban, user_412J. Kim13:20Kept #47990M. Diaz
Meet Nora, your moderation agent.
Older tools send every flag to a human, and the queue keeps growing. Nora reviews flags the way your best moderator would, resolving 80% of items.
For every flag, Nora checks:
Context
Does the flag hold up in the context of the conversation?
History
Has this user done this before?
Prior actions
What corrective action has already been taken?
Policy
Applies your policy skills, then acts or recommends.
Moderate any content, from any platform.
Use it on its own, or with Stream Chat, Video, and Feeds.
- TextScams, spam, harassment, and PII in 50+ languages.
- ImageExplicit, violent, and unsafe images, plus the text inside them.
- VideoUploaded and recorded video, sampled every second.
- AudioVoice messages and audio files, checked with your text policy.
- LivestreamsLive video, calls, and audio rooms, checked while they happen.
Compliance-ready by design.
Audit logs and decision reasoning support transparency reporting.
Digital Services Act
Protect users and reduce legal risk under Europe's strictest digital rules.
EUOnline Safety Act
Meet new safety standards and enforce age-appropriate protections.
UK & AUCOPPA & CSAM
Flag content automatically to protect minors and prevent child exploitation.
USEU AI Act
Show transparency, human oversight, and risk controls for AI decisions.
EU
Stream moderation FAQs.
Test on your own content.
Run your last 1,000 flagged items through Stream's API at no cost.







