Updated on 2025-11-26 GMT+08:00

Packaging Subtitles

Function

This API is used to package multiple subtitles in HLS VTT or HLS SRT format.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions. For details about the required permissions, see Permissions Policies and Supported Actions.

URI

PUT /v1/{project_id}/asset/subtitles

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain the project ID, see Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

No

String

User token. This parameter is mandatory when token authentication is used.

It can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token.

Authorization

No

String

Authentication information. This parameter is mandatory for AK/SK authentication.

X-Sdk-Date

No

String

Time when a request is sent. This parameter is mandatory for AK/SK authentication.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

asset_id

Yes

String

Media asset ID assigned by VOD. It can only be queried but cannot be modified.

default_language

No

String

Default subtitle language (The subtitle must exist.)

repackage_mode

No

String

External mode. If this parameter is not specified, the default value 0 is used.

The options include:

-0: The subtitle will be inserted into the historical output.

-1: The subtitle will not be inserted into the historical output.

delete_mode

No

String

Deletion mode. If this parameter is not specified, the default value 0 is used.

The options include:

-0: Deleting the subtitle will also clear the subtitle information contained in the historical output.

-1: Deleting the subtitle will not clear the subtitle information contained in the historical output.

add_subtitles

No

Array of AddSubtitle objects

Subtitle to be added or modified.

delete_subtitles

No

Array of DeleteSubtitle objects

Subtitle to be deleted. The value of language cannot be the same as that of add_subtitles.

Table 4 AddSubtitle

Parameter

Mandatory

Type

Description

type

Yes

String

Subtitle type. Currently, VTT and SRT subtitle files can be packaged.

language

Yes

String

Subtitle language.

obs_info

Yes

ObsInfo object

Information about the OBS bucket where subtitles are stored.

Table 5 ObsInfo

Parameter

Mandatory

Type

Description

bucket

Yes

String

OBS bucket name.

object

Yes

String

OBS object path, which must be specific to the object.

region

No

String

Region where an OBS bucket is located.

Table 6 DeleteSubtitle

Parameter

Mandatory

Type

Description

type

Yes

String

Subtitle type. Currently, VTT and SRT subtitle files can be packaged.

language

Yes

String

Subtitle language.

Response Parameters

Status code: 202

Table 7 Response body parameters

Parameter

Type

Description

asset_id

String

Media asset ID assigned by VOD. It can only be queried but cannot be modified.

Status code: 400

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

This example packages subtitles.

PUT https://{endpoint}/v1/{project_id}/asset/subtitles

Content-Type: application/json
{
  "asset_id": "f488337c31c8e4622f1590735b134c65",
  "default_language": "cn",
  "add_subtitles": [
    {
      "obs_info": {
        "bucket": "test",
        "object": "subtitle_test/happyNewYearCn.vtt"
      },
      "type": "VTT",
      "language": "cn"
    }
  ],
  "delete_subtitles": [
    {
      "type": "VTT",
      "language": "cn"
    }
  ]
}

Example Responses

Status code: 202

Returned when the request succeeded.

{
  "asset_id" : "a3ef6526e787acff2ca81c7da840f11f"
}

Status code: 400

Returned when the request failed.

{
  "error_code" : "VOD.10053",
  "error_msg" : "The request parameter is illegal, illegal field: {xx}."
}

Status Codes

Status Code

Description

202

Returned when the request succeeded.

400

Returned when the request failed.

Error Codes

See Error Codes.