Frame-level scanning
Frames are sampled across the video and each one is classified independently as safe or NSFW.
Give the service a video URL and it samples frames across the clip, classifies each
Learn more about NSFW DetectionThe result shows up here
Upload your video on the left and hit Run.
Give the service a video URL and it samples frames across the clip, classifies each one, and returns the timestamps where it finds NSFW content — along with the video's duration and how many frames were checked. You can tune how often frames are sampled with target_fps. This is an async job: submit the video, poll until it's ready, then read the result. Great for moderating uploads, enforcing content policies, and running pre-publish safety checks.
Frames are sampled across the video and each one is classified independently as safe or NSFW.
Returns the timestamps (in seconds) where NSFW content was found, plus a count and a has_nsfw flag.
The result reports the video duration, the target_fps used, and how many frames were actually sampled.
A higher target_fps catches more but takes longer; the default of 2.0 fps is a good balance for most videos.
Upload moderation
Scan user-uploaded video before it goes live, and block or flag clips that return NSFW timestamps.
Content compliance
Make sure video meets your platform's safety policies before distribution.
Batch scanning
Run a library of videos through the service to surface the ones that need manual review.
input
A video URL and an optional target_fps (default 2.0).
output
NSFW timestamps, video duration, and sampling stats (async job result).
videoUrlrequiredstringURL of the video to scan.
target_fpsnumber · default: 2How many frames per second to sample (default: 2.0). Higher catches more but takes longer.
video_meta.durationnumberTotal video duration in seconds.
sampling.target_fpsnumberThe sampling rate that was used.
sampling.sampled_framesintegerHow many frames were actually sampled.
nsfw.timestampsarrayArray of {start, end} objects (in seconds) where NSFW content was found.
nsfw.countintegerNumber of NSFW detections.
nsfw.has_nsfwbooleanTrue if any NSFW frame was found.
Billed per video analyzed.
| Service | Unit | Price |
|---|---|---|
| NSFW Detection | item | 4 credits/video |
Priced per video, regardless of duration or sampling rate.