apyhub
ARTIFICIAL INTELLIGENCE · DATA EXTRACTION

AI Video Brand Detection Api

What it does

Brand Detection lets you send a media file or a media URL and get brand-detection results back from either Azure or Google. Use /file for binary uploads and /url when your asset is already hosted. In both routes, you choose requested_service as azure or google.

For URL-based detection, send url plus requested_service. If you are using Azure, you can also provide azure.region, azure.account_id, and azure.access_token. If you are using Google, you can supply google.google_language and a google.google_credential_json service account object. The file-upload route accepts file, requested_service, and the matching Azure or Google credential fields for that provider.

The response is a structured data object that includes an azure object when you requested Azure, or a google object when you requested Google. The service does not impose a fixed nested response shape in the schema, so you should treat those provider objects as the detection payload returned by the underlying platform.

Use Brand Detection when you need to inspect uploaded clips, hosted assets, or other supported media as part of a review workflow, content moderation pipeline, or brand-monitoring system.

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

QUICKSTART

GUIDE

Quickstart

Detect brands from a URL by sending the URL and the target service in a minimal JSON body.

curl -X POST "https://api.eu.apyverse.com/apyhub/video-detect-brands" \
  -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

Detects brands from a URL and returns a JSON object containing a data object. The returned brand-detection payload is keyed by the selected requested_service (azure or google), with the corresponding service-specific result object present when that service is used.

Request Body

ParameterTypeMandatoryDescription
urlStringYesThe URL to analyze. Must be a valid URI.
azureObjectNoAzure-specific configuration object. Contains region, account_id, and access_token if provided.
azure.regionStringNoAzure region.
azure.account_idStringNoAzure account ID.
azure.access_tokenStringNoAzure access token.
googleObjectNoGoogle-specific configuration object. Contains google_language and google_credential_json if provided.
google.google_languageStringNoGoogle language code, such as en-US.
google.google_credential_jsonObjectNoGoogle Cloud service account JSON. Required for Google video routes.
google.google_credential_json.typeStringNoService account type.
google.google_credential_json.auth_uriStringNoOAuth authorization URI.
google.google_credential_json.client_idStringNoGoogle client ID.
google.google_credential_json.token_uriStringNoOAuth token URI.
google.google_credential_json.project_idStringNoGoogle Cloud project ID.
google.google_credential_json.private_keyStringNoGoogle private key.
google.google_credential_json.client_emailStringNoService account client email.
google.google_credential_json.private_key_idStringNoPrivate key ID.
google.google_credential_json.universe_domainStringNoGoogle universe domain.
google.google_credential_json.client_x509_cert_urlStringNoClient X.509 certificate URL.
google.google_credential_json.auth_provider_x509_cert_urlStringNoAuth provider X.509 certificate URL.
requested_serviceENUMYesThe detection service to use: azure or google.

Response

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

ParameterTypeMandatoryDescription
dataObjectYesResponse wrapper containing the service-specific result object.
data.azureObjectNoPresent when requested_service is azure. Arbitrary object shape.
data.googleObjectNoPresent when requested_service is google. Arbitrary object shape.

Body

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

QUICKSTART

GUIDE

Quickstart

Upload a file and tell the API which detection service to use.

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

What you'll get back

Returns a JSON object with a data object. Depending on requested_service, that object may include an azure object or a google object.

{
  "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 file for brand detection and routes the request to the specified service. The request body must include the file plus the service selector, and the response returns a JSON object containing a data object with service-specific results.

Request Body

ParameterTypeMandatoryDescription
fileStringYesFile to analyze. Binary upload.
azure_regionStringNoAzure region. Example: trial.
azure_account_idStringNoAzure account ID.
requested_serviceENUMYesService to use. Allowed values: azure, google. Example: azure.
azure_access_tokenStringNoAzure access token.
google_credential_fileStringNoGoogle service account JSON file. Binary 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
dataObjectYesWrapper object for the brand detection result. May include azure or google depending on requested_service.
data.azureObjectNoPresent when requested_service is azure. Additional properties are allowed.
data.googleObjectNoPresent when requested_service is google. Additional properties are allowed.

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.