tencent cloud

文档反馈

EditMedia

最后更新时间:2024-11-07 11:24:07

    1. API Description

    Domain name for API request: mps.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 【剪辑任务】对一个文件进行剪辑,生成一个新的视频

    Input Example

    https://mps.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 【合成任务】图片&音频合成视频

    将一组图片和背景音乐拼接成一个视频,图片之间添加转场效果。轨道形式如下:

    效果示例

    注:转场会消耗前后元素的轨道时长,如果一个元素前后有转场,则需要保证给元素的轨道时长大于前后两个转场的时间和。

    Input Example

    POST / HTTP/1.1
    Host: mps.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 【合成任务】剪辑&片头&片尾&水印图片&文字&音频替换

    剪辑一个视频,并给视频添加片头、片尾、水印图片、说明文字、替换音频,合成一个新的视频。轨道形式如下:

    效果示例

    注:片头和片尾可以是视频,也可以是图片。
    注:Canvas 参数用于指定输出视频大小,如果不填将默认使用第一个视频大小,所以建议将正品视频放在素材列表的第一个。

    Input Example

    POST / HTTP/1.1
    Host: mps.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": "片头-示例"
                            }
                        },
                        {
                            "Type": "Subtitle",
                            "Subtitle": {
                                "StyleId": "ss",
                                "TrackTime": {
                                    "Start": "2s",
                                    "Duration": "8s"
                                },
                                "Text": "正片-示例"
                            }
                        },
                        {
                            "Type": "Subtitle",
                            "Subtitle": {
                                "StyleId": "ss",
                                "TrackTime": {
                                    "Start": "12s",
                                    "Duration": "2s"
                                },
                                "Text": "片尾-示例"
                            }
                        }
                    ]
                },
                {
                    "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 【合成任务】画中画

    将一个视频缩放,贴在另一个视频上面,合成一个新的视频。轨道形式如下:

    效果示例

    Input Example

    POST / HTTP/1.1
    Host: mps.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 【合成任务】视频倍速

    剪辑一个视频,前10s 两倍速播放,后10s 0.8倍数播放,合成一个新的视频。轨道形式如下:

    效果示例

    注:当元素 SourceMedia 里的素材时长和 TrackTime 时长不一致时,就能实现倍数。
    注:倍速不能和转场同时使用。

    Input Example

    POST / HTTP/1.1
    Host: mps.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.