All Products
Search
Document Center

ApsaraVideo VOD:ProduceEditingProjectVideo

Last Updated:Jul 21, 2026

Produces one or more videos into a finished video. You can submit source videos directly through the timeline parameter, or create an online editing project first and then submit it for production.

Operation description

  • Before you use this operation, make sure that you are familiar with the billing methods and pricing of ApsaraVideo VOD. Online editing is a paid feature. For more information about billing, see Video editing and production billing.

  • This is an asynchronous operation. After you submit a task, the online editing project ID is returned (the video has not been produced yet, and the task enters a queue for asynchronous execution). The final result is sent through a callback notification. You can also call GetEditingProject to query the task status.

  • The video resources used in the online editing timeline can be materials in the material library or videos in the media library. If you use videos from the media library, make sure that their status is Normal.

  • Videos are produced based on ProjectId and Timeline. The logic is as follows:

    • ProjectId and Timeline cannot both be empty. Otherwise, no basis exists to produce videos.

    • If ProjectId is empty and Timeline is not empty, an online editing project is automatically created with the specified Timeline. The materials referenced in the Timeline are extracted and set as the project materials. Then, video production begins.

    • If ProjectId is not empty and Timeline is empty, the most recently saved Timeline is retrieved based on ProjectId and used to produce videos.

    • If both ProjectId and Timeline are not empty, the specified Timeline is used to produce videos, and the corresponding online editing project is updated (Timeline and project materials). If other fields are specified, the corresponding project fields are also updated.

  • The maximum number of tracks for video tracks, image tracks, and subtitle tracks is 100 each.

  • The total number of materials cannot exceed 200, and the total file size of materials cannot exceed 1 TB.

  • The region of the input or output bucket must be the same as the region where the ApsaraVideo VOD service is used.

  • When the output is a video, the following resolution limits apply to the finished video:

    • Both the width and height must be at least 128 px.

    • Both the width and height must be at most 4096 px.

    • The short side must be at most 2160 px.

  • After video production is complete, the video is automatically uploaded to ApsaraVideo VOD. Therefore, after video production is complete, ApsaraVideo VOD sends the ProduceMediaComplete and FileUploadComplete event notifications. After the produced video transcoding is complete, the single definition video transcoding complete and all definition video transcoding complete event notifications are sent.

  • You can also add effects to the produced video. For more details, see Effects.

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

vod:ProduceEditingProjectVideo

create

*All Resource

*

None None

Request parameters

Parameter

Type

Required

Description

Example

ProjectId

string

No

The online editing project ID. You can obtain the ID by using one of the following methods:

fb2101bf24b4cb318787dc****

Timeline

string

No

The timeline of the online editing project in JSON format. For more information about the structure, see Timeline.

Note

Make sure that each VideoTrackClip object contains a valid MediaId. Otherwise, the request fails.

{"VideoTracks":[{"VideoTrackClips":[{"MediaId":"cc3308ac59615a54328bc3443****"},{"MediaId":"da87a9cff645cd88bc6d8326e4****"}]}]}

Title

string

No

The title of the online editing project.

Cloud Clip Project Title

Description

string

No

The description of the online editing project.

Cloud clip project description

CoverURL

string

No

The thumbnail of the online editing project.

https://example.aliyundoc.com/6AB4D0E1E1C7446888351****.png

MediaMetadata

string

No

The metadata of the produced video in JSON format. For more information about the structure, see MediaMetadata.

{"Description":"Synthetic Video Description","Title":"Synthetic userData test"}

ProduceConfig

string

No

The production configuration in JSON format. For more information about the structure, see ProduceConfig.

Important The StorageLocation field can be ignored when the file storage region is Shanghai. It is required when the file storage region is in other regions.

{"TemplateGroupId":"6d11e25ea30a4c465435c74****"}

UserData

string

No

The custom settings in JSON format. The maximum length is 256 characters. The settings support message callbacks and other configurations. For more information about the structure, see UserData.

Note

To use the message callback in this parameter, configure the HTTP callback URL and select the corresponding callback event types in the console. Otherwise, the callback settings do not take effect.

{"Extend":{"width":1280,"id":"028a8e56b1ebf6bb7afc74****","height":720},"MessageCallback":{"CallbackURL":"https://example.aliyundoc.com/2016-08-15/proxy/httpcallback/testcallback/","CallbackType":"http"}}

AppId

string

No

The application ID. Default value: app-1000000. For more information, see Multi-application.

app-****

Response elements

Element

Type

Description

Example

object

The response parameters.

RequestId

string

The request ID.

25818875-5F78-4AF6-D7393642CA58****

MediaId

string

The ID of the produced video.

Note
  • The video production operation synchronously returns the ID of the produced video.

  • When MediaId is returned, the video production has entered the asynchronous processing phase.

006204a11bb386bb25491f95f****

ProjectId

string

The online editing project ID.

fb2101bf24b4cb318787dc****

Examples

Success response

JSON format

{
  "RequestId": "25818875-5F78-4AF6-D7393642CA58****",
  "MediaId": "006204a11bb386bb25491f95f****",
  "ProjectId": "fb2101bf24b4cb318787dc****"
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.