Please select all the models you are interested in. The code examples on this page will automatically update to reflect your choice.
Detect raw and partial nudity
Detect violent and inappropriate content
Detect offensive signs and gestures
Detect gore, horrific imagery, content with blood
Detect babies, children and teenagers under 18
Detect faces and their positions
Detect and recognize celebrities
Detect profanity, emails, phone numbers
Detect text that has been added during post-processing
Detect QR codes with unsafe or unwanted links, or profanity
Detect blurry and low quality videos, get dominant colors
Detect faces hidden with sun glasses
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
});
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.