ProcessMedia
1. API Description
Domain name for API request: mps.intl.tencentcloudapi.com.
This API is used to initiate a processing task for URL video links or media files in COS. Features include:
- Audio/Video transcoding (such as standard transcoding, Top Speed Codec (TSC) transcoding, audio/video enhancement, visible watermark addition, and digital watermark addition).
- Adaptive bitrate streaming conversion for audios/videos.
- Video-to-GIF conversion.
- Screenshot taking at specified time points.
- Sampled screenshot of videos.
- Image sprite of video screenshots.
- Media quality inspection (such as media format diagnosis, audio/video content detection, and no-reference scoring, where audio/video content detection mainly covers jitter, blur, low light, overexposure, screen glitches, noise, mosaic, QR code, and other issues).
- Smart subtitle (such as subtitle generation and translation).
- Smart erasing (such as watermark removal, subtitle removal, and privacy protection).
- Intelligent content moderation (such as pornography detection and sensitive information detection).
-. - Smart content recognition (such as human faces, full texts, text keywords, full speech, speech keywords, speech translation, and object recognition).
A maximum of 100 requests can be initiated per second for this API.
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: ProcessMedia. |
| 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. |
| InputInfo | Yes | MediaInputInfo | Input information of the media processing file. |
| OutputStorage | No | TaskOutputStorage | Target storage for media processing output files. If left empty, it inherits the storage location in InputInfo. |
| OutputDir | No | String | Target directory for output files generated by media processing. Must start and end with a slash (/), such as |
| ScheduleId | No | Integer | Orchestration ID. Note 3: The Trigger configured for orchestration is only used to automatically Trigger scenarios. In a manual request, the configured Trigger is meaningless. |
| MediaProcessTask | No | MediaProcessTaskInput | Media processing task parameter. |
| AiContentReviewTask | No | AiContentReviewTaskInput | Parameters for the video content review task. |
| AiAnalysisTask | No | AiAnalysisTaskInput | Parameters for the video content analysis task. |
| AiRecognitionTask | No | AiRecognitionTaskInput | Parameters for the video content recognition task. |
| AiQualityControlTask | No | AiQualityControlTaskInput | Parameters for the media quality inspection task. |
| SmartSubtitlesTask | No | SmartSubtitlesTaskInput | Smart subtitle. |
| SmartEraseTask | No | SmartEraseTaskInput | Intelligent erasure type task parameter |
| AIDubbingTask | No | AIDubbingTaskInput | Parameters for the AI Dubbing task. |
| TaskNotifyConfig | No | TaskNotifyConfig | Event notification information of the task. If this is not specified, no event notification is obtained. |
| TasksPriority | No | Integer | Priority of the task flow. The higher the value, the higher the priority. The value range is from -10 to 10. If this is not specified, the default value is 0. |
| SessionId | No | String | Identification code for deduplication. If there was a request with the same identification code within the past 3 days, an error will be returned for the current request. It can contain up to 50 characters. If this parameter is not passed or is an empty string, deduplication will not be performed for this request. |
| SessionContext | No | String | Source context. This is used to pass user request information. The task status change callback returns the value of this field. The maximum length is 1000 characters. |
| TaskType | No | String | Task type. Default: Online |
| ResourceId | No | String | Resource ID. The resource needs to be enabled. The default value is the account's primary resource ID. |
| Activities.N | No | Array of Activity | Media orchestration task group |
| SkipMateData | No | Integer | Whether to skip metadata acquisition. Valid values: |
3. Output Parameters
| Parameter Name | Type | Description |
|---|---|---|
| TaskId | String | Task 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. |
4. Example
Example1 Initiating a Media Quality Inspection Task
Input Example
POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ProcessMedia
<Common request parameters>
{
"InputInfo": {
"Type": "COS",
"CosInputInfo": {
"Bucket": "TopRankVideo-125xxx88",
"Region": "ap-shanghai",
"Object": "/image/lenna.jpeg"
}
},
"OutputStorage": {
"Type": "COS",
"CosOutputStorage": {
"Bucket": "TopRankVideo-125xxx88",
"Region": "ap-shanghai"
}
},
"OutputDir": "/data/share/",
"AiQualityControlTask": {
"Definition": 30
}
}Output Example
{
"Response": {
"RequestId": "4a72e698-ec27-4fc1-8e17-c1cbfce1a4a9",
"TaskId": "2600007696-WorkflowTask-67771a50b24d08baaf6165da23461e36tt7"
}
}Example2 Initiating an Adaptive Bitrate Streaming Task
This example shows you how to initiate a transcoding task for a COS endpoint to transcode videos according to the transcoding templates 20, 30, and 40.
Input Example
POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ProcessMedia
<Common request parameters>
{
"InputInfo": {
"Type": "COS",
"CosInputInfo": {
"Bucket": "TopRankVideo-125xxx88",
"Region": "ap-shanghai",
"Object": "/video/lego-city-vehicles.mp4"
}
},
"OutputDir": "/share/output/",
"MediaProcessTask": {
"AdaptiveDynamicStreamingTaskSet": [
{
"Definition": 10,
"OutputObjectPath": "{inputName}_adaptiveDynamicStreaming.{format}",
"SubStreamObjectName": "{inputName}_adaptiveDynamicStreaming_{definition}_{subStreamNumber}.{format}",
"SegmentObjectName": "{inputName}_adaptiveDynamicStreaming_{definition}_{subStreamNumber}_{segmentNumber}.{format}"
}
]
}
}Output Example
{
"Response": {
"RequestId": "be6954ba-1e0e-4b36-9da1-d79aaaaccb0d",
"TaskId": "2600007696-WorkflowTask-7bc4b70f5bda4b4fef4ad29d2d168bdftt7"
}
}Example3 Initiating a Transcoding Task
This example shows you how to initiate a transcoding task for a video at a specified COS address and transfer it into three formats: 20, 30, and 40.
Input Example
POST / HTTP/1.1
Host: mps.intl.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ProcessMedia
<Common request parameters>
{
"MediaProcessTask": {
"TranscodeTaskSet": [
{
"Definition": 30
},
{
"Definition": 20
},
{
"Definition": 40
}
]
},
"InputInfo": {
"Type": "COS",
"CosInputInfo": {
"Region": "ap-chongqing",
"Object": "/movie/201907/WildAnimal.mov",
"Bucket": "TopRankVideo-125xxx88"
}
}
}Output Example
{
"Response": {
"RequestId": "6ca31e3a-6b8e-4b4e-9256-fdc700064ef3",
"TaskId": "125xxx65-procedurev2-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.
- Tencent Cloud SDK 3.0 for Python
- Tencent Cloud SDK 3.0 for Java
- Tencent Cloud SDK 3.0 for PHP
- Tencent Cloud SDK 3.0 for Go
- Tencent Cloud SDK 3.0 for Node.js
- Tencent Cloud SDK 3.0 for .NET
- Tencent Cloud SDK 3.0 for C++
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: illegal mps user. |
| InternalError | Internal error. |
| InvalidParameter | Parameter error. |
| InvalidParameterValue.SessionContextTooLong | |
| InvalidParameterValue.SessionId | |
| InvalidParameterValue.SessionIdTooLong |