Back to top

Vidrovr API - v0.1

Authors

Vidrovr Inc.

Vidrovr API

This document details the methods and endpoints that can be used to interface with the Vidrovr solution. This includes all parameters for querying and retrieving metadata, interfacing with our multimodal search solution, and obtaining the video assets that appear in a user’s account for Vidrovr. The start and end times can be converted to seconds by performing (start / 29.97), as each video in our platform has a frame rate of 29.97 fps.

List API methods

Resource Group

List API methods

List all methods available with the api version

Retrieve API version
GET/public/api/v01/list_published_methods

Example URI

GET https://production.vidrovr.com/public/api/v01/list_published_methods
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "name": "metaadata",
    "version": 0.1,
    "methods": [
      "get_metadata",
      "filter_videos_by"
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Upload

Please note all UPLOAD endpoints are direct towards https://platform.vidrovr.com

RESTful Atomic Upload

This uploads a video to the processing pipeline. Please note all parameters are passed as form data parameters. We currently accept audio and video types. Vidrovr will store the original framerate but will internally convert all videos to 29.97 frames per second (fps). Upon retrieval – this will be included to provide metadata timepoints in the originally provided framerate. The recommended upload size for the video is 2GB. We support up to 8GB but it is not recommended to upload such large files. PLEASE NOTE THE UPLOAD ENDPOINT

Here is a list of all of our supported formats:

  • Smooth Streaming using an fmp4 container to house H.264 video and AAC audio

  • MPEG-DASH using an fmp4 container to house H.264 video and AAC audio

  • XDCAM using MXF container using MPEG-2 video and PCM audio

  • MP4 container with H.264 video and AAC or MP3 audio

  • WebM container with VP9 video and Vorbis audio

  • WebM container with VP8 video and Vorbis audio

  • FLV container with H.264 video and AAC or MP3 audio

  • MPG container with MPEG-2 video and MP2 audio

  • MP3 container with MP3 audio

  • MP4 container with AAC audio

  • OGG container with Vorbis or FLAC audio

  • OGA container with FLAC audio

  • FLAC container with FLAC audio

  • WAV container with PCM audio

  • GIF

  • AVI

  • Vob

  • WMV

  • MPG

  • MOV except PRORES encoding

  • HLS using an MPEG-2 TS container to house H.264 video and AAC or MP3 audio(specific methods are stored lower down in the documentation)

Here is an example Shell request:

curl -F upload_type=‘video’ -F id=USERNAME -F password=PASSWORD -F filename=FILENAME -F data=video_file.mp4 https://platform.vidrovr.com/upload/uploader

Example of successfull response:

{
"msg":"you just have to play nice",
"id":"c0e4641ed361f76e57bc679f383d9b49315ff97b-f889-4f3e-9efb-eafb7f00d43d",
"resp":"upload_success"
}

RESTful Atomic Upload
GET/upload/uploader{?upload_type,id,password,filename,data}

Example URI

GET https://production.vidrovr.com/upload/uploader?upload_type=&id=&password=&filename=&data=
URI Parameters
HideShow
upload_type
string (required) 

Must be set to ‘video’ or ‘audio’

id
string (required) 

user id on the account

password
string (required) 

password for the user account

filename
string (required) 

filename of the file being uploaded

data
string (required) 

raw data of the file

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "msg": "you just have to play nice",
  "id": "5dac6a022c570848dfe01f5d4cf3ef88b91a5c2f",
  "resp": "upload_success"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "msg": {
      "type": "string",
      "description": "response from uploader"
    },
    "id": {
      "type": "string",
      "description": "asset_id assigned to you asset"
    },
    "resp": {
      "type": "string",
      "description": "uploader output"
    }
  }
}

RESTful Webhook Upload

Webhook upload serves as a endpoint for programmatic uploading. Where notification on asset state are made by the Vidrovr service once an assets have completed processing. The method takes a json data body and parses it in order to understand the requested parameters.

Please note, this method does not require any specific file to be explicitly uploaded to Vidrovr endpoint, simply point the Vidrovr bought to the correct download_url and we will take care of the download for you.

JSON parameters are the following:

Parameter Description
name name of the file to be stored
duration the duration of the video file in seconds
download_url the public URL where to dowload the file
notification_receipt_url where to send the notification of receive file
notification_complete_url where to sent the processing completion notification

This is the sequence flow how requests/responses are handled:

alt text

Example Request:

curl -X POST -i 'https://dev.vidrovr.com/public2/async/v01/webhooks/upload_request?api_key=<API-KEY>' --data '{"name":"test12170500","duration":"59","download_url":"http://s3.amazonaws.com/vidrovr-test-bucket/vid_xsmall.mp4","notification_receipt_url":"http://callback_receipt_url.com","notification_complete_url":"http://callback_complete_url.com"}'

Query Parameters

  • api_key should respect the following schema:
{
  "type": "string",
  "enum": [
    "2d68d9e17625bc233c1db9f8d5b427a0"
  ],
  "default": "2d68d9e17625bc233c1db9f8d5b427a0"
}

Header Parameters

  • Content-Type should respect the following schema:
{
  "type": "string",
  "enum": [
    "application/json; charset=utf-8"
  ],
  "default": "application/json; charset=utf-8"
}

Body Parameters

  • body should respect the following schema:
{
    "name":"test_webhook_video",
    "duration":50,
    "download_url":"https://s3.amazonaws.com/vidrovr-test-bucket/vid_xsmall.mp4",
    "notification_receipt_url":"http://52.21.197.33:7888",
    "notification_complete_url":"http://52.21.197.33:7888"
}

RESTful Webhook Upload
GET/public2/async/v01/webhooks/upload_request{?api_key}

Example URI

GET https://production.vidrovr.com/public2/async/v01/webhooks/upload_request?api_key=
URI Parameters
HideShow
api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: text/plain
Body
{
  "complete": "Hello, world!"
}
Schema
{
  "type": "object",
  "properties": {
    "complete": {
      "type": "string",
      "description": "response that your message has been received and the system is attempting to download the file"
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}

Content Retrieval

This API group represents all method use in order retrieve metadata/search information from Vidrovr.

Get Processing Status

Find the current processing state of the asset that is provided. Give user insight where inside Vidrovr’s pipleine the asset is.

Get Processing Status
GET/public/api/v01/processing/get_processing_info{?id_asset,api_key}

Example URI

GET https://production.vidrovr.com/public/api/v01/processing/get_processing_info?id_asset=&api_key=
URI Parameters
HideShow
id_asset
string (required) 

Id of the asset to be returned. This is part of the uploader’s return statement.

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Retrieve Video List

Lists the videos that are in a particular account for a given company.

Retrieve Video List
GET/public/api/v01/get_video_list{?order,start_date,stop_date,limit,offset,api_key}

Example URI

GET https://production.vidrovr.com/public/api/v01/get_video_list?order=&start_date=&stop_date=&limit=&offset=&api_key=
URI Parameters
HideShow
order
string (optional) Default: 'desc' 

Possible: ['desc, ‘asc’]. The order in which to return the video assets, this is ordered by sequential id.

start_date
number (optional) Default: 0 

Epoch Time w/ respect to UTC

stop_date
number (optional) Default: today 

Epoch Time w/ respect to UTC

limit
number (optional) Default: 10 

Max: 100. The number of videos to return in the list.

offset
number (optional) Default: 10 

The number of videos shifted in the return

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "creation_date": 1477933369688,
    "name": "Demo",
    "id_asset": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "failed": false
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Filter Videos By

Filters videos based on presence or absence of metadata. For example get videos that have person detections or get videos that don’t have person detections. You can combine multiple types of metadata, for example get videos which has person detections or OCR output. If you would like to pull down videos with ‘Tim Cook’ your filters value would be person and your filter_params Tim Cook

Filter Videos By
GET/public/api/v01/filter_videos_by{?filters,has_metadata,api_key}

Example URI

GET https://production.vidrovr.com/public/api/v01/filter_videos_by?filters=&has_metadata=&api_key=
URI Parameters
HideShow
filters
string (required) 

Types of metadata to filter with. It should be a comma seperated string. Possible options are ‘ocr’, ‘person’, ‘tag’

filter_params
string (optional) 

Comma separated 1:1 mapping for the filters properties.

has_metadata
string (required) 

True if filter is based on presence of metadata, False if filter is baswd on absence of metadata

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "creation_date": 1477933369688,
    "name": "Demo",
    "id_asset": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "failed": false
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Retrieve Metadata

Metadata returned for a processed object.

Retrieve Metadata
GET/public/api/v01/get_metadata{?id,api_key,transcript}

Example URI

GET https://production.vidrovr.com/public/api/v01/get_metadata?id=&api_key=&transcript=
URI Parameters
HideShow
id
string (required) 

Id of the asset to be returned

api_key
string (required) 

API key that can be found on the homepage when you log into your account

transcript
string (optional) 

retrieve full transcript without timestamp, will replace audio_words, needs to be set to true

confidence
string (optional) 

Optional parameter to display confidence scores

metadata
string (optional) 

Optional parameter to pass in partial metadata. Possible options are ‘audio_words’,‘person_identification’,‘hashtags’,‘keyphrases’,‘scenes’,‘on_screen_text’,‘tags’,‘custom_frame_models’,‘whole_video_models’,‘captions’

confidence_threshold
number (optional) 

Filter out tags and person identifications below this threshold (restricted between [0-1])

max_tags
number (optional) 

Maximum number of tags and person identifications to return

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "service_name": "vidrovr uploader service",
    "video_duration": 1000,
    "creation_date": 1477933369688,
    "name": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "on_screen_text": [
      {
        "text": "LIVE",
        "start": 29,
        "end": 585,
        "x": 34,
        "y": 20,
        "w": 39,
        "h": 15
      }
    ],
    "person_identification": [
      {
        "person": "Unknown",
        "start": 29,
        "end": 585
      }
    ],
    "tags": [
      {
        "tag": "Fountain",
        "start": 29,
        "end": 585
      }
    ],
    "scenes": [
      {
        "scene": "'Television Studio'",
        "start": 29,
        "end": 585
      }
    ],
    "hashtags": [
      {
        "hashtag_name": "'bot'",
        "confidence": 0.735757
      }
    ],
    "other_metadata": [
      {
        "IAB Categories": [
          {
            "tag": "Automotive",
            "confidence": 0.921176,
            "start_time": 0,
            "end_time": 300
          }
        ],
        "Custom_Dector_Name": [
          {
            "tag": "Automotive",
            "confidence": 0.921176,
            "start": 0,
            "end": 300
          }
        ]
      }
    ],
    "audio_words": [
      {
        "start": 0.54,
        "end": 0.76,
        "word": "Vidrovr"
      }
    ],
    "captions": [
      {
        "text": "Text block"
      }
    ],
    "keyphrases": [
      {
        "start_time": 0,
        "end_time": 300,
        "keyphrases": [
          {
            "keyphrase": "example canada",
            "confidence": 0.921176
          }
        ]
      }
    ],
    "thumbnail": "https://production.vidrovr.com/api/thumbnail_url"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Search Audio

Vidrovr Audio search that looks for exact or fuzzy match of particular words across a user’s assets and extracted audio streams.

Search Audio
GET/public/api/v01/search_audio{?query,api_key,max_results,search_type}

Example URI

GET https://production.vidrovr.com/public/api/v01/search_audio?query=&api_key=&max_results=&search_type=
URI Parameters
HideShow
query
string (required) 

Query string used to search over the vidrovr dataset

api_key
string (required) 

User Specific API Key

max_results
number (optional) Default: 20 

The number of maximum returned results

search_type
string (optional) Default: "exact" 

Type of search to perform. Possible: [“exact”, “fuzzy”]

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "score": 10.73,
    "word_index": 121,
    "rerank_score": 0.228,
    "id": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "time": 38.75
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Search Boolean

Vidrovr Boolean search creates logical AND intersections across different types of filters - content / people / tags

Default returns all data produced You may request clips for the returns which the query will return filtered by setting clip parameter to True. If using clips you may in turn set the thresholds of how strictly to filter 0-100 – representing fuzzy match scores.

Search Boolean
GET/public/api/v01/search_boolean{?content_filter,people_filter,tags_filter,api_key,clips,max_results}

Example URI

GET https://production.vidrovr.com/public/api/v01/search_boolean?content_filter=&people_filter=&tags_filter=&api_key=&clips=&max_results=
URI Parameters
HideShow
content_filter
array[string] (required) 

Query string array for searching content

people_filter
array[string] (required) 

Query string array for searching people

tags_filter
array[string] (required) 

Query string array for searching tags

clips
boolean (optional) Default: [80,70,80] --> 

Setting to set whether your would like to generate clips.

max_results
number (optional) Default: 20 

The number of maximum returned results

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "ranking": [
      {
        "person_similarity": [
          {
            "person": "Donald Trump",
            "word_match_score": 0.2518703241895262,
            "similar_people": [
              {
                "wiki_url: https://en.wikipedia.org/wiki/Donald_Trump": "Hello, world!",
                "video_count": 200,
                "clip_count": 200,
                "similar_people": [
                  {
                    "score": 1,
                    "name": "Mike Pence"
                  }
                ]
              }
            ]
          }
        ],
        "tag_similarity": [
          {
            "embedding_word": "Trump",
            "cosine_distance": 0.25,
            "query_word": "Donald",
            "similar_tags": [
              {
                "video_count": 200,
                "clip_count": 200,
                "similar_tags": [
                  {
                    "score": 1,
                    "name": "Helicopter"
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "results": [
      {
        "score": 10.73,
        "creation_date": 1477933369688,
        "name": "Demo",
        "id": "2ef39e06e877d92d698efb0013832e8bd94730a6",
        "failed": false,
        "scene_detection": [
          {
            "scene": "'Television Studio'",
            "start": 29,
            "end": 585
          }
        ],
        "tag_detections": [
          {
            "tag": "Fountain",
            "start": 29,
            "end": 585
          }
        ],
        "person_detections": [
          {
            "person": "Unknown",
            "start": 29,
            "end": 585
          }
        ],
        "ocr_detections": [
          {
            "text": "LIVE",
            "start": 29,
            "end": 585,
            "x": 34,
            "y": 20,
            "w": 39,
            "h": 15
          }
        ],
        "audio_words": [
          {
            "start": 0.54,
            "end": 0.76,
            "word": "Vidrovr"
          }
        ]
      }
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

HTTP Live Streaming

This is Vidrovr’s API group supporting live video streams.

Turn HLS Stream Off

This is used to turn off the processing of a specific HLS stream.

Turn HLS Stream Off
POST/public/api/v01/turn_hls_stream_off{?id_asset,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/turn_hls_stream_off?id_asset=&api_key=
URI Parameters
HideShow
id_asset
string (required) 

id assigned to the HLS stream asset

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "status": "200",
  "id_asset": "a278fd3832d34579a48756a8dffbb168",
  "found": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "HTTP response"
    },
    "id_asset": {
      "type": "string",
      "description": "id assigned to you asset"
    },
    "found": {
      "type": "boolean",
      "description": "indicates if the HLS stream off request was successfully received"
    }
  }
}

Retrieve HLS Metadata

Metadata returned for a processed object.

Retrieve HLS Metadata
GET/public/api/v01/get_metadata{?hls_id_asset,api_key,start_time,end_time,limit}

Example URI

GET https://production.vidrovr.com/public/api/v01/get_metadata?hls_id_asset=&api_key=&start_time=&end_time=&limit=
URI Parameters
HideShow
hls_id_asset
string (required) 

id of the HLS asset to be returned

api_key
string (required) 

API key that can be found on the homepage when you log into your account

start_time
string (required) 

start time in standard epoch time in ms

end_time
string (optional) Default: start_time + 5 min 

end time in standard epoch time in ms

limit
number (optional) Default: 10 

Max: 10 The maximum number of assets to return the metadata for.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "service_name": "vidrovr uploader service",
    "video_duration": 1000,
    "creation_date": 1477933369688,
    "name": "2ef39e06e877d92d698efb0013832e8bd94730a6",
    "on_screen_text": [
      {
        "text": "LIVE",
        "start": 29,
        "end": 585,
        "x": 34,
        "y": 20,
        "w": 39,
        "h": 15
      }
    ],
    "person_identification": [
      {
        "person": "Unknown",
        "start": 29,
        "end": 585
      }
    ],
    "tags": [
      {
        "tag": "Fountain",
        "start": 29,
        "end": 585
      }
    ],
    "scenes": [
      {
        "scene": "'Television Studio'",
        "start": 29,
        "end": 585
      }
    ],
    "hashtags": [
      {
        "hashtag_name": "'bot'",
        "confidence": 0.735757
      }
    ],
    "other_metadata": [
      {
        "IAB Categories": [
          {
            "tag": "Automotive",
            "confidence": 0.921176,
            "start_time": 0,
            "end_time": 300
          }
        ],
        "Custom_Dector_Name": [
          {
            "tag": "Automotive",
            "confidence": 0.921176,
            "start": 0,
            "end": 300
          }
        ]
      }
    ],
    "audio_words": [
      {
        "start": 0.54,
        "end": 0.76,
        "word": "Vidrovr"
      }
    ],
    "captions": [
      {
        "text": "Text block"
      }
    ],
    "keyphrases": [
      {
        "start_time": 0,
        "end_time": 300,
        "keyphrases": [
          {
            "keyphrase": "example canada",
            "confidence": 0.921176
          }
        ]
      }
    ],
    "thumbnail": "https://production.vidrovr.com/api/thumbnail_url"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Custom Detector

Get Custom Detector

Retrieve a custom detector by either providing its unique identifier or the name that was given to it.

Get Custom Detector
GET/public/api/v01/custom_detector/get_detector{?name,api_key}

Example URI

GET https://production.vidrovr.com/public/api/v01/custom_detector/get_detector?name=&api_key=
URI Parameters
HideShow
id_asset (string, optional) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
name
string (optional) 

Name provided as part of the custom detector creation flow. Retrieving custom detectors by name will return a [] to account for duplicate names

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "email_notify": false,
  "confusion_mat": {
    "category": 0.09
  },
  "keywords": "dog,cat",
  "active": false,
  "model_name": "Dog v Cat",
  "black_list": "stork",
  "deployment_state": "new"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "email_notify": {
      "type": "boolean",
      "description": "Will you be notified by email"
    },
    "confusion_mat": {
      "type": "object",
      "properties": {
        "category": {
          "type": "number",
          "description": "confusion score for ea category"
        }
      }
    },
    "keywords": {
      "type": "string",
      "description": "Categories to pickup"
    },
    "active": {
      "type": "boolean",
      "description": "Detector is applied"
    },
    "model_name": {
      "type": "string",
      "description": "Name of Detector"
    },
    "black_list": {
      "type": "string",
      "description": "Comma separated string of categories to ignore"
    },
    "deployment_state": {
      "type": "string",
      "description": "Which videos to apply to"
    }
  }
}

List Custom Detector

List all custom Detectors created for the associated account. You can filter the list based on multiple parameters.

List Custom Detector
GET/public/api/v01/custom_detector/list_detectors{?api_key}

Example URI

GET https://production.vidrovr.com/public/api/v01/custom_detector/list_detectors?api_key=
URI Parameters
HideShow
id_asset
string (optional) 

Id of custom model

name
string (optional) 

Name of custom model

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "email_notify": false,
    "confusion_mat": {
      "category": 0.09
    },
    "keywords": "dog,cat",
    "active": false,
    "model_name": "Dog v Cat",
    "black_list": "stork",
    "deployment_state": "new"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Create Custom Detector

Create a custom detector to use with a provided flat ontology

Create Custom Detector
POST/public/api/v01/custom_detector/create_detector{?name,categories,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/create_detector?name=&categories=&api_key=
URI Parameters
HideShow
name
string (required) 

Model name that you would like to provide

categories
array[string] (required) 

Comma separated list of categories for model

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id_asset": "Hello, world!",
  "added": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id_asset": {
      "type": "string"
    },
    "added": {
      "type": "boolean"
    }
  }
}

Update Custom Detector

Update various parameters of a custom detector

Update Custom Detector
POST/public/api/v01/custom_detector/update_detector{?parameter,value,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/update_detector?parameter=&value=&api_key=
URI Parameters
HideShow
id_asset (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
parameter
string (required) 

Which parameter to update, possible options are ‘name’, for changing name of the detector, ‘email_notify’ for changing email notification preference, ‘black_list’ for adding categories in black list

value
string (required) 

The new value for the required parameter. If parameter is ‘name’ then value can be any string. If parameter is ‘email_notify’ then value should be ‘True’ or ‘False’. If parameter is ‘black_list’ then value should be a comma separated string of category names to black list for example “cat,dog”

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "added": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "added": {
      "type": "boolean"
    }
  }
}

Toggle Training Custom Detector

Control the training state of the detector - either on or off.

Toggle Training Custom Detector
POST/public/api/v01/custom_detector/toggle_training{?api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/toggle_training?api_key=
URI Parameters
HideShow
id_asset (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "training": true,
  "model": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "training": {
      "type": "boolean"
    },
    "model": {
      "type": "string"
    }
  }
}

Apply Custom Detector

Apply custom detector to all new, old or both videos in user account

Apply Custom Detector
POST/public/api/v01/custom_detector/apply_custom_detector{?model_id_asset,blacklist,apply_targets,performance_threshold,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/apply_custom_detector?model_id_asset=&blacklist=&apply_targets=&performance_threshold=&api_key=
URI Parameters
HideShow
model_id_asset
string (required) 

Identifier for the custom detector, returned by custom_detector/create_detector

blacklist
string (optional) 

This is the parameter you would use to black list classes. This should be a comma seperated string. “cat, dog”

apply_targets
string (optional) 

This is the parameter you would set to one of the three options of videos to apply to. [“new”, “old”, “both”]. Note: this parameter is required and will error if no option is passed

performance_threshold
number (optional) 

Use this parameter to black list all the classes below a certain accuracy.

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "added": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "added": {
      "type": "boolean"
    }
  }
}

Turn Off Custom Detector

Apply custom detector to all new, old or both videos in user account

Turn Off Custom Detector
POST/public/api/v01/custom_detector/turn_off_custom_detector{?model_id_asset,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/turn_off_custom_detector?model_id_asset=&api_key=
URI Parameters
HideShow
model_id_asset
string (required) 

Identifier for the custom detector, returned by custom_detector/create_detector

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "added": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "added": {
      "type": "boolean"
    }
  }
}

Upload Image For Category Custom Detector

Upload an image for a specific label, this image will be used in the next training cycle

Upload Test Image For Custom Detector
POST/public/api/v01/custom_detector/upload_image_custom_detector{?image,keyword,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/upload_image_custom_detector?image=&keyword=&api_key=
URI Parameters
HideShow
id_asset (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
image
object (required) 

The image file to upload

keyword
string (required) 

Keyword associated with this image

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json

Cascade Models

Upload an image for a specific label, this image will be used in the next training cycle

Cascade Models
POST/public/api/v01/custom_detector/cascade_detectors{?end_model,video_id,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/cascade_detectors?end_model=&video_id=&api_key=
URI Parameters
HideShow
root_model (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
end_model
object (optional) 

Optional model to map onto. If none is provided the default will be the standard mapping.

video_id
string (required) 

Unique id associated with your video asset.

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json

Upload Test Image For Custom Detector

Upload a test image and apply your detector to it

Upload Test Image For Custom Detector
POST/public/api/v01/custom_detector/upload_test_image_custom_model{?image,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/upload_test_image_custom_model?image=&api_key=
URI Parameters
HideShow
id_asset (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
image
object (required) 

The image file to upload

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json

Get Test Image Status

Get the status of detector applied on test image uploaded

Get Test Image Status
GET/public/api/v01/custom_detector/get_custom_model_test_inference_status{?api_key}

Example URI

GET https://production.vidrovr.com/public/api/v01/custom_detector/get_custom_model_test_inference_status?api_key=
URI Parameters
HideShow
id_asset (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "meta_data": "Hello, world!",
  "added": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "meta_data": {
      "type": "string"
    },
    "added": {
      "type": "boolean"
    }
  }
}

Upload Test Video For Detector

Upload a video to test the custom detector.

Upload Test Video For Detector
POST/public/api/v01/custom_detector/upload_test_video{?video,api_key}

Example URI

POST https://production.vidrovr.com/public/api/v01/custom_detector/upload_test_video?video=&api_key=
URI Parameters
HideShow
id_asset (string) - Identifier for the custom detector, returned by `custom_detector/create_detector`
string (required) 
video
string (required) 

the video file to upload

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json

DEV -- Custom Indexing

[DEVELOPER] This enables customized mappings for third party grouping operations on our indexes. Enabling you to map your own taxonomies/ontologies to our models and data structures.

Update Stored Video

Store your internal mapping for vidrovr indexed assets. You may pass in the following:

  • Either a asset_id with tp_object_id and tp_group_ids —> which will perform an upsert operation on the asset with the proper video id.

  • Or noasset_id with tp_object_id and tp_group_ids which will just update the tp_group_ids for that video id.

  • Path: /update_video/<asset_id>

  • asset_id

    • The video identifier from vidrovr

Update Stored Video
POST/public/api/v01/search/manager/index/update_video/<asset_id>

Example URI

POST https://production.vidrovr.com/public/api/v01/search/manager/index/update_video/
URI Parameters
HideShow
tp_object_id
string (optional) 

your unique identifier for the media asset

tp_group_ids
array[string] (optional) 

groupings you want to link this asset

api_key
string (required) 

API key that can be found on the homepage when you log into your account

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "code": "200",
  "message": "“successful save”"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  }
}

Generated by aglio on 07 Feb 2019