🛡️
Moderate
Automatically detect and filter harmful content across images, videos, text, and audio.
Image
Video
Text
Audio
✓
AI Content Detection
Detect AI-generated content, deepfakes, and synthetic media to ensure authenticity.
AI Images
AI Video
Deepfakes
AI Music
🧑
People & Identity
Analyze faces, people, liveness.
Faces
Age
Liveness
🔍
Visual Search
Find similar and duplicate content across your image and video libraries with custom search.
Image Search
Video Search
📊
Image Analysis & OCR
Analyze faces, extract text, measure quality, and classify image types for better insights.
OCR
QR codes
Quality
Type
Quick Start
Get up and running with Sightengine in minutes. Here's what you need to know:
1. Choose your models
Select the detection models you need. You can combine multiple models in a single API call for efficiency.
2. Make your first API call
Send an image or video URL to analyze. The API returns a JSON response with detection results.
curl -X POST 'https://api.sightengine.com/1.0/check.json' \
-F 'media=@/path/to/image.jpg' \
-F 'models=nudity-2.1,gore-2.0' \
-F 'api_user={api_user}' \
-F 'api_secret={api_secret}'
# this example uses requests
import requests
import json
params = {
'models': 'nudity-2.1,gore-2.0',
'api_user': '{api_user}',
'api_secret': '{api_secret}'
}
files = {'media': open('/path/to/image.jpg', 'rb')}
r = requests.post('https://api.sightengine.com/1.0/check.json', files=files, data=params)
output = json.loads(r.text)
$params = array(
'media' => new CurlFile('/path/to/image.jpg'),
'models' => 'nudity-2.1,gore-2.0',
'api_user' => '{api_user}',
'api_secret' => '{api_secret}',
);
// this example uses cURL
$ch = curl_init('https://api.sightengine.com/1.0/check.json');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$response = curl_exec($ch);
curl_close($ch);
$output = json_decode($response, true);
// this example uses axios and form-data
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
data = new FormData();
data.append('media', fs.createReadStream('/path/to/image.jpg'));
data.append('models', 'nudity-2.1,gore-2.0');
data.append('api_user', '{api_user}');
data.append('api_secret', '{api_secret}');
axios({
method: 'post',
url:'https://api.sightengine.com/1.0/check.json',
data: data,
headers: data.getHeaders()
})
.then(function (response) {
// on success: handle response
console.log(response.data);
})
.catch(function (error) {
// handle error
if (error.response) console.log(error.response.data);
else console.log(error.message);
});
3. Handle the response
Parse the JSON response and take action based on the confidence scores returned for each model.