Video Moderation / Principles

Video Moderation Principles


Sightengine's Video Moderation API is a fully automated and real-time moderation solution for Video Content. It works out-of-the-box with any video or stream:

  • Static videos, meaning video files such as an MP4 file you might have available on a server
  • Streamed videos (also referred to as streams) meaning videos that are being consumed from a streaming resource. This could be a live video feed, a video-conferencing stream, or any other feed

Sequential or Continuous Moderation

There are two ways to moderate a Video, depending on the type of video. You can either do a so-called sequential moderation or a continuous moderation. While both yield the same results, they differ by their implementations:

Sequential Moderation
  1. You submit a video to the Sightengine API
  2. Sightengine reads the video and analyzes it
  3. Once finished, the full results are sent back in the API response and the connection is closed
Continuous Moderation
  1. Your back-end submits a video and gets a stream ID from Sightengine
  2. Sightengine analyzes the video, and creates alerts each time offending content is found
  3. Your back-end receives callbacks (through webhooks) to inform you of any offending content. Or you can poll Sightengine to ask for status updates and moderation progress and results
  4. Once finished, the full results are sent to your server through a webhook

Should I choose sequential or continuous video moderation?

If you need to moderate live videos, you should do Continuous moderation as this is the only option suitable for live streams. Otherwise, here are the pros and cons of each:

  • Sequential moderation is easier and quicker to set up. The drawbacks being that it might be a bit slower (you get results only once the whole video has been processsed) and will not work with live videos or long videos (more than 60 seconds or more than 50 megabytes).
  • Continuous moderation requires a bit more integration work, but it works with any video or stream and enables you to detect offending content a faster than with sequential moderation (no need to wait for the whole video to have been processed).

Next steps

Head to the Sequential Moderation Guide or the Continuous Moderation Guide to learn how to implement Video Moderation.

Specifying the categories of content you wish to detect

You tell the API what you want to filter by giving it the list of models you wish to apply

A Model is a filter that will look for a specific type of content in your Video. For instance, nudity is the name of a model that has been trained to look for any adult content, racy content, suggestive content and specifically flags scenes ranging from explicit to mild nudity.

Head to our Model reference to see all the available Models along with their detection capabilities.

Did you find this page helpful?

We're always looking for advice to help improve our documentation!

Let us know what you think

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more