NAV Navbar
Node.JS Python Ruby Shell

Introduction

Base URL: https://api.intenseye.com

Image API URL: https://image.intenseye.com

Getting Started

Intenseye is the best video analytics platform for tracking variety of objects, extracting information from your videos and cameras in a fast, accurate and secure way.

Sign Up

Before you can use our API's, you need to register an account. Please go head and create an account from our dashboard.

Find your API Key

Upon creating an account, an API key will be automatically generated for you. You can create and remove as many keys you like.

Explore our docs

After finding your API key, you are all set! Explore our docs for more usage info.

Authentication

Intenseye uses API keys to allow access to the API. You can find your API keys on your dashboard, which you can access by logging in or signing up.

Intenseye expects for the API key to be included in all API requests to the server via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password. You can do this using the -u flag:

-u "INTENSEYE_API KEY:"

You must replace INTENSEYE_API KEY with your personal API key. If you sign up or log in, your API key will be automatically filled in the docs.

However Websocket API's require the key field as a query string parameter using 'key' as key and your api key as value. For example: ws://api.intenseye.com/videos/3dafafe2-ac90-4776-a373-904782aab0ec/listen?key=1n73n53y328eab613dffa8148492f723

Video API

Operations about videos

Get Videos

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/videos',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.intenseye.com/videos', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://api.intenseye.com/videos',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X GET https://api.intenseye.com/videos \
  -H 'Accept: application/json'

GET /videos

Get all the videos associated with the user

Example responses

200 Response

{
  "message": "success",
  "data": [
    {
      "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
      "name": "summer.mp4",
      "slug": "summermp4",
      "size": 129532,
      "status": "IDLE",
      "statusMessage": "string",
      "pose": true,
      "emotion": true,
      "ageGender": true,
      "trackingTarget": "person",
      "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
      "createdAt": "2018-11-21T22:49:17Z",
      "updatedAt": "2018-11-21T22:49:17Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK success Video Response

Upload a Video

Code samples

const fetch = require('node-fetch');
const input = document.getElementById('fileinput');
const data = new FormData();
data.append('image', input.files[0]);
const headers = {
  'Content-Type':'multipart/form-data',
  'Accept':'application/json'
};

fetch('https://api.intenseye.com/videos',
{
  method: 'POST',
  body: data,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Content-Type': 'multipart/form-data',
  'Accept': 'application/json'
}

r = requests.post('https://api.intenseye.com/videos', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'multipart/form-data',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://api.intenseye.com/videos',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X POST https://api.intenseye.com/videos \
  -H 'Content-Type: multipart/form-data' \
  -H 'Accept: application/json'

POST /videos

Add a video

Body parameter

video: string

Parameters

Parameter In Type Required Description
body body Video false none
» video body string(binary) false none

Example responses

200 Response

{
  "status": "ok",
  "message": "Video has been uploaded"
}

Responses

Status Meaning Description Schema
200 OK Video has been uploaded Generic Response

Get video by id

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/videos/${id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.intenseye.com/videos/${id}', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://api.intenseye.com/videos/${id}',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X GET https://api.intenseye.com/videos/${id} \
  -H 'Accept: application/json'

GET /videos/${id}

Get video by id

Parameters

Parameter In Type Required Description
id path string(uuid) true ID of video to return

Example responses

200 Response

{
  "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
  "name": "summer.mp4",
  "slug": "summermp4",
  "size": 129532,
  "status": "IDLE",
  "statusMessage": "string",
  "pose": true,
  "emotion": true,
  "ageGender": true,
  "trackingTarget": "person",
  "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
  "createdAt": "2018-11-21T22:49:17Z",
  "updatedAt": "2018-11-21T22:49:17Z"
}

Responses

Status Meaning Description Schema
200 OK successful operation Video

Analyze a video

Code samples

const fetch = require('node-fetch');
const inputBody = '{
  "trackingParams": {
    "ageGender": true,
    "emotion": true,
    "pose": true
  },
  "trackingTarget": "person"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/videos/${id}/analyze',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://api.intenseye.com/videos/${id}/analyze', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://api.intenseye.com/videos/${id}/analyze',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X POST https://api.intenseye.com/videos/${id}/analyze \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST /videos/${id}/analyze

Analyze a video

Body parameter

{
  "trackingParams": {
    "ageGender": true,
    "emotion": true,
    "pose": true
  },
  "trackingTarget": "person"
}

Parameters

Parameter In Type Required Description
id path string(uuid) true ID of video to return
body body Analyze false none
» trackingParams body Tracking Parameters false none
»» ageGender body boolean false none
»» emotion body boolean false none
»» pose body boolean false none
» trackingTarget body Tracking Target false none

Enumerated Values

Parameter Value
» trackingTarget person
» trackingTarget car

Example responses

200 Response

{
  "status": "ok",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK successful operation Generic Response

Cancel a video analyze process

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/videos/${id}/analyze',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.delete('https://api.intenseye.com/videos/${id}/analyze', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.delete 'https://api.intenseye.com/videos/${id}/analyze',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X DELETE https://api.intenseye.com/videos/${id}/analyze \
  -H 'Accept: application/json'

DELETE /videos/${id}/analyze

Cancel a video analyze process

Parameters

Parameter In Type Required Description
id path string(uuid) true ID of video to return

Example responses

200 Response

{
  "status": "ok",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK successful operation Generic Response

Camera API

Operations about camera

Get all cameras

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/cameras',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.intenseye.com/cameras', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://api.intenseye.com/cameras',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X GET https://api.intenseye.com/cameras \
  -H 'Accept: application/json'

GET /cameras

Get all the cameras associated with the user

Example responses

200 Response

{
  "message": "success",
  "data": [
    {
      "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
      "name": "summer.mp4",
      "slug": "summermp4",
      "status": "IDLE",
      "statusMessage": "string",
      "pose": true,
      "emotion": true,
      "ageGender": true,
      "trackingTarget": "person",
      "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
      "createdAt": "2018-11-21T22:49:17Z",
      "updatedAt": "2018-11-21T22:49:17Z"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK success Camera Response

Add a camera

Code samples

const fetch = require('node-fetch');
const inputBody = '{
  "name": "Office Camera 1",
  "url": "http://35.181.33.12:7001",
  "username": "admin",
  "password": "password"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/cameras',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://api.intenseye.com/cameras', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://api.intenseye.com/cameras',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X POST https://api.intenseye.com/cameras \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST /cameras

Add a camera

Body parameter

{
  "name": "Office Camera 1",
  "url": "http://35.181.33.12:7001",
  "username": "admin",
  "password": "password"
}

Parameters

Parameter In Type Required Description
body body Camera false none
» name body string false none
» url body string false none

Example responses

200 Response

{
  "status": "ok",
  "message": "Video has been uploaded"
}

Responses

Status Meaning Description Schema
200 OK Camera has been uploaded Generic Response

Get camera by id

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/cameras/${id}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.get('https://api.intenseye.com/cameras/${id}', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.get 'https://api.intenseye.com/cameras/${id}',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X GET https://api.intenseye.com/cameras/${id} \
  -H 'Accept: application/json'

GET /cameras/${id}

Get camera by id

Parameters

Parameter In Type Required Description
id path string(uuid) true ID of camera to return

Example responses

200 Response

{
  "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
  "name": "summer.mp4",
  "slug": "summermp4",
  "status": "IDLE",
  "statusMessage": "string",
  "pose": true,
  "emotion": true,
  "ageGender": true,
  "trackingTarget": "person",
  "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
  "createdAt": "2018-11-21T22:49:17Z",
  "updatedAt": "2018-11-21T22:49:17Z"
}

Responses

Status Meaning Description Schema
200 OK successful operation Camera

Analyze a camera

Code samples

const fetch = require('node-fetch');
const inputBody = '{
  "username": "admin",
  "password": "password",
  "trackingParams": {
    "ageGender": true,
    "emotion": true,
    "pose": true,
  },
  "trackingTarget": "person"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/cameras/${id}/analyze',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json'
}

r = requests.post('https://api.intenseye.com/cameras/${id}/analyze', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
}

result = RestClient.post 'https://api.intenseye.com/cameras/${id}/analyze',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X POST https://api.intenseye.com/cameras/${id}/analyze \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

POST /cameras/${id}/analyze

Analyze a camera

Body parameter

{
  "username": "admin",
  "password": "password",
  "trackingParams": {
    "ageGender": true,
    "emotion": true,
    "pose": true
  },
  "trackingTarget": "person"
}

Parameters

Parameter In Type Required Description
id path string(uuid) true ID of camera to return
body body Analyze false none
» trackingParams body Tracking Parameters false none
»» ageGender body boolean false none
»» emotion body boolean false none
»» pose body boolean false none
» trackingTarget body Tracking Target false none

Enumerated Values

Parameter Value
» trackingTarget person
» trackingTarget car

Example responses

200 Response

{
  "status": "ok",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK successful operation Generic Response

Cancel a camera analyze process

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};

fetch('https://api.intenseye.com/cameras/${id}/analyze',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}

r = requests.delete('https://api.intenseye.com/cameras/${id}/analyze', params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

result = RestClient.delete 'https://api.intenseye.com/cameras/${id}/analyze',
  params: {
  }, headers: headers

p JSON.parse(result)

# You can also use wget
curl -X DELETE https://api.intenseye.com/cameras/${id}/analyze \
  -H 'Accept: application/json'

DELETE /cameras/${id}/analyze

Cancel a camera analyze process

Parameters

Parameter In Type Required Description
id path string(uuid) true ID of camera to return

Example responses

200 Response

{
  "status": "ok",
  "message": "string"
}

Responses

Status Meaning Description Schema
200 OK successful operation Generic Response

Image API

Operations about images

Detection API

You can call the detection api via GET or POST methods.

By specifying GET method you need to provide query parameter with link key which contains the image url. Or by specifying POST method you need to use multipart/form upload with image key.

Also note that image api uses a different subdomain: https://image.intenseye.com

Get Detection by URL

Code samples

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json'

};
const image = 'https://i.imgur.com/SMvjyhH.jpg'
fetch(`https://image.intenseye.com/detect?link=${image}&track=person&track=car&confidence=0.3`,
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

import requests
headers = {
  'Accept': 'application/json'
}
image = 'https://i.imgur.com/SMvjyhH.jpg'
r = requests.get('https://image.intenseye.com/detect?link={}&track=person&track=car&confidence=0.3'.format(image), params={

}, headers = headers)

print r.json()

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json'
}

image = 'https://i.imgur.com/SMvjyhH.jpg'

result = RestClient.get "https://image.intenseye.com/detect?link=#{image}&track=person&track=car&confidence=0.3",
  params: {
  }, headers: headers

p JSON.parse(result)

curl -X GET https://image.intenseye.com/detect?link=https://i.imgur.com/SMvjyhH.jpg&track=person&track=car&confidence=0.3 \
  -H 'Accept: application/json'

GET /detection

Get image detection

Parameters

Track parameter can be repeated more than once with different objects and at least one track parameter is required.

Parameter In Type Required Description
link query string true Image link to be analyzed
track query string true Objects to be tracked
confidence query string false Minimum confidence threshold

Example responses

200 Response

{
  "data": [
    {
      "type": "car",
      "confidence": 0,
      "coords": {
        "top": 0,
        "left": 0,
        "bottom": 0,
        "right": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK success Image Detection

Get Detection by upload

Code samples

const fetch = require('node-fetch');
const input = document.getElementById('fileinput');
const data = new FormData();
data.append('image', input.files[0] );

const headers = {
  'Accept':'application/json'

};
const image = 'https://i.imgur.com/SMvjyhH.jpg'
fetch(`https://image.intenseye.com/detect?link=${image}&track=person&track=car&confidence=0.3`,
{
  method: 'GET',
  body: data,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

POST /detection

Get image detection by image upload

Parameters

Track parameter can be repeated more than once with different objects and at least one track parameter is required.

Parameter In Type Required Description
» image body string(binary) true Image to be analyzed
track query string true Objects to be tracked
confidence query string false Minimum confidence threshold

Example responses

200 Response

{
  "data": [
    {
      "type": "car",
      "confidence": 0,
      "coords": {
        "top": 0,
        "left": 0,
        "bottom": 0,
        "right": 0
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK success Image Detection

Errors

The Intenseye API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The requested resource is not permitted
404 Not Found -- The specified resource could not be found.
405 Method Not Allowed -- You tried to access a resource with an invalid method.
410 Gone -- The resource requested has been removed from our servers.
415 Unsupported Media Type -- You requested with a format that isn't json.
429 Too Many Requests -- You're requesting too many resources! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Schemas

Video

{
  "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
  "name": "summer.mp4",
  "slug": "summermp4",
  "size": 129532,
  "status": "IDLE",
  "statusMessage": "string",
  "pose": true,
  "emotion": true,
  "ageGender": true,
  "trackingTarget": "person",
  "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
  "createdAt": "2018-11-21T22:49:17Z",
  "updatedAt": "2018-11-21T22:49:17Z"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
name string true none none
slug string true none none
size number(int32) false none none
status string true none none
statusMessage string false none none
pose boolean true none none
emotion boolean true none none
ageGender boolean true none none
trackingTarget string false none none
userId string(uuid) true none none
createdAt string(date-time) true none none
updatedAt string(date-time) true none none

Enumerated Values

Property Value
status IDLE
status PREPARING
status INPROGRESS
status FINISHED
status ERROR

Camera

{
  "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
  "name": "summer.mp4",
  "slug": "summermp4",
  "status": "IDLE",
  "statusMessage": "string",
  "pose": true,
  "emotion": true,
  "ageGender": true,
  "trackingTarget": "person",
  "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
  "createdAt": "2018-11-21T22:49:17Z",
  "updatedAt": "2018-11-21T22:49:17Z"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
name string true none none
slug string true none none
status string true none none
statusMessage string true none none
pose boolean true none none
emotion boolean true none none
ageGender boolean true none none
trackingTarget string false none none
userId string(uuid) true none none
createdAt string(date-time) true none none
updatedAt string(date-time) true none none

Enumerated Values

Property Value
status IDLE
status PREPARING
status INPROGRESS
status FINISHED
status ERROR

Generic Response

{
  "status": "ok",
  "message": "string"
}

Properties

Name Type Required Restrictions Description
status string false none none
message string true none none

Enumerated Values

Property Value
status ok
status ko

Insert Response

{
  "status": "ok",
  "insertedItem": "string"
}

Properties

Name Type Required Restrictions Description
status string true none none
insertedItem string(uuid) true none none

API Key

{
  "userId": "string",
  "key": "string"
}

Properties

Name Type Required Restrictions Description
userId string(uuid) true none none
key string(uuid) true none none

Tracking Parameters

{
  "ageGender": true,
  "emotion": true,
  "pose": true
}

Properties

Name Type Required Restrictions Description
ageGender boolean false none none
emotion boolean false none none
pose boolean false none none

Tracking Target

"person"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous person
anonymous car

Api Key Response

{
  "message": "string",
  "data": [
    {
      "userId": "string",
      "key": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
message string false none none
data [API Key] false none none

Video Response

{
  "message": "success",
  "data": [
    {
      "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
      "name": "summer.mp4",
      "slug": "summermp4",
      "size": 129532,
      "status": "IDLE",
      "statusMessage": "string",
      "pose": true,
      "emotion": true,
      "ageGender": true,
      "trackingTarget": "person",
      "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
      "createdAt": "2018-11-21T22:49:17Z",
      "updatedAt": "2018-11-21T22:49:17Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
status string false none none
message string false none none

Enumerated Values

Property Value
status ok
status ko

Camera Response

{
  "message": "success",
  "data": [
    {
      "id": "ed0999cc-5f9a-467a-961f-64dde8dbffb8",
      "name": "summer.mp4",
      "slug": "summermp4",
      "status": "IDLE",
      "statusMessage": "string",
      "pose": true,
      "emotion": true,
      "ageGender": true,
      "trackingTarget": "person",
      "userId": "3811d4ab-ff65-44a9-9cd1-05ff88320e6b",
      "createdAt": "2018-11-21T22:49:17Z",
      "updatedAt": "2018-11-21T22:49:17Z"
    }
  ]
}

Properties

Name Type Required Restrictions Description
message string false none none
data [Camera] false none none

Image Detection

{
  "type": "string",
  "confidence": "number",
  "coords": {
    "top": "number",
    "left": "number",
    "bottom": "number",
    "right": "number"
  }
}

Properties

Name Type Required Restrictions Description
type string true none none
confidence number true none none
coords Coords true none none

Enumerated Values

Property Value
type person
type car
type bicycle

Coords

{
  "top": "number",
  "left": "number",
  "bottom": "number",
  "right": "number"
}
Name Type Required Restrictions Description
top number true none none
left number true none none
bottom number true none none
right number true none none