Updated on 2024-12-04 GMT+08:00

Before You Start

Video on Demand (VOD) is a one-stop solution that uploads, transcodes, and manages media resources and distributes them to your users. VOD offers premium media processing to help you quickly build a secure and scalable VOD platform, eliminating the hassle of managing underlying infrastructure.

This document describes how to use application programming interfaces (APIs) to perform operations on VOD, such as uploading, transcoding, categorizing, and managing audio/video. API Overview lists all supported operations.

If you plan to access VOD through an API, ensure that you are familiar with VOD concepts. For details, see Service Overview.

Endpoints

VOD supports Representational State Transfer (REST) APIs, allowing you to call APIs using HTTPS. For details, see Calling APIs.

An endpoint is the request address for calling an API. Endpoints vary depending on regions. For the endpoints of all services, see Regions and Endpoints.

In addition, VOD provides software development kit (SDK) in multiple programming languages.

APIs Supporting Cross-Origin Requests

See Table 1.

Table 1 APIs supporting cross-origin requests

API

URI

Uploading Media Assets to VOD

/v1.0/{project_id}/asset

Confirming Media Asset Upload

/v1.0/{project_id}/asset/status/uploaded

Verifying the Upload

/v1.0/{project_id}/asset/duplication

Querying Media Assets

/v1.0/{project_id}/asset/info

Obtaining Authorization for Multipart Upload

/v1.0/{project_id}/asset/authority

API Request Throttling

API request throttling is configured for VOD to prevent service interruption caused by repeated API calls in a short period. See Table 2.

Table 2 API request throttling

Category

API

API Calls for a Single Tenant Per Minute

API Calls for All Tenants Per Minute

Media upload

  • Uploading media files to VOD
  • Obtaining upload authorization
  • Confirming media upload
  • Replicating media files in OBS to VOD

1,500

12,000

  • Pulling media files from URLs
  • Verifying the upload

100

1,000

Media processing

  • Updating a video
  • Media processing
  • Canceling a media asset transcoding task
  • Extracting audio
  • Canceling an audio extraction task
  • Creating a media asset review task
  • Setting a thumbnail

100

1,000

Media management

  • Deleting media files
  • Publishing media files
  • Canceling media publish
  • Modifying file attributes

100

1,000

Querying file information

1,500

24,000

  • Querying file details
  • Querying media files

1,500

12,000

Media pre-loading

  • CDN pre-loading
  • Querying pre-loading results

100

1,000

Media category

  • Creating a media category
  • Modifying a media category
  • Deleting a media category
  • Querying media categories

100

1,000

Key query

Key query

1,500

12,000

Statistical analysis

  • Querying CDN statistics
  • Querying origin server statistics
  • Querying the most requested content
  • Querying playback logs of a domain name
  • Querying daily playback statistics of a media asset

100

1,000

Watermark template management

  • Creating a watermark template
  • Modifying a watermark template
  • Querying watermark templates
  • Deleting a watermark template
  • Confirming watermark image upload

100

1,000

Subtitle management

Managing subtitles

100

1,000

Transcoding template management

  • Creating a custom transcoding template
  • Querying transcoding templates
  • Updating a transcoding template
  • Deleting a custom template

100

1,000

Transcoding template set management

  • Creating a transcoding template group set
  • Modifying a transcoding template group set
  • Querying custom template group sets
  • Deleting a transcoding template group set

100

1,000

Concepts

  • Account

    A domain is created upon successful registration. The domain has full access permissions for all of its cloud services and resources. It can be used to reset user passwords and grant user permissions. The account is a payment entity and should not be used to perform routine management. For security purposes, create IAM users and grant them permissions for routine management.

  • IAM user

    An IAM user is created using an account to use cloud services. Each IAM user has its own identity credentials (password and access keys).

    An IAM user can view the account ID and user ID on the My Credentials page of the console. The domain name, username, and password will be required for API authentication.

  • Region

    A region is a physical location where cloud resources are deployed. Availability zones (AZs) in the same region can communicate with each other over an intranet but AZs in different regions cannot communicate with each other. For low network latency and quick resource access, select the nearest region. The choice of regions may also be subject to legal compliance requirements.

  • AZ

    An AZ is one or more physical data centers within a region. It has independent cooling, fire extinguishing, moisture-proof, and electricity facilities. Within an AZ, compute, networking, storage, and other resources are logically divided into multiple clusters. AZs within a region are connected using high-speed optical fibers for high availability.

  • Project

    Projects group and isolate resources (including compute, storage, and network resources) across physical regions. A default project is provided for each region, and subprojects can be created under each default project. Users can be granted permissions to access all resources in a specific project. For more refined access control, create subprojects under a project and purchase resources in the subprojects. Users can then be assigned permissions to access only specific resources in the subprojects.

    Figure 1 Project isolating model