All Products
Search
Document Center

ApsaraVideo Live:CreateLivePullToPush

Last Updated:Aug 27, 2026

Creates a stream pulling and pushing task by calling CreateLivePullToPush.

Operation description

Important Stream pulling and pushing is a paid feature. Billing officially starts on December 5, 2025, at 00:00.
  • For billing details, see Stream pulling and pushing fees.

  • Call this operation to create a stream pulling and pushing task.

  • You can create a live stream pulling task or a video-on-demand stream pulling task.

  • After the task is created, it starts running at the specified start time and automatically stops and is deleted at the specified end time.

  • Make sure that the destination ingest URL specified in the task is not used by other tasks. Otherwise, stream ingest fails because multiple tasks push streams to the same URL simultaneously.

  • Callback events for stream pulling and pushing include task running status change callbacks and task exit callbacks. For more information, see Stream pulling and pushing event callbacks.

QPS limit

The single-user QPS limit for this operation is 10 calls per second. If this limit is exceeded, the API calls are throttled, which may affect your business. Call this operation as needed.

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:CreateLivePullToPush

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

RegionId

string

No

The region ID.

cn-beijing

Region

string

Yes

The region where the task is launched. Valid values:

  • ap-southeast-1 (Singapore)

  • ap-southeast-5 (Indonesia)

  • cn-beijing (Beijing)

  • cn-shanghai (Shanghai)

  • cn-shenzhen (Shenzhen)

Valid values:

  • cn-shenzhen :

    Shenzhen.

  • cn-qingdao :

    Qingdao.

  • preregion :

    Pre-release.

  • cn-beijing :

    Beijing.

  • cn-shanghai :

    Shanghai.

  • ap-southeast-1 :

    Singapore.

  • eu-central-1 :

    Germany (Frankfurt)

  • ap-northeast-1 :

    Japan (Tokyo)

  • ap-southeast-5 :

    Indonesia.

  • me-central-1 :

    Saudi Arabia (Riyadh)

cn-shanghai

TaskName

string

No

The task name. This parameter supports fuzzy match. Default value: "".

test

StartTime

string

Yes

The start time of the task.

Note
  • Format: yyyy-MM-ddTHH:mm:ssZ (UTC).

2024-08-26T10:30:00Z

EndTime

string

Yes

The end time of the task.

Note
  • Format: yyyy-MM-ddTHH:mm:ssZ (UTC).

  • EndTime must be later than StartTime.

  • EndTime must be later than the current time.

2024-08-27T14:30:00Z

SourceType

string

Yes

The source stream type. Valid values:

  • live: live stream.

  • vod: ApsaraVideo VOD resource.

  • url: third-party video file resource.

Valid values:

  • vod :

    ApsaraVideo VOD resource.

  • live :

    live stream.

  • url :

    third-party video file resource.

live

SourceProtocol

string

No

The source stream protocol.

Valid values:

  • rtmp

  • srt

  • http-flv

  • hls

Note

This parameter is required only when SourceType is set to live. This parameter does not take effect when SourceType is set to vod or url.

rtmp

SourceUrls

array

Yes

The list of source stream URLs.

Note
  • For the live type, only one complete live streaming URL is supported.

  • For the vod and url types, up to 30 URLs are supported.

  • The live type supports rtmp, srt, and http-flv protocols.

  • For the vod type, specify ApsaraVideo VOD media asset IDs.

  • The url type supports mp4 and http-flv protocols.

string

No

The source stream URL.

Note
  • For the live type, only one complete live streaming URL is supported.

  • For the vod and url types, up to 30 URLs are supported.

  • The live type supports rtmp, srt, and http-flv protocols.

  • For the vod type, specify ApsaraVideo VOD media asset IDs.

  • The url type supports mp4 and http-flv protocols.

rtmp://pulltest.****.aliyunlive.com/pulltest493/pulltest-w434

DstUrl

string

Yes

The destination ingest URL.

Note
  • The rtmp protocol is supported.

  • The maximum length is 2000 characters.

rtmp://pushtest.********.aliyunlive.com/pulltest493/pulltest-w434

RepeatNumber

integer

No

The number of times to repeat playback after the playlist finishes. Valid values:

  • 0 (default): no repeat.

  • -1: loop indefinitely.

  • Other positive integers: the number of times to repeat playback.

Note

This parameter applies only to video-on-demand or third-party video streams.

0

FileIndex

integer

No

The file index. Playback starts from the nth file.

0

Offset

integer

No

The start offset from the beginning of the video file. Unit: seconds. The value must be greater than 0.

Note
  • Specifies the offset from the first frame as the start position for reading (applies to the first video).

  • This parameter applies only to video-on-demand or third-party video streams.

2

CallbackUrl

string

No

The HTTP callback URL. Default value: empty.

Note
  • The URL that receives task-related callbacks.

  • The maximum length is 2000 characters.

  • If this parameter is not specified, task events are not sent as callbacks.

https://callback*****.com

RetryInterval

integer

No

The retry interval. Unit: seconds. Valid values: 60 to 300. Default value: 60.

60

RetryCount

integer

No

The number of retries. Default value: 3.

3

No

No

No

Response elements

Element

Type

Description

Example

object

Schema of Response

RequestId

string

The request ID.

16A96B9A-F203-4EC5-8E43-CB92E68*****

RetCode

integer

The return code.

Note
  • The value "0" is returned for normal requests.

  • For exceptions, see the error codes listed below.

0

Description

string

The error description.

OK

TaskId

string

The task ID.

fd245384-4067-4f91-9d75-9666a6bc9****

Examples

Success response

JSON format

{
  "RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68*****",
  "RetCode": 0,
  "Description": "OK",
  "TaskId": "fd245384-4067-4f91-9d75-9666a6bc9****"
}

Error codes

HTTP status code

Error code

Error message

Description

400 InvalidParameter %s. Parameter error
400 InvalidParam.CodeIllegalDuration %s. The value of start time should be less than the value of end time .
400 CodeInvalidAliUid This aliuid does not have a live domain name. This aluid does not have a live domain name.
400 CodeNotEnoughResource Exceeded configuration limits or insufficient resources. Exceeded configuration limits or insufficient resources
400 CodeConfigAlreadyExists Code Config Already Exists The configuration already exists. Check the configuration and try again.
500 InternalError %s. error on the live liveapi server.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.