Updated on 2026-04-22 GMT+08:00

Creating a Watermark Rule

Function

This API is used to create a watermark rule. You must create a watermark template first.

Calling Method

For details, see Calling APIs.

URI

POST /v1/{project_id}/watermark/rules

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. The token 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 the request is sent. This parameter is mandatory for AK/SK authentication.

X-Project-Id

No

String

Project ID. This parameter is mandatory for AK/SK authentication.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

rule_name

No

String

Definition

Watermark rule name.

Constraints

If this parameter is left blank, the default name is used. The default name is in the format of Domain name:Application name:Stream name, for example, example.com:live:stream.

Range

Length: 1 to 255 characters

Default Value

N/A

template_id

Yes

String

Definition

Watermark template ID.

Constraints

The ID can only contain digits, letters, and hyphens (-). It is generated when the template is created.

Range

Length: 1 to 255 characters

Default Value

N/A

domain

Yes

String

Definition

Domain name.

Constraints

N/A

Range

Length: 1 to 255 characters

Default Value

N/A

app

No

String

Definition

Application name.

Constraints

This parameter is optional for Cloud Live and mandatory for Media Live.

Range

Length: 1 to 128 characters

Default Value

N/A

stream

No

String

Definition

Stream name.

Constraints

This parameter is optional in the OTT scenario.

Range

Length: 1 to 512 characters

Default Value

N/A

location

No

WatermarkLocation object

Definition

Watermark position.

Constraints

N/A

channel_id

No

String

Definition

Channel ID, which is used in the OTT scenario.

Constraints

N/A

Range

Length: 1 to 64 characters

Default Value

N/A

transcode_template_name

No

String

Definition

Transcoding template name corresponding to the channel. This parameter is used in the OTT scenario.

Constraints

N/A

Range

Length: 1 to 255 characters

Default Value

N/A

Table 4 WatermarkLocation

Parameter

Mandatory

Type

Description

location

No

String

Definition

Watermark position.

Constraints

N/A

Range

  • TOPLEFT: upper left

  • TOPRIGHT: upper right

  • BOTTOMLEFT: lower left

  • BOTTOMRIGHT: lower right

Random: The image watermark may appear in any corner of the video stream (upper left, upper right, lower left, or lower right).

Default Value

N/A

x_offset

No

Number

Definition

Horizontal offset between the watermark and the output video.

Options:

  • An integer indicates the offset in pixels. Value range: [1, 4096]

  • A decimal indicates the ratio of the horizontal offset to the output video width. Value range: [0, 1)

Constraints

The offset ratio can have a maximum of four decimal places.

Default Value

N/A

Value range:

0~4096

y_offset

No

Number

Definition

Vertical offset between the watermark and the output video.

Options:

  • An integer indicates the offset in pixels. Value range: [1, 4096]

  • A decimal indicates the ratio of the vertical offset to the output video height. Value range: [0, 1)

Constraints

The offset ratio can have a maximum of four decimal places.

Default Value

N/A

Value range:

0~4096

Response Parameters

Status code: 201

Table 5 Response header parameters

Parameter

Type

Description

X-request-id

String

Request ID for task tracing. Format: request_id-timestamp-hostname. (request_id is the UUID generated on the server. timestamp is the current timestamp. hostname is the name of the server that handles the current request.)

Table 6 Response body parameters

Parameter

Type

Description

rule_name

String

Definition

Watermark rule name.

Constraints

If this parameter is left blank, the default name is used. The default name is in the format of Domain name:Application name:Stream name, for example, example.com:live:stream.

Range

Length: 1 to 255 characters

Default Value

N/A

template_id

String

Definition

Watermark template ID.

Constraints

The ID can only contain digits, letters, and hyphens (-). It is generated when the template is created.

Range

Length: 1 to 255 characters

Default Value

N/A

domain

String

Definition

Domain name.

Constraints

N/A

Range

Length: 1 to 255 characters

Default Value

N/A

app

String

Definition

Application name.

Constraints

This parameter is optional for Cloud Live and mandatory for Media Live.

Range

Length: 1 to 128 characters

Default Value

N/A

stream

String

Definition

Stream name.

Constraints

This parameter is optional in the OTT scenario.

Range

Length: 1 to 512 characters

Default Value

N/A

location

WatermarkLocation object

Definition

Watermark position.

Constraints

N/A

channel_id

String

Definition

Channel ID, which is used in the OTT scenario.

Constraints

N/A

Range

Length: 1 to 64 characters

Default Value

N/A

transcode_template_name

String

Definition

Transcoding template name corresponding to the channel. This parameter is used in the OTT scenario.

Constraints

N/A

Range

Length: 1 to 255 characters

Default Value

N/A

Table 7 WatermarkLocation

Parameter

Type

Description

location

String

Definition

Watermark position.

Constraints

N/A

Range

  • TOPLEFT: upper left

  • TOPRIGHT: upper right

  • BOTTOMLEFT: lower left

  • BOTTOMRIGHT: lower right

Random: The image watermark may appear in any corner of the video stream (upper left, upper right, lower left, or lower right).

Default Value

N/A

x_offset

Number

Definition

Horizontal offset between the watermark and the output video.

Options:

  • An integer indicates the offset in pixels. Value range: [1, 4096]

  • A decimal indicates the ratio of the horizontal offset to the output video width. Value range: [0, 1)

Constraints

The offset ratio can have a maximum of four decimal places.

Default Value

N/A

Value range:

0~4096

y_offset

Number

Definition

Vertical offset between the watermark and the output video.

Options:

  • An integer indicates the offset in pixels. Value range: [1, 4096]

  • A decimal indicates the ratio of the vertical offset to the output video height. Value range: [0, 1)

Constraints

The offset ratio can have a maximum of four decimal places.

Default Value

N/A

Value range:

0~4096

Status code: 400

Table 8 Response header parameters

Parameter

Type

Description

X-request-id

String

Request ID for task tracing. Format: request_id-timestamp-hostname. (request_id is the UUID generated on the server. timestamp is the current timestamp. hostname is the name of the server that handles the current request.)

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error description.

Example Requests

POST https://{endpoint}/v1/{project_id}/watermark/rules

{
  "template_id" : "70b76xxxxxx34253880af501cdxxxxxx",
  "domain" : "push.example.com",
  "app" : "live",
  "stream" : "watermarkStream",
  "location" : {
    "location" : "TOPLEFT",
    "x_offset" : 20,
    "y_offset" : 10
  }
}

Example Responses

Status code: 201

Watermark rule created.

{
  "rule_name" : "string",
  "template_id" : "string",
  "domain" : "string",
  "app" : "string",
  "stream" : "string",
  "location" : {
    "location" : "string",
    "x_offset" : 4096,
    "y_offset" : 4096
  }
}

Status code: 400

Watermark rule creation failed.

{
  "error_code" : "LIVE.100011001",
  "error_msg" : "Request Illegal"
}

Status Codes

Status Code

Description

201

Watermark rule created.

400

Watermark rule creation failed.

Error Codes

See Error Codes.