All Products
Search
Document Center

ApsaraVideo Live:AddLiveAppSnapshotConfig

Last Updated:Dec 17, 2025

Configures the snapshot feature for a streaming domain. The captured snapshots are stored in Object Storage Service (OSS). The configuration takes effect after you restart stream ingest.

Operation description

  • Before you call this operation, make sure that you fully understand the billing method and pricing of live stream snapshots in ApsaraVideo Live. For more information, see Billing of live stream snapshots.

  • Make sure that Object Storage Service (OSS) is activated and a specific bucket is created. This way, ApsaraVideo Live can store live stream snapshots in the bucket. For more information, see Configure OSS.

  • If you store snapshots in OSS, storage fees are generated. For more information, see Storage fees.

  • The OSS bucket must reside in the same region as the live center of the streaming domain. Cross-region snapshot capture is not supported.

QPS limit

You can call this operation up to 30 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

live:AddLiveAppSnapshotConfig

create

*Domain

acs:cdn:*:{#accountId}:domain/{#DomainName}

None None

Request parameters

Parameter

Type

Required

Description

Example

DomainName

string

Yes

The main streaming domain.

example.com

AppName

string

Yes

The name of the application to which the live stream belongs. The value of this parameter must be the same as the application name in the ingest URL. Otherwise, the configuration does not take effect. The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (_). The name cannot start with a hyphen (-) or underscore (_). You can also specify an asterisk (*) as the value to match all applications.

liveApp****

TimeInterval

integer

Yes

The interval at which snapshots are captured. Unit: seconds. Valid values: 5 to 3600.

5

OssEndpoint

string

Yes

The endpoint of the OSS bucket.

After the configuration is complete, you can search for specific snapshots in the OSS console based on the callback information. You must configure the OSS endpoint in advance. For more information, see Configure OSS.

cn-oss-****.aliyuncs.com

OssBucket

string

Yes

The name of the OSS bucket.

After the configuration is complete, you can search for specific snapshots in the OSS console based on the callback information. You must create the OSS bucket in advance. For more information, see Configure OSS.

liveBucket****

OverwriteOssObject

string

No

The naming format of snapshots that are stored in the overwrite mode, which means that a new snapshot overwrites the previous snapshot.

  • The name must be less than 256 bytes in length.

  • Only JPG images are supported.

  • The name can contain variables such as {AppName} and {StreamName}.

{AppName}/{StreamName}.jpg

SequenceOssObject

string

No

The naming format of snapshots that are stored in sequence,

which means that a new snapshot does not overwrite the previous snapshot. You can call the DescribeLiveStreamSnapshotInfo operation to query the snapshots that were captured within a specific time period.

  • The name must be less than 256 bytes in length.

  • Only JPG images are supported.

  • The name can contain variables such as {AppName}, {StreamName}, {UnixTimestamp}, and {Sequence}. The name must contain at least one of the {UnixTimestamp} and {Sequence} variables.

snapshot/{AppName}/{StreamName}/{UnixTimestamp}.jpg

Callback

string

No

The callback URL that is used to receive notifications about snapshot capture.

https://learn.aliyundoc.com

Response elements

Element

Type

Description

Example

object

RequestId

string

The request ID.

16A96B9A-F203-4EC5-8E43-CB92E68F4CD8

Examples

Success response

JSON format

{
  "RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}

Error response

JSON format

{
    "Code":"InternalError",
    "HostId":"live.aliyuncs.com",
    "Message":"The request processing has failed due to some unknown error.",
    "RequestId":"6EBD1AC4-C34D-4AE1-963E-B688A228BE31"
}

Error codes

HTTP status code

Error code

Error message

Description

400 InvalidOverwriteOssObjectOrSequenceOssObject.Malformed Specified paramters OverwriteOssObject or SequenceOssObject should have one. You can specify only one of the OverwriteOssObject and SequenceOssObject parameters.
400 InvalidOssBucket.Malformed Specified parameter OssBucket is not valid.
400 InvalidOssEndpoint.Malformed Specified parameter OssEndpoint is not valid.
400 InvalidOverwriteOssObject.Malformed Specified parameter OverwriteOssObject is not valid.
400 InvalidSequenceOssObject.Malformed Specified parameter SequenceOssObject is not valid. Invalid value of SequenceOssObject. Check whether the SequenceOssObject parameter that you specified is correct.
400 InvalidOssBucket.NotFound The parameter OssBucket does not exist.
400 ConfigAlreadyExists Config has already exist.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.