tencent cloud

Cloud Infinite

Release Notes and Announcements
Release Notes
Announcements
Product Introduction
Product Overview
Product Strengths
Use Cases
Feature Overview
Regions and Domains
Specifications and Limits
Billing
Billing Overview
Billing Mode
Billable Items
Free Tier
Payment Overdue
Viewing Bill Details
FAQs
Getting Started
Registering and Logging In
Bind Bucket
Uploading and Processing File
Downloading and Deleting Images
Unbinding Buckets
Using CI via COS
Features
Image Processing
Media Processing
Content Moderation
AI Content Recognition
File Processing
Smart Voice
File processing
User Guide
Overview
Bucket Management
Smart Toolbox
Job and Workflow
Data Monitoring
Usage statistics
Use Cases
Copyright Protection Solutions
Image Processing Practices
Working with API Authorization Policies
Workflow Practices
API Documentation
API Overview
Structure
Common Request Headers
Common Response Headers
Activate Vast Service
Image Processing
AI-Based Content Recognition
Smart Audio
Media Processing
Content Moderation
Document Processing
File Processing
Job and Workflow
Cloud Virus Detection
Error Codes
Request Signature
SDK Documentation
SDK Overview
Android SDK
iOS SDK
COS Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Go SDK
COS iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
Mini Program SDK
Personal Information Protection Policy for SDK
Security and Compliance
Permission ‍Management
FAQs
Basic Settings
Document Processing
Media Processing
Content Recognition
Smart Audio
Agreements
Service Level Agreement
Contact Us
Glossary

Submitting Tasks

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-09-30 14:46:51

Feature Overview

Submit a video synthesis task.

Authorization Guide

When used with a sub-account, the ci:CreateMediaJobs permission must be granted. For details, please refer to Cloud Infinite.
When a sub-account uses an asynchronous processing interface, the cam:PassRole permission must be granted. The asynchronous processing interface performs read and write operations on COS resources through the "role" in CAM. The PassRole permission is used for role passing. For details, refer to Cloud Access Management > Write Operation > PassRole API.

Service Activation

Using this feature requires enabling Cloud Infinite in advance and binding a bucket. For details, see Bind Bucket.
Using this feature requires enabling Media Processing Service in advance through console or API. For details, see Enable Media Processing Service.

Use Limits

When using this API, please first confirm the relevant restrictions. For details, see Specifications and Limits.

Fee Description

This API is a paid service. The incurred fees will be collected by Cloud Infinite. For detailed billing information, see Media Processing Fees.

Request

Request Sample

POST /jobs HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml

<body>
Note:
Authorization: Auth String. For details, see Request Signature documentation.

Request Header

This API only uses common request headers. For details, see Common Request Headers documentation.

Request Body

The implementation of this request operation requires the following request body.
<Request>
<Tag>VideoSynthesis</Tag>
<Operation>
<TranscodeTemplateId>t160606b9752148c4absdfaf2f55163b1f</TranscodeTemplateId>
<WatermarkTemplateId>t146d70eb241c44c63b6efc1cc93ccfc5d</WatermarkTemplateId>
<VideoSynthesis>
<KeepAudioTrack>false</KeepAudioTrack>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/car.mp4</Url>
<Width>640</Width>
</SpliceInfo>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/game.mp4</Url>
<X>700</X>
<Width>640</Width>
<Height>960</Height>
</SpliceInfo>
</VideoSynthesis>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-123456789</Bucket>
<Object>output/out.${ext}</Object>
</Output>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON</CallBackFormat>
</Request>
The data are described as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
Request
None
Container for saving requests
Container
Yes
The data description of container Request is as follows:
Node Name
(Keyword)
Parent Node
Description
Type
Required
Tag
Request
Tag for creating a task: VideoSynthesis
String
Yes
Operation
Request
Operation rule
Container
Yes
CallBackFormat
Request
Task callback format, JSON or XML, default XML, which has a higher priority than the callback format of the queue
String
No
CallBackType
Request
Task callback type, URL or TDMQ, default URL, which has a higher priority than the callback type of the queue
String
No
CallBack
Request
Task callback address, which has a higher priority than the callback address of the queue. When set to "no", the callback address will not trigger a callback.
String
No
CallBackMqConfig
Request
Task callback TDMQ configuration, required when CallBackType is TDMQ. For details, see CallBackMqConfig.
Container
No
The data description of container
Operation
is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
VideoSynthesis
Request.Operation
Video synthesis template parameter
Container
Yes
TranscodeTemplateId
Request.Operation
Transcoding template ID
String
No
Transcode
Request.Operation
Transcoding template parameter
Container
No
WatermarkTemplateId
Request.Operation
Watermark template ID, you can pass multiple watermark template IDs, with a maximum of 3.
String array
No
Watermark
Request.Operation
Watermark template parameters, same as Request.Watermark in the create watermark template API, you can submit maximum of 3.
Container array
No
Output
Request.Operation
Output configuration
Container
Yes
UserData
Request.Operation
Pass through user information, printable ASCII code, length not exceeding 1024
String
No
JobLevel
Request.Operation
Task priority, level limit: 0, 1, 2. Higher level indicate higher task priority, default is 0.
String
No
Note:
Transcoding parameters must be set. They can be configured through TranscodeTemplateId or Transcode, with TranscodeTemplateId having higher priority.
Watermark parameters are optional, can be set through WatermarkTemplateId or Watermark, WatermarkTemplateId has higher priority.
Transcode.Video.Width and Transcode.Video.Height in transcoding template parameters/transcoding parameters are mandatory.
The data description of container VideoSynthesis is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
KeepAudioTrack
Request.Operation.VideoSynthesis
Retain the source video audio track, parameter value: true/false, default value: false
String
No
SpliceInfo
Request.Operation.VideoSynthesis
Video to be synthesized
Container array
Yes
The data description of container SpliceInfo is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
URL
Request.Operation.VideoSynthesis.SpliceInfo
Video file URL in the same bucket
String
Yes
X
Request.Operation.VideoSynthesis.SpliceInfo
The horizontal coordinate of the video in the display frame, default value 0
String
No
Y
Request.Operation.VideoSynthesis.SpliceInfo
The vertical coordinate of this video in the display frame, default value 0
String
No
Width
Request.Operation.VideoSynthesis.SpliceInfo
The width of the video in the display frame, default to the original video width
String
No
Height
Request.Operation.VideoSynthesis.SpliceInfo
The height of the video in the display frame, default to the original video height
String
No
Name
Request.Operation.VideoSynthesis.SpliceInfo
Custom name of the video stream, length not exceeding 64 characters, only supports Chinese, English, digits, _, -, and *
String
No
The data description of container Transcode is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
TimeInterval
Request.Operation.Transcode
Same as Request.TimeInterval in the CreateTranscodeTemplate API.
Container
No
Container
Request.Operation.Transcode
Same as Request.Container in the CreateTranscodeTemplate API.
Container
No
Video
Request.Operation.Transcode
Same as Request.Video in the CreateTranscodeTemplate API.
Container
No
Audio
Request.Operation.Transcode
Same as Request.Audio in the CreateTranscodeTemplate API.
Container
No
TransConfig
Request.Operation.Transcode
Same as Request.TransConfig in the CreateTranscodeTemplate API.
Container
No
AudioMix
Request.Operation.Transcode
Audio mixing parameter, for details, see AudioMix
Container
No
AudioMixArray
Request.Operation.Transcode
Audio mixing parameter array, supports up to 2 simultaneous submissions
Container array
No
Note:
Not passing Video is equivalent to deleting video information. Not passing Audio is equivalent to deleting audio information. Video and Audio cannot both be omitted at the same time.
AudioMix and AudioMixArray take effect when Audio.Remove is false.
AudioMixArray is an array, and the content of each sub-item is the same as AudioMix. AudioMix has higher priority. When AudioMix is set, AudioMixArray is invalid.
The data description of container Output is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
Region
Request.Operation.Output
Region of the storage bucket
String
Yes
Bucket
Request.Operation.Output
Bucket for storing results
String
Yes
Object
Request.Operation.Output
Filename of the output result
String
Yes
Wildcard characters supported by Request.Operation.Output.Object are as follows:
Wildcard
Meaning
${ext}
Encapsulation format
${jobid}
Task ID

Response

Response Header

This API only returns common response headers. For details, see Common Response Headers documentation.

Response Body

The response body is returned as application/xml. An example including the complete node data is shown below:
<Response>
<JobsDetail>
<Code>Success</Code>
<Message/>
<JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
<State>Submitted</State>
<CreationTime>2022-06-27T14:44:10+0800</CreationTime>
<StartTime>-</StartTime>
<EndTime>-</EndTime>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<Tag>VideoSynthesis</Tag>
<Operation>
<TranscodeTemplateId>t160606b9752148c4absdfaf2f55163b1f</TranscodeTemplateId>
<WatermarkTemplateId>t146d70eb241c44c63b6efc1cc93ccfc5d</WatermarkTemplateId>
<VideoSynthesis>
<KeepAudioTrack>false</KeepAudioTrack>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/car.mp4</Url>
<Width>640</Width>
</SpliceInfo>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/game.mp4</Url>
<X>700</X>
<Width>640</Width>
<Height>960</Height>
</SpliceInfo>
</VideoSynthesis>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-123456789</Bucket>
<Object>output/out.${ext}</Object>
</Output>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>
The data content is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Response
None
Container for saving results
Container
The content of container node Response:
Node Name (Keyword)
Parent Node
Description
Type
JobsDetail
Response
Task detailed information
Container array
The content of container node
JobsDetail
:
Node Name (Keyword)
Parent Node
Description
Type
Code
Response.JobsDetail
Error code, which takes effect when State is Failed
String
Message
Response.JobsDetail
Error description, which takes effect when State is Failed
String
JobId
Response.JobsDetail
ID of the newly created task
String
Tag
Response.JobsDetail
Tag for newly created task: VideoSynthesis
String
State
Response.JobsDetail
Task Status
Submitted: submitted, pending execution
Running: executing
Success: execution successful
Failed: execution failed
Pause: Task pause. When the pause queue is triggered, to-be-executed tasks become paused state.
Cancel: task cancelled
String
Progress
Response.JobsDetail
Task progress percentage, takes effect only when State is Submitted, Running, Success, or Pause, range [0, 100]
String
CreationTime
Response.JobsDetail
Task creation time
String
StartTime
Response.JobsDetail
Task start time
String
EndTime
Response.JobsDetail
Task end time
String
QueueId
Response.JobsDetail
Queue ID of the task
String
Operation
Response.JobsDetail
Operation rule
Container
The content of container node Input:
Node Name (Keyword)
Parent Node
Description
Type
Region
Response.JobsDetail.Input
Region of the storage bucket
String
Bucket
Response.JobsDetail.Input
Bucket for storing results
String
Object
Response.JobsDetail.Input
Filename of the output result
String
The content of container node Operation:
Node Name (Keyword)
Parent Node
Description
Type
VideoSynthesis
Response.JobsDetail.Operation
Same as Request.Operation.VideoSynthesis in the Request body
Container
TranscodeTemplateId
Response.JobsDetail.Operation
Same as Request.Operation.TranscodeTemplateId in the Request body
String
Transcode
Response.JobsDetail.Operation
Same as Request.Operation.Transcode in the Request body
Container
Watermark
Response.JobsDetail.Operation
Same as Request.Operation.Watermark in the Request body
Container array
WatermarkTemplateId
Response.JobsDetail.Operation
Same as Request.Operation.WatermarkTemplateId in the Request body
String array
Output
Response.JobsDetail.Operation
Same as Request.Operation.Output in the Request body
Container
MediaInfo
Response.JobsDetail.Operation
Output file's media information, not returned when the task is not completed. For details, see MediaInfo.
Container
MediaResult
Response.JobsDetail.Operation
Output file's basic information, not returned when the task is not completed. For details, see MediaResult.
Container
DigitalWatermark
Response.JobsDetail.Operation
Same as Request.Operation.DigitalWatermark in the Request body
Container
UserData
Response.JobsDetail.Operation
Pass through user information
String
JobLevel
Response.JobsDetail.Operation
Task Priority
String

Error Codes

This request returns common error responses and error codes. For more information, see Error Codes.

Practical Example

Request

POST /jobs HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=**********************************&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=**************************************
Host: test-1234567890.ci.ap-chongqing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Tag>VideoSynthesis</Tag>
<Operation>
<TranscodeTemplateId>t160606b9752148c4absdfaf2f55163b1f</TranscodeTemplateId>
<WatermarkTemplateId>t146d70eb241c44c63b6efc1cc93ccfc5d</WatermarkTemplateId>
<VideoSynthesis>
<KeepAudioTrack>false</KeepAudioTrack>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/car.mp4</Url>
<Width>640</Width>
</SpliceInfo>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/game.mp4</Url>
<X>700</X>
<Width>640</Width>
<Height>960</Height>
</SpliceInfo>
</VideoSynthesis>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-123456789</Bucket>
<Object>output/out.${ext}</Object>
</Output>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON</CallBackFormat>
</Request>

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Mon, 28 Jun 2022 15:23:12 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****

<Response>
<JobsDetail>
<Code>Success</Code>
<Message/>
<JobId>je8f65004eb8511eaaed4f377124a303c</JobId>
<State>Submitted</State>
<Progress>0</Progress>
<CreationTime>2019-07-07T12:12:12+0800</CreationTime>
<StartTime>-</StartTime>
<EndTime>-</EndTime>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<Tag>VideoSynthesis</Tag>
<Operation>
<TranscodeTemplateId>t160606b9752148c4absdfaf2f55163b1f</TranscodeTemplateId>
<WatermarkTemplateId>t146d70eb241c44c63b6efc1cc93ccfc5d</WatermarkTemplateId>
<VideoSynthesis>
<KeepAudioTrack>false</KeepAudioTrack>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/car.mp4</Url>
<Width>640</Width>
</SpliceInfo>
<SpliceInfo>
<Url>https://test-123456789.cos.ap-chongqing.myqcloud.com/input/game.mp4</Url>
<X>700</X>
<Width>640</Width>
<Height>960</Height>
</SpliceInfo>
</VideoSynthesis>
<Output>
<Region>ap-chongqing</Region>
<Bucket>test-123456789</Bucket>
<Object>output/out.${ext}</Object>
</Output>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック