tencent cloud

Submit Tasks
Last updated:2026-01-12 18:52:33
Submit Tasks
Last updated: 2026-01-12 18:52:33

Feature Description

Submit a video tag task.

Authorization Description

When using with a sub-account, the ci:CreateMediaJobs permission is required. For details, see Cloud Infinite action.
When a sub-account uses an asynchronous processing interface, the cam:passrole permission is required. The asynchronous processing interface uses the "role" in CAM to perform read and write operations on COS resources. The PassRole permission is used for role passing. For details, refer to Access Management > Write Operations > PassRole API.

Activating a Service

Using this feature requires enabling Cloud Infinite in advance and binding a bucket. For details, see Bind bucket.
Use this feature requires enabling Media Processing Service in advance via 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 Usage Limits.

Fee Description

This API is a paid service. Incurred fees will be charged by Cloud Infinite. For billing details, 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 document.

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>VideoTag</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<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 or Not
Request
None.
Container for saving requests
Container
Yes
The specific data description of the Container type Request is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required or Not
Tag
Request
Create task Tag: VideoTag
String
Yes
Input
Request
File information to be operated
Container
Yes
Operation
Request
Operation rule
Container
Yes
CallBackFormat
Request
job callback format, JSON or XML, default XML, priority is higher than the callback format of the queue
String
No
CallBackType
Request
job callback type, Url or TDMQ, default Url, priority is higher than the callback type of the queue
String
No
CallBack
Request
job callback address, priority is higher than the queue's callback address. When set to no, it means the queue's callback address does not generate callbacks.
String
No
CallBackMqConfig
Request
task callback TDMQ configuration, required when CallBackType is TDMQ. For details, see CallBackMqConfig.
Container
No
The specific data description of the Container type Input is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required or Not
Object
Request.Input
File path for executing video tagging tasks. Currently supports mp4, avi, mkv, wmv, rmvb, flv, mov encapsulation formats. For videos with a video duration exceeding 30 minutes, please submit a ticket for processing.
String
Yes
The specific data description of the Container type
Operation
is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required or Not
VideoTag
Request.Operation
task parameter
Container
Yes
JobLevel
Request.Operation
Task priority, level limit: 0, 1, 2. Higher levels indicate higher task priority. Default is 0.
String
No
UserData
Request.Operation
Pass through user information
String
No
The specific data description for the Container type VideoTag is as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required or Not
Scenario
Request.Operation.VideoTag
Scenario type, you can choose the application scenarios for video tags. Different application scenarios may use different algorithms, input/output, etc. The current version supports Stream and ShortVideo scenarios.
string
Yes
Text
Request.Operation.Text
Text information from videos can be used to assist in video tag recognition in the ShortVideo scenario, enhancing the accuracy of video tags.
string
No

Response

Response Headers

This API only returns the public response header. 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-27T15:23:10+0800</CreationTime>
<StartTime>-</StartTime>
<EndTime>-</EndTime>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<Tag>VideoTag</Tag>
<Input>
<BucketId>test-123456789</BucketId>
<Object>input/demo.mp4</Object>
<Region>ap-chongqing</Region>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>
The data are as follows:
Node Name (Keyword)
Parent Node
Description
Type
Response
None.
Container for saving results
Container
Container node Response content:
Node Name (Keyword)
Parent Node
Description
Type
JobsDetail
Response
Detailed information of the task
Container
The content of Container node
JobsDetail
:
Node Name (Keyword)
Parent Node
Description
Type
Code
Response.JobsDetail
error code, which is meaningful only when State is Failed
String
Message
Response.JobsDetail
error description, which is meaningful only when State is Failed
String
JobId
Response.JobsDetail
ID of the newly created task
String
Tag
Response.JobsDetail
Tag of the newly created task: VideoTag
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, pending tasks will become paused state
Cancel: task cancelled
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
Task's Queue ID
String
Input
Response.JobsDetail
Input resource address of the task
Container
Operation
Response.JobsDetail
Rules of the task
Container
Contents of the 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
Contents of the Container node Operation:
Node Name (Keyword)
Parent Node
Description
Type
VideoTag
Response.JobsDetail.Operation
Request.Operation.VideoTag
Container
VideoTagResult
Response.JobsDetail.Operation
Video tag analysis result, do not return when the task is incomplete
Container
UserData
Response.JobsDetail.Operation
Pass through user information
String
JobLevel
Response.JobsDetail.Operation
Task Priority
String
Container node VideoTagResult content:
Node Name (Keyword)
Parent Node
Description
Type
StreamData
Response.JobsDetail.Operation.VideoTagResult
Results of video tag tasks in the Stream scenario
Container
Container node StreamData content:
Node Name (Keyword)
Parent Node
Description
Type
Data
Response.JobsDetail.Operation.VideoTagResult.StreamData
Result list of video tag tasks in Stream scenario
Container
SubErrCode
Response.JobsDetail.Operation.VideoTagResult.StreamData
Algorithm status code, 0 indicates success, non-zero indicates an exception
String
SubErrMsg
Response.JobsDetail.Operation.VideoTagResult.StreamData
Algorithm error description, success is ok, unsuccessful returns corresponding error
String
Container node Data content:
Node Name (Keyword)
Parent Node
Description
Type
Tags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
Video tag, video category information
Container
PersonTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
Character tag information
Container array
PlaceTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
Scenario tag information
Container array
ActionTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
Action tag information
Container array
ObjectTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
Object tag information
Container array
Container node Tags (video tag) content:
Node Name (Keyword)
Parent Node
Description
Type
Tag
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Tag name
String
TagCls
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Tag category name
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Tag model prediction score, in the range of [0,1]
Float
Container node Tags (video classification) content:
Node Name (Keyword)
Parent Node
Description
Type
Tag
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Video category name
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Tag model prediction score, in the range of [0,1]
Float
Container node PersonTags content:
Node Name (Keyword)
Parent Node
Description
Type
Name
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
Person name
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
Tag model prediction score
Float
Count
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
Task occurrence frequency
String
DetailPerSecond
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
Specifically identify the location and time information of the character's appearance
Container array
Contents of the Container node DetailPerSecond:
Node Name (Keyword)
Parent Node
Description
Type
TimeStamp
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond
Occurrence time, in seconds
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond
Tag model prediction score
Float
BBox
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond
Top-left corner as the origin point, relative coordinate of the object
Container array
Contents of the Container node BBox:
Node Name (Keyword)
Parent Node
Description
Type
X1
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
Relative position of coordinate X1
String
Y1
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
Relative position of coordinate Y1
String
X2
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
Relative position of coordinate X2
String
Y2
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
Relative position of coordinate Y2
String
Container node PlaceTags content:
Node Name (Keyword)
Parent Node
Description
Type
Tags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
Video scene tag information, may not be returned, same content as Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Container array
StartTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
Segment start time, in seconds
String
EndTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
Segment end time, in seconds
String
StartIndex
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
Start frame number of segment
String
EndIndex
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
End frame number of segment
String
ClipFrameResult
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
Single-frame recognition result (top1)
String
Container node ActionTags content:
Node Name (Keyword)
Parent Node
Description
Type
Tags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ActionTags
Video motion tag information, may not be returned, same content as Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Container array
StartTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ActionTags
Segment start time, in seconds
String
EndTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ActionTags
Segment end time, in seconds
String
Container node ObjectTags content:
Node Name (Keyword)
Parent Node
Description
Type
Objects
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags
Video object tag information, may not be returned, same content as Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Container array
TimeStamp
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags
Object recognition timestamp, in seconds
String
Container node Object content:
Node Name (Keyword)
Parent Node
Description
Type
Name
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags.Objects
Object name
string
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags.Objects
Tag model prediction score, in the range of [0,1]
Float
BBox
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags.Objects
Top-left corner as the origin point, relative coordinate of the object, content same as Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
Container array

Error Codes

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

Examples

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: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Tag>VideoTag</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<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>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
<State>Submitted</State>
<CreationTime>2022-06-27T15:23:10+0800</CreationTime>
<StartTime>-</StartTime>
<EndTime>-</EndTime>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<Tag>VideoTag</Tag>
<Input>
<BucketId>test-123456789</BucketId>
<Object>input/demo.mp4</Object>
<Region>ap-chongqing</Region>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>

Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback