Get started with Video Moderation

or Image Moderation

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

Minors

Detect babies, children and teenagers under 18

Celebrities

Detect and recognize celebrities

Artificial Text and Watermarks

Detect text that has been added during post-processing

Image quality & colors

Detect blurry and low quality images, 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 synchronous API. Do so by submitting a public URL to the video or live stream.

    
    
curl -X GET \
     'https://api.sightengine.com/1.0/video/check-sync.json?models={models}&stream_url=https://d3m9459r9kwism.cloudfront.net/stream/examples/funfair.mp4&api_user={api_user}&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}')
client.check({models}).video_sync('https://d3m9459r9kwism.cloudfront.net/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}');
$client->check([{models}])->video_sync('https://d3m9459r9kwism.cloudfront.net/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([{models}]).video_sync('https://d3m9459r9kwism.cloudfront.net/stream/examples/funfair.mp4').then(function(result) {
  // The result of the API
}).catch(function(err) {
  // Error
});
    
  

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

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!