tencent cloud

All product documents
APIs
EditMedia
Last updated: 2025-03-26 14:36:59
EditMedia
Last updated: 2025-03-26 14:36:59

1. API Description

Domain name for API request: mps.intl.tencentcloudapi.com.

This API is used to edit a video to generate a new one. Editing features include:

  1. Editing task: simple video editing, such as clipping and splicing.
  1. Edit a file to generate a new video.
  2. Splice multiple files to generate a new video.
  3. Edit multiple files and then splice them to generate a new video.
  1. Compositing task: Generate a new video by describing information through APIs.
  1. Multi-track (video, audio, and subtitles) and multi-type elements (video, image, audio, text, and empty).
  2. Image level: mapping, zoom in/out, arbitrary rotation, mirroring, and more.
  3. Audio level: volume control, fade in/out, mixing, and more.
  4. Video level: transition, playback speed adjustment, splicing, clipping, subtitles, picture-in-picture, audio-video separation, entrance and exit animations, and more.

A maximum of 20 requests can be initiated per second for this API.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

2. Input Parameters

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: EditMedia.
Version Yes String Common Params. The value used for this API: 2019-06-12.
Region No String Common Params. This parameter is not required for this API.
FileInfos.N Yes Array of EditMediaFileInfo Information of input video file.
OutputStorage Yes TaskOutputStorage The storage location of the media processing output file.
OutputObjectPath Yes String The path to save the media processing output file.

Note: For complex compositing tasks, the filename can be up to 64 characters long and can only contain digits, letters, and special characters -_
OutputConfig No EditMediaOutputConfig The output settings for a video clipping task.
ComposeConfig No ComposeMediaConfig The settings for a video compositing task.

Note: If this parameter is not empty, the task is a video compositing task. Otherwise, the task is a video clipping task.
TaskNotifyConfig No TaskNotifyConfig Event notification information of task. If this parameter is left empty, no event notifications will be obtained.
TasksPriority No Integer Task priority. The higher the value, the higher the priority. Value range: -10 - 10. If this parameter is left empty, 0 will be used.
SessionId No String The ID used for deduplication. If there was a request with the same ID in the last three days, the current request will return an error. The ID can contain up to 50 characters. If this parameter is left empty or an empty string is entered, no deduplication will be performed.
SessionContext No String The source context which is used to pass through the user request information. The task flow status change callback will return the value of this field. It can contain up to 1,000 characters.

3. Output Parameters

Parameter Name Type Description
TaskId String Video editing task ID, which can be used to query the status of an editing task.
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.

4. Example

Example1 [Editing Task] Editing a File to Generate a New Video

Input Example

https://mps.intl.tencentcloudapi.com/?Action=EditMedia
&FileInfos.0.InputInfo.Type=COS
&FileInfos.0.InputInfo.CosInputInfo.Bucket=TopRankVideo-125xxx88
&FileInfos.0.InputInfo.CosInputInfo.Region=ap-chongqing
&FileInfos.0.InputInfo.CosInputInfo.Object=/movie/201907/WildAnimal.mov
&FileInfos.0.StartTimeOffset=60.0
&FileInfos.0.EndTimeOffset=120.0
&OutputStorage.Type=COS
&OutputStorage.CosOutputStorage.Bucket=TopRankVideo-125xxx88
&OutputStorage.CosOutputStorage.Region=ap-chongqing
&OutputObjectPath=/clip_result/clip_WildAnimal.{format}
&<Common request parameters>

Output Example

{
    "Response": {
        "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
        "TaskId": "125xxx88-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
    }
}

Example2 [Compositing Task] Compositing Images and Audio into a Video

This example shows you how to concatenate a set of images and background music into a video and add a transition effect between images. The track form is as follows: Effect Example Note: A transition consumes the track duration of the elements before and after it. If there are transitions before and after an element, you need to ensure that the track duration of the element is greater than the sum of the duration of the transitions before and after it.

Input Example

POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: EditMedia
<Common request parameters>

{
    "FileInfos": [
        {
            "Id": "img01",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../1.jpg"
                }
            }
        },
        {
            "Id": "img02",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../2.jpg"
                }
            }
        },
        {
            "Id": "img03",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../3.jpg"
                }
            }
        },
        {
            "Id": "img04",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../4.jpg"
                }
            }
        },
        {
            "Id": "img05",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../5.jpg"
                }
            }
        },
        {
            "Id": "img06",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../6.jpg"
                }
            }
        },
        {
            "Id": "img07",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../7.jpg"
                }
            }
        },
        {
            "Id": "img08",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../8.jpg"
                }
            }
        },
        {
            "Id": "img09",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../9.jpg"
                }
            }
        },
        {
            "Id": "img10",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../10.jpg"
                }
            }
        },
        {
            "Id": "adu",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../back_music.mp3"
                }
            }
        }
    ],
    "OutputStorage": {
        "Type": "COS",
        "CosOutputStorage": {
            "Bucket": "your_bucket",
            "Region": "your_bucket_region"
        }
    },
    "OutputObjectPath": "/your/output/dir/",
    "ComposeConfig": {
        "TargetInfo": {
            "Container": "mp4",
            "VideoStream": {
                "Fps": 30
            }
        },
        "Tracks": [
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img01"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "Dreamy"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img02"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "Circleopen"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img03"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "Heart"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img04"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "PolarFunction"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img05"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "Swirl"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img06"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "WipeRight"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img07"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "ZoomInCircles"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img08"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "ImageFadeInFadeOut"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img09"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "ButterflyWaveScrawler"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img10"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    }
                ]
            },
            {
                "Type": "Audio",
                "Items": [
                    {
                        "Type": "Audio",
                        "Audio": {
                            "SourceMedia": {
                                "FileId": "adu"
                            },
                            "TrackTime": {
                                "Duration": "21s"
                            }
                        }
                    }
                ]
            }
        ]
    }
}

Output Example

{
    "Response": {
        "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
        "TaskId": "125xxx88-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
    }
}

Example3 [Compositing Task] Editing & Opening Scene & Closing Scene & Watermark Images & Text & Audio Replacement

This example shows you how to edit a video and add opening and closing scenes, watermark images, captions, and replacement audio to create a new video. The track form is as follows: Effect Example Note: The opening and closing scenes can be either videos or images.Note: The Canvas parameter is used to specify the output video size. If left blank, it is the size of the first video by default. Therefore, it is recommended to place the genuine video in the first place on the material list.

Input Example

POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: EditMedia
<Common request parameters>

{
    "FileInfos": [
        {
            "Id": "start",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../start.mp4"
                }
            }
        },
        {
            "Id": "video",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../video.mp4"
                }
            }
        },
        {
            "Id": "end",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../end.png"
                }
            }
        },
        {
            "Id": "img",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../logo.png"
                }
            }
        },
        {
            "Id": "aud",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": ".../back_music.mp3"
                }
            }
        }
    ],
    "OutputStorage": {
        "Type": "COS",
        "CosOutputStorage": {
            "Bucket": "your_bucket",
            "Region": "your_bucket_region"
        }
    },
    "OutputObjectPath": "/your/output/dir/",
    "ComposeConfig": {
        "TargetInfo": {
            "Container": "mp4",
            "VideoStream": {
                "Fps": 30
            }
        },
        "Styles": [
            {
                "Id": "ss",
                "Type": "Subtitle",
                "Subtitle": {
                    "MarginBottom": "50%",
                    "FontType": "SimHei",
                    "FontSize": "8%",
                    "FontBold": 1,
                    "FontColor": "#FF0000FF",
                    "BorderWidth": "2px",
                    "BorderColor": "#00FF00FF",
                    "BottomColor": "#0000FFFF"
                }
            }
        ],
        "Tracks": [
            {
                "Type": "Title",
                "Items": [
                    {
                        "Type": "Subtitle",
                        "Subtitle": {
                            "StyleId": "ss",
                            "TrackTime": {
                                "Start": "0s",
                                "Duration": "2s"
                            },
                            "Text": "Opening Scene - Example"
                        }
                    },
                    {
                        "Type": "Subtitle",
                        "Subtitle": {
                            "StyleId": "ss",
                            "TrackTime": {
                                "Start": "2s",
                                "Duration": "8s"
                            },
                            "Text": "Main Content - Example"
                        }
                    },
                    {
                        "Type": "Subtitle",
                        "Subtitle": {
                            "StyleId": "ss",
                            "TrackTime": {
                                "Start": "12s",
                                "Duration": "2s"
                            },
                            "Text": "Closing Scene - Example"
                        }
                    }
                ]
            },
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "img"
                            },
                            "TrackTime": {
                                "Duration": "14s"
                            },
                            "XPos": "85%",
                            "YPos": "10%",
                            "Width": "15%"
                        }
                    }
                ]
            },
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Video",
                        "Video": {
                            "SourceMedia": {
                                "FileId": "start"
                            },
                            "AudioOperations": [
                                {
                                    "Type": "Volume",
                                    "Volume": 0.0
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Video",
                        "Video": {
                            "SourceMedia": {
                                "FileId": "video",
                                "StartTime": "10s",
                                "EndTime": "20s"
                            },
                            "AudioOperations": [
                                {
                                    "Type": "Volume",
                                    "Volume": 0.0
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Transition",
                        "Transition": {
                            "Transitions": [
                                {
                                    "Type": "Heart"
                                }
                            ]
                        }
                    },
                    {
                        "Type": "Image",
                        "Image": {
                            "SourceMedia": {
                                "FileId": "end"
                            },
                            "TrackTime": {
                                "Duration": "3s"
                            }
                        }
                    }
                ]
            },
            {
                "Type": "Audio",
                "Items": [
                    {
                        "Type": "Audio",
                        "Audio": {
                            "SourceMedia": {
                                "FileId": "aud"
                            },
                            "TrackTime": {
                                "Duration": "14s"
                            }
                        }
                    }
                ]
            }
        ]
    }
}

Output Example

{
    "Response": {
        "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
        "TaskId": "125xxx88-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
    }
}

Example4 [Compositing Task] Picture-in-Picture

This example shows you how to scale one video and overlay it onto another video to create a new video. The track form is as follows: Effect Example

Input Example

POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: EditMedia
<Common request parameters>

{
    "FileInfos": [
        {
            "Id": "back",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../video.mp4"
                }
            }
        },
        {
            "Id": "over",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../over.mp4"
                }
            }
        }
    ],
    "OutputStorage": {
        "Type": "COS",
        "CosOutputStorage": {
            "Bucket": "your_bucket",
            "Region": "your_bucket_region"
        }
    },
    "OutputObjectPath": "/your/output/dir/",
    "ComposeConfig": {
        "Tracks": [
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Video",
                        "Video": {
                            "SourceMedia": {
                                "FileId": "over",
                                "StartTime": "30s",
                                "EndTime": "40s"
                            },
                            "AudioOperations": [
                                {
                                    "Type": "Volume",
                                    "Volume": 0.0
                                }
                            ],
                            "XPos": "60%",
                            "YPos": "30%",
                            "Width": "300px"
                        }
                    }
                ]
            },
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Video",
                        "Video": {
                            "SourceMedia": {
                                "FileId": "back",
                                "StartTime": "10s",
                                "EndTime": "20s"
                            }
                        }
                    }
                ]
            }
        ]
    }
}

Output Example

{
    "Response": {
        "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
        "TaskId": "125xxx88-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
    }
}

Example5 [Compositing Task] Adjusting Video Playback Speed

This example shows you how to edit a video to create a new video, so that it can be played at 2x speed for the first 10 seconds and at 0.8x speed for the last 10 seconds. The track form is as follows:Effect ExampleNote: When the material duration in SourceMedia is different from TrackTime, the effect of adjusting playback speed can be achieved.Note: The effect of adjusting playback speed cannot be used simultaneously with the transition effect.

Input Example

POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: EditMedia
<Common request parameters>

{
    "FileInfos": [
        {
            "Id": "vod",
            "InputInfo": {
                "Type": "URL",
                "UrlInputInfo": {
                    "Url": "https://.../video.mp4"
                }
            }
        }
    ],
    "OutputStorage": {
        "Type": "COS",
        "CosOutputStorage": {
            "Bucket": "your_bucket",
            "Region": "your_bucket_region"
        }
    },
    "OutputObjectPath": "/your/output/dir/",
    "ComposeConfig": {
        "Tracks": [
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Video",
                        "Video": {
                            "SourceMedia": {
                                "FileId": "vod",
                                "StartTime": "10s",
                                "EndTime": "20s"
                            },
                            "TrackTime": {
                                "Duration": "5s"
                            }
                        }
                    }
                ]
            },
            {
                "Type": "Video",
                "Items": [
                    {
                        "Type": "Video",
                        "Video": {
                            "SourceMedia": {
                                "FileId": "vod",
                                "StartTime": "20s",
                                "EndTime": "30s"
                            },
                            "TrackTime": {
                                "Duration": "12.5s"
                            }
                        }
                    }
                ]
            }
        ]
    }
}

Output Example

{
    "Response": {
        "RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
        "TaskId": "125xxx88-EditMedia-bffb15f07530b57bc1aabb01fac74bca"
    }
}

5. Developer Resources

SDK

TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

Command Line Interface

6. Error Code

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.GenerateResource Resource generation failed.
FailedOperation.InvalidMpsUser Operation failed: unauthorized MPS user.
InternalError Internal error.
InvalidParameter Parameter error.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon