apyhub
ARTIFICIAL INTELLIGENCE · IMAGE PROCESSING

Video Object Detection

What it does

Video Object Detection analyzes a video and returns object-detection results from either Azure or Google, depending on the service you request. Send a video by URL with url and requested_service, or upload a video file with file and requested_service.

Use the URL route when your video is already hosted, or the file route when you want to upload content directly. For Azure requests, the URL route accepts azure.region, azure.account_id, and azure.access_token, while the file route accepts azure_region, azure_account_id, and azure_access_token. For Google requests, the URL route accepts google.google_language and google.google_credential_json, and the file route accepts google_credential_file.

The response is wrapped in data and includes either an azure object or a google object, based on requested_service. The schemas do not prescribe the detailed detection payload, so treat those provider objects as the returned detection result structure.

Use Video Object Detection when you need to inspect footage for detected objects as part of media review, content indexing, or automated video analysis pipelines.

▣ ENDPOINT 01 / 02
POST
Object Detection via URL
https://api.eu.apyverse.com/apyhub/video-detect-objects/url

QUICKSTART

GUIDE

Quickstart

Detect objects in a video from a URL using the Azure service.

curl -X POST "https://api.eu.apyverse.com/apyhub/video-detect-objects/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://assets.apyhub.com/samples/sample.mp4",
    "requested_service": "azure"
  }'

What you'll get back

Returns a JSON object with a data object field. The data object may include an azure object when requested_service is azure, or a google object when requested_service is google.

{
  "data": {
    "azure": {}
  }
}
TRY ITLIVE · 500 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
azure
google
google_credential_json
Google Cloud service account JSON (required for Google video routes).

About this endpoint

What it does

Analyzes a video from a URL and returns detection results in a JSON object. The request body includes the source url and a requested_service that selects either Azure or Google processing.

Request Body

ParameterTypeMandatoryDescription
urlStringYesVideo URL to analyze. Must be a URI.
azureObjectNoAzure-specific configuration for video detection.
azure.regionStringNoAzure region.
azure.account_idStringNoAzure account ID.
azure.access_tokenStringNoAzure access token.
googleObjectNoGoogle-specific configuration for video detection.
google.google_languageStringNoGoogle language code.
google.google_credential_jsonObjectNoGoogle Cloud service account JSON required for Google video routes. See schema for nested fields.
requested_serviceENUMYesService to use. Allowed values: azure, google.

Response

Returns a JSON object with a required data object field. The data object may include an azure object when requested_service is azure, or a google object when requested_service is google.

ParameterTypeMandatoryDescription
dataObjectYesResponse wrapper containing service-specific detection results.
data.azureObjectNoPresent when requested_service is azure.
data.googleObjectNoPresent when requested_service is google.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 02 / 02
POST
Object Detection via file upload
https://api.eu.apyverse.com/apyhub/video-detect-objects/file

QUICKSTART

GUIDE

Quickstart

Upload a video file and tell the API to use the Azure object-detection route.

curl -X POST "https://api.eu.apyverse.com/apyhub/video-detect-objects/file" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/video.mp4" \
  -F "requested_service=azure"

What you'll get back

Returns a JSON object with a data object field. When requested_service is azure, data includes an azure object with the detection result.

{
  "data": {
    "azure": {}
  }
}
TRY ITLIVE · 500 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
Service account JSON (Google routes).

About this endpoint

What it does

Uploads a video file and runs object detection using the selected provider. The request sends the file plus provider-specific fields, and the response returns a JSON object with a data object containing provider output.

Request Body

ParameterTypeMandatoryDescription
fileStringYesVideo file to process.
azure_regionStringNoAzure region. Example: trial.
azure_account_idStringNoAzure account identifier.
requested_serviceENUMYesProvider to use. Allowed values: azure, google.
azure_access_tokenStringNoAzure access token.
google_credential_fileStringNoGoogle service account JSON file for Google routes. Binary file upload.

Response

Returns a JSON object with a data object field. The data object may include an azure object when requested_service is azure, or a google object when requested_service is google.

ParameterTypeMandatoryDescription
dataObjectYesResponse wrapper object. May contain azure output when requested_service is azure, or google output when requested_service is google.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.