Video Nudity Detection

No algorithm description given

Table of Contents Introduction I/O examples Algorithm Console Introduction This algorithm detects partial and explicit nudity in videos. It works by wrapping around the Video Metadata Extraction algorithm, and passes each frame of the source video into the Nudity Detection i2v algorithm, which detects if the video contains any nude scenes. I/O Input { 
 source - (required) - The source input video file, can be a data uri ( data:// , s3:// , dropbox:// , etc) or http:// url. section_settings - (optional) - The json object that defines sectioning parameters. if missing, leaves all sectioning parameters with default values. minimum_duration - (optional) - Checks each section output for duration, if shorter than this parameter, it's removed from the output results, units are seconds . D efaults to 0.1 minimum_confidence - (optional) - Acts as a limiting threshold that removes sections that contain elements with confidence values lower than this minimum, ranges between 0 and 1. D efaults to 0.1 timeout - (optional) - If you change the timeout for any Video Nudity Detection api call from the default, please change this parameter to match.  Defaults to 300 fps - (optional) - The frames per second you'd like to sample your video file with, a lower value means it'll process faster but with lower resolution, vice versa for a higher value.  Defaults to 3. Output {
 "sections": [
 "average_confidence": Float,
 "start_time": Float,
 "stop_time": Float
 sections - the main list of detected nude/not-nude sections. average_confidence - the average confidence/accuracy that this section contains nudity. start_time - the start time for this section, in seconds from the start of the video. stop_time - the stop time for this section, in seconds from the start of the video. Examples Nudity Example (WARNING NSFW CONTENT) { 
 Non-nude Example { 

(no tags)

Cost Breakdown

0 cr
royalty per call
1 cr
usage per second
avg duration
This algorithm has permission to call other algorithms which may incur separate royalty and usage costs.

Cost Calculator

API call duration (sec)
API calls
Estimated cost
per calls
for large volume discounts
For additional details on how pricing works, see Algorithmia pricing.

Internet access

This algorithm has Internet access. This is necessary for algorithms that rely on external services, however it also implies that this algorithm is able to send your input data outside of the Algorithmia platform.

Calls other algorithms

This algorithm has permission to call other algorithms. This allows an algorithm to compose sophisticated functionality using other algorithms as building blocks, however it also carries the potential of incurring additional royalty and usage costs from any algorithm that it calls.

To understand more about how algorithm permissions work, see the permissions documentation.

1. Type your input

2. See the result

Running algorithm...

3. Use this algorithm

curl -X POST -d '{{input | formatInput:"curl"}}' -H 'Content-Type: application/json' -H 'Authorization: Simple YOUR_API_KEY'
View cURL Docs
algo auth
algo run algo://sfw/VideoNudityDetection/0.2.1 -d '{{input | formatInput:"cli"}}'
View CLI Docs
import (
  algorithmia ""

input := {{input | formatInput:"go"}}

var client = algorithmia.NewClient("YOUR_API_KEY", "")
algo, _ := client.Algo("algo://sfw/VideoNudityDetection/0.2.1")
resp, _ := algo.Pipe(input)
response := resp.(*algorithmia.AlgoResponse)
View Go Docs
import com.algorithmia.*;
import com.algorithmia.algo.*;

String input = "{{input | formatInput:"java"}}";
AlgorithmiaClient client = Algorithmia.client("YOUR_API_KEY");
Algorithm algo = client.algo("algo://sfw/VideoNudityDetection/0.2.1");
AlgoResponse result = algo.pipeJson(input);
View Java Docs
import com.algorithmia._
import com.algorithmia.algo._

val input = {{input | formatInput:"scala"}}
val client = Algorithmia.client("YOUR_API_KEY")
val algo = client.algo("algo://sfw/VideoNudityDetection/0.2.1")
val result = algo.pipeJson(input)
View Scala Docs
var input = {{input | formatInput:"javascript"}};
           .then(function(output) {
View Javascript Docs
var input = {{input | formatInput:"javascript"}};
           .then(function(response) {
View NodeJS Docs
import Algorithmia

input = {{input | formatInput:"python"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('sfw/VideoNudityDetection/0.2.1')
print algo.pipe(input)
View Python Docs

input <- {{input | formatInput:"r"}}
client <- getAlgorithmiaClient("YOUR_API_KEY")
algo <- client$algo("sfw/VideoNudityDetection/0.2.1")
result <- algo$pipe(input)$result
View R Docs
require 'algorithmia'

input = {{input | formatInput:"ruby"}}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('sfw/VideoNudityDetection/0.2.1')
puts algo.pipe(input).result
View Ruby Docs
use algorithmia::*;

let input = {{input | formatInput:"rust"}};
let client = Algorithmia::client("YOUR_API_KEY");
let algo = client.algo("sfw/VideoNudityDetection/0.2.1");
let response = algo.pipe(input);
View Rust Docs
import Algorithmia

let input = "{{input | formatInput:"swift"}}";
let client = Algorithmia.client(simpleKey: "YOUR_API_KEY")
let algo = client.algo(algoUri: "sfw/VideoNudityDetection/0.2.1") { resp, error in
View Swift Docs
  • {{comment.username}}