All Products
Search
Document Center

ApsaraVideo Live:CreateRTCWhipStreamAddress

Last Updated:Jul 15, 2026

Creates a WHIP ingest URL for an ApsaraVideo Real-time Communication channel by calling CreateRTCWhipStreamAddress.

Operation description

Usage notes

  1. Call the CreateRTCWhipStreamAddress operation to create a WHIP ingest URL (WhipAddress) for the specified RTC channel.

  2. Use OBS to ingest a stream by using the WHIP protocol.

    • Run the OBS streaming tool.

    • In the menu bar, choose File > Settings.

    • On the Settings page, select Stream, configure the following information, and then click OK.

      ParameterDescription
      ServiceSet Service to WHIP.
      ServerUse the WhipAddress generated by the operation in Step 1.
      Bearer TokenLeave the stream key empty.

  3. Other users can join the corresponding channel to watch the stream.

QPS limit

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

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

none

*All Resource

*

None None

Request syntax

POST  HTTP/1.1

Request parameters

Parameter

Type

Required

Description

Example

ClientToken

string

No

The idempotency parameter.

Note

This parameter is used to identify whether multiple requests are the same request. We recommend that you do not specify this parameter for this operation.

58E73333-xxxx-xxxx-xxxx

AppId

string

Yes

The application ID. You can view your application IDs by navigating to ApsaraVideo Live > Live+ > ApsaraVideo Real-time Communication > Application Management. If no application exists, create one by clicking Create Application.

6a0**6dcc-xxxx-xxxx-xxxx-e**e3exxxxxx

ChannelId

string

Yes

The ID of the channel to join.

ch00000****001

UserId

string

Yes

The user ID. The user ID must be unique within the channel.

zb0000****0001

DisplayName

string

Yes

The display name of the user in the channel.

Note

Chinese characters and other characters are supported. To avoid excessively long names, keep the size under 32 bytes.

主播小二

ExpireTime

integer

No

The validity period of the ingest URL. Unit: seconds. Default value: 43200.

Note

If the validity period expires, an ongoing stream that uses the URL generated by this operation is not affected. However, a new stream ingest attempt using the same URL will fail.

43200

Response elements

Element

Type

Description

Example

object

Schema of Response

RequestId

string

The request ID.

58E7**D4-xxxx-xxxx-xxxx-6B5**6Cxxxxx

WhipAddress

string

The WHIP protocol URL.

https://xxxxxx.media-sh.xxxxx.com/xxxxxxxxxxxx/3723a3xxxxxxxxx223c606b***5f7a2bc7c56ea5cdd0xxxxe?auth_key=17495xxxxx-xxxx-0-f013003067c78c4053f9cd0xxxxxxx&qqzr=H4sIAAAAAAAC_6pWSlayUkrOMxxxxxxrPyCxQ0lFKQTCLlKyUjM2Nj**NDQ1TEy2Mjc3xxxxxxxxxxqRYAAAD__xxxxx__xxxxxxxx

Examples

Success response

JSON format

{
  "RequestId": "58E7**D4-xxxx-xxxx-xxxx-6B5**6Cxxxxx",
  "WhipAddress": "https://xxxxxx.media-sh.xxxxx.com/xxxxxxxxxxxx/3723a3xxxxxxxxx223c606b***5f7a2bc7c56ea5cdd0xxxxe?auth_key=17495xxxxx-xxxx-0-f013003067c78c4053f9cd0xxxxxxx&qqzr=H4sIAAAAAAAC_6pWSlayUkrOMxxxxxxrPyCxQ0lFKQTCLlKyUjM2Nj**NDQ1TEy2Mjc3xxxxxxxxxxqRYAAAD__xxxxx__xxxxxxxx"
}

Error codes

HTTP status code

Error code

Error message

Description

400 InputInvalid %s. Illegal input parameters
500 ServerError %s. Unknown error, please try again later or submit a ticket for consultation.
403 NoAuth %s. No permission
404 ResourceNotExist %s. The requested resource does not exist, please check and try again

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.