Get started with Video Moderation

Image Moderation · Video Moderation · Image Transforms

Please select all the models you are interested in. The code examples on this page will automatically update to reflect your choice.

Nudity detection

Detect raw and partial nudity

Weapons, alcohol & drugs

Detect violent and inappropriate content

Offensive

Detect offensive signs and gestures

Graphic Violence & Gore

Detect gore, horrific imagery, content with blood

Minors

Detect babies, children and teenagers under 18

Face Detection

Detect faces and their positions

Celebrities

Detect and recognize celebrities

Text Moderation in Videos

Detect profanity, emails, phone numbers

Embedded Text and Watermarks

Detect text that has been added during post-processing

Video quality & colors

Detect blurry and low quality videos, get dominant colors

Sun glasses

Detect faces hidden with sun glasses

Submit the video to the API

If your video is less than 1 minute long, you can use the sync API. Do so by submitting a public URL to the video.


curl -X GET -G 'https://api.sightengine.com/1.0/video/check-sync.json' \
  --data-urlencode 'stream_url=https://sightengine.com/assets/stream/examples/funfair.mp4' \
  -d 'models={model}' \
  -d 'api_user={api_user}' \
  -d 'api_secret={api_secret}'


# if you haven't already, install the SDK with "pip install sightengine"
from sightengine.client import SightengineClient
client = SightengineClient('{api_user}', '{api_secret}')
output = client.check('{model}').video_sync('https://sightengine.com/assets/stream/examples/funfair.mp4')


// if you haven't already, install the SDK with "composer require sightengine/client-php"
use \Sightengine\SightengineClient;
$client = new SightengineClient('{api_user}', '{api_secret}');
$output = $client->check(['{model}'])->video_sync('https://sightengine.com/assets/stream/examples/funfair.mp4');


// if you haven't already, install the SDK with "npm install sightengine --save"
var sightengine = require('sightengine')('{api_user}', '{api_secret}');
sightengine.check(['{model}']).video_sync('https://sightengine.com/assets/stream/examples/funfair.mp4').then(function(result) {
  // The API response (result)
}).catch(function(err) {
  // Handle error
});

If your video is longer than 1 minute or is a live stream then you should use the Async Video API. Head to our API guide or our API reference for more details.


curl -X GET -G 'https://api.sightengine.com/1.0/video/check.json' \
    --data-urlencode 'stream_url=https://sightengine.com/assets/stream/examples/funfair.mp4' \
    -d 'models={model}' \
    -d 'callback_url=https://your.callback.url/path' \
    -d 'api_user={api_user}' \
    -d 'api_secret={api_secret}'


# if you haven't already, install the SDK with 'pip install sightengine'
from sightengine.client import SightengineClient
client = SightengineClient('{api_user}','{api_secret}')
output = client.check('{model}').video('https://sightengine.com/assets/stream/examples/funfair.mp4', 'https://your.callback.url/path')


// if you haven't already, install the SDK with 'composer require sightengine/client-php'
use \Sightengine\SightengineClient;
$client = new SightengineClient('{api_user}','{api_secret}');
$output = $client->check(['{model}'])->video('https://sightengine.com/assets/stream/examples/funfair.mp4', 'https://your.callback.url/path');


// if you haven't already, install the SDK with 'npm install sightengine --save'
var sightengine = require('sightengine')('{api_user}', '{api_secret}');
sightengine.check(['{model}']).video('https://sightengine.com/assets/stream/examples/funfair.mp4', 'https://your.callback.url/path').then(function(result) {
    // The API response (result)
}).catch(function(err) {
    // Handle error
});

Get your own API keys now!

CREATE FREE ACCOUNT

Was this helpful?

We're always looking for advice to help improve our documentation! Please let us know what's working (or what's not!) - we're constantly iterating thanks to the feedback we receive.

Send us your suggestions!

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

OK