Domain name for API request: vod.intl.tencentcloudapi.com.
This API is used to compose a media file. You can use it to do the following:
The output file is in MP4 or MP3 format. In the callback for media composition, the event type is ComposeMediaComplete.
A maximum of 100 requests can be initiated per second for this API.
The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| Action | Yes | String | Common Params. The value used for this API: ComposeMedia. |
| Version | Yes | String | Common Params. The value used for this API: 2018-07-17. |
| Region | No | String | Common Params. This parameter is not required. |
| Tracks.N | Yes | Array of MediaTrack | The input media track list includes multiple track information composed of materials such as video, audio, and images. Among them: |
| Output | Yes | ComposeMediaOutput | Output media file information. |
| SubAppId | No | Integer | On-demand application ID. Customers who activate on-demand services from December 25, 2023 must fill this field with the app ID when accessing resources in on-demand applications (whether default or newly created). |
| Canvas | No | Canvas | Canvas used when making video files. |
| SessionContext | No | String | Identify source context. This is used to pass through user request information. The ComposeMediaComplete callback returns the value of this field. The maximum length is 1000 characters. |
| SessionId | No | String | Identifier for task deduplication. If a request with the same identifier has been sent within the past three days, an error is returned for the current request. The maximum length is 50 characters. If this is not specified or left empty, deduplication is not performed. |
| Parameter Name | Type | Description |
|---|---|---|
| TaskId | String | Task ID for media file production. The state of the production task (task type is MakeMedia) can be queried through this ID. |
| RequestId | String | The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. |
Extract seconds 2 to 62 from 5285485487985271487 and seconds 6 to 81 from 5285485487985271488 for splicing, set a 5-second fade-in and fade-out transition in the middle. Paste an image 5285485487985271489 from second 3 to 18 of the video at position (20px, 20px) with width and height (100px, 100px).
POST / HTTP/1.1
Host: vod.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ComposeMedia
<Common request parameters>
{
"Output": {
"Container": "mp4",
"FileName": "output"
},
"Tracks": [
{
"TrackItems": [
{
"StickerItem": {
"CoordinateOrigin": "TopLeft",
"XPos": "20px",
"YPos": "20px",
"Height": "100px",
"Width": "100px",
"StartTime": 3,
"Duration": 15,
"SourceMedia": "5285485487985271489"
},
"Type": "Sticker"
}
],
"Type": "Sticker"
},
{
"TrackItems": [
{
"TransitionItem": {
"Duration": 5,
"MediaTransitions": [
{
"Type": "ImageFadeInFadeOut"
}
]
},
"Type": "Transition"
},
{
"Type": "Video",
"VideoItem": {
"Duration": 60,
"SourceMedia": "5285485487985271487",
"SourceMediaStartTime": 2
}
},
{
"Type": "Video",
"VideoItem": {
"Duration": 75,
"SourceMedia": "5285485487985271488",
"SourceMediaStartTime": 6
}
}
],
"Type": "Video"
}
]
}
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-ComposeMedia-bffb15f07530b57bc1aabb01fac74bc2"
}
}
Eliminate the original audio of 5285485487985271487, start using 5285485487985271488 for dubbing from 5 seconds, and use the 2nd to 16th seconds of 5285485487985271489 for dubbing from 20 seconds, then generate a new video on demand.
POST / HTTP/1.1
Host: vod.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ComposeMedia
<Common request parameters>
{
"Output": {
"Container": "mp4",
"FileName": "output"
},
"Tracks": [
{
"TrackItems": [
{
"Type": "Empty",
"EmptyItem": {
"Duration": 5
}
},
{
"AudioItem": {
"SourceMedia": "5285485487985271488",
"Duration": 15
},
"Type": "Audio"
},
{
"AudioItem": {
"Duration": 14,
"SourceMedia": "5285485487985271489",
"SourceMediaStartTime": 2
},
"Type": "Audio"
}
],
"Type": "Audio"
},
{
"TrackItems": [
{
"Type": "Video",
"VideoItem": {
"SourceMedia": "5285485487985271487",
"AudioOperations": [
{
"VolumeParam": {
"Mute": 1
},
"Type": "Volume"
}
]
}
}
],
"Type": "Video"
}
]
}
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-ComposeMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
Use 5285485487985271487 as the main picture of Picture-in-Picture. Use 5285485487985271488 as the sub-screen of Picture-in-Picture. The sub-screen has a center offset of 25% from the main picture (i.e., at the bottom-right corner) and a width of 30% of the frame.
POST / HTTP/1.1
Host: vod.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ComposeMedia
<Common request parameters>
{
"Output": {
"Container": "mp4",
"FileName": "output"
},
"Tracks": [
{
"TrackItems": [
{
"Type": "Video",
"VideoItem": {
"SourceMedia": "5285485487985271487"
}
}
],
"Type": "Video"
},
{
"TrackItems": [
{
"Type": "Video",
"VideoItem": {
"CoordinateOrigin": "Center",
"Width": "30%",
"SourceMedia": "5285485487985271488",
"XPos": "25%",
"YPos": "25%"
}
}
],
"Type": "Video"
}
]
}
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-ComposeMedia-bffb15f07530b57bc1aabb01fac74bca"
}
}
TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.
The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.
| Error Code | Description |
|---|---|
| FailedOperation | Operation failed. |
| FailedOperation.InvalidVodUser | The VOD service is not activated. |
| FailedOperation.UploadCosFail | Operation failed: failed to upload file to COS. |
| InternalError | Internal error. |
| InternalError.GetFileInfoError | Internal error: an error occurred while getting media file information. |
| InternalError.GetMediaListError | Internal error: an error occurred while getting the media list. |
| InvalidParameter | Parameter error. |
| InvalidParameterValue.ClipDuration | Incorrect parameter value: the clipping duration is too long. |
| InvalidParameterValue.SessionContextTooLong | SessionContext is too long. |
| InvalidParameterValue.SessionId | The deduplication ID already exists. The request is removed due to duplication. |
| UnauthorizedOperation | Unauthorized operation. |
フィードバック