ApyHub
ApyHub
verified icon
500 atoms
AI tier

About

This Utility API uses AI to identify entities with descriptive labels within videos.
This API leverages machine learning algorithms to analyse visual data to locate labels. For instance, in a video featuring a train at a crossing, labels like "train," "transportation," and "railroad crossing" are returned.
The atoms cost is subjected to change depending on the size of the input file and the provider selected. The list of providers and the atoms cost for each provider is given below:
Provider (requested_service)Atoms
Azure500
Google500
Note: In order to test the API on API Playground, just click on "Show optional inputs" and enter the Authentication token for the provider before clicking on Send request. The output response structure and the result of the AI utility APIs depend on the service provider and it may vary depending on which service provider is selected.
Select API Endpoints
Input

API Playground

API Documentation

input file: output json
POST
https://api.apyhub.com/ai/video/detect/label/file

Request example

1
curl --location --request POST 'https://api.apyhub.com/ai/video/detect/label/file' \
2
--header 'apy-token: {{token}}' \
3
--form 'file=@"sample.mp4"'
4
--form 'requested_service="azure"'
5
--form 'azure_access_token="your-azure_access_token"'
6
--form 'azure_account_id="your-azure_account_id"'
7
--form 'azure_region="your-azure_region"'
Provider (requested_service)Atoms
Azure500
Google500
Method: POST
Content Type: multipart/form-data
Request Body
AttributeTypeMandatoryDescription
filefileYesthe source video file
requested_serviceStringyesthe name of service provider for example azure,google
azure_access_tokenStringyes (if azure is selected in requested_service)the access token provided by azure
azure_account_idStringyes (if azure is selected in requested_service)the account id provided by azure
azure_regionStringyes (if azure is selected in requested_service)the region provided by azure
google_credential_filefileyes (if google is selected in requested_service)the credential file provided by google it must contain the required Google Credential JSON
Google Credential JSON
AttributeTypeMandatoryDescription
typeStringyesthe type provided by google in credential json file
project_idStringyesthe project_id provided by google in credential json file
private_key_idStringyesthe private_key_id provided by google in credential json file
private_keyStringyesthe private_key provided by google in credential json file
client_emailStringyesthe client_email provided by google in credential json file
client_idStringyesthe client_id provided by google in credential json file
auth_uriStringyesthe auth_uri provided by google in credential json file
token_uriStringyesthe token_uri provided by google in credential json file
auth_provider_x509_cert_urlStringyesthe auth_provider_x509_cert_url provided by google in credential json file
client_x509_cert_urlStringyesthe client_x509_cert_url provided by google in credential json file
universe_domainStringyesthe universe_domain provided by google in credential json file
Size And Limits
requested_serviceSupport matrix and limitations
Google* Supported Formats
- .MOV
- .MPEG4
- .MP4
- .AVI
* the file size limit is 1 GB.
Azure* Supported Formats
- FLV (with H.264 and AAC codecs) (.flv)
- MXF (.mxf)
- GXF (.gxf)
- MPEG2-PS, MPEG2-TS, 3GP (.ts, .ps, .3gp, .3gpp, .mpg)
- Windows Media Video (WMV)/ASF (.wmv, .asf)
- AVI (Uncompressed 8bit/10bit) (.avi)
- MP4 (.mp4, .m4a, .m4v)/ISMV (.isma, .ismv)
- Microsoft Digital Video Recording (DVR-MS) (.dvr-ms)
- Matroska/WebM (.mkv)
- WAVE/WAV (.wav)
- QuickTime (.mov)
* the file size limit is 1 GB.
Sample Response
A successful request returns the label detection response in the output parameter specified. If the request fails, the response contains an error code and a message to help determine what went wrong.

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
400Invalid input - the file is corrupt or the supported inputs are not provided.
401Required authentication information is either missing or not valid for the resource.
500If any unexpected error occurs while processing the request.

Authentication

All API requests to ApyHub services need to be authenticated. Currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

1
{
2
"error": {
3
"code": 105,
4
"message": "Invalid URL"
5
}
6
}
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.
Table of contents
AboutAPI PlaygroundAPI DocumentationAuthenticationError codesRelated Utility APIsRelated Articles