const res = await client.moderation.check({
entity_type: "livestream_frame",
entity_id: "stream-88:12:09",
entity_creator_id: "host-5521",
moderation_payload: {
images: [frameUrl],
},
config_key: "live",
});
// res.recommended_action -> "flag"Livestream moderation for live video and audio.
Send frames from livestreams and video calls without waiting for the model. The API responds in 40 - 50ms, and each frame is scored in about 300ms.




Running on live video at scale.
- 555K+hours moderated/month
- 40 - 50msAPI response time
- 700requests/second at peak
- 99.999%uptime SLA


- Frame 12:10 · kept301ms
- Chat · deal_bot · Scam -> removed46ms
- Chat · mia_r · kept41ms
- Frame 12:09 · kept284ms
- Chat · k_collects · kept39ms
- Frame 12:08 · kept291ms
- Chat · sam · kept37ms
Every stream checked, without a moderator watching.
Frames are sampled from the livestream and scored by image AI against your policy: explicit content, violence, hate symbols, and every other image category you turn on.
- 12:01ok

- 12:03ok

- 12:05ok

- 12:07ok

- 12:090.88

- 12:11ok

Hear what is said, as it is said.
Speech in livestreams, calls, and audio rooms is captioned live and checked against the same policy as your text: harassment, hate, threats, and scams.



Act while the stream is still live.
Rules decide what happens: warn, end the stream, or ban after repeat violations. Target the risk, for example only new hosts or first-time callers.
See exactly what triggered the flag.
The review timeline shows the rule and the frame or caption behind each flag, with the user's history alongside. Nora, your moderation agent, handles the clear cases first.

Moderate any live video or audio, from any platform.
Send frames and audio from your own streaming stack through the API.
Stream moderation FAQs.
Moderate your next livestream with Stream.
Tell us how you stream and we will show you the setup.
