帮你快速理解、总结文档立即下载

提交视频审核任务

最近更新时间:2026-01-16 17:46:08
我的收藏

功能描述

本接口用于提交一个视频审核任务。视频审核功能为异步任务方式,您可以通过提交视频审核任务审核您的视频文件,然后通过 查询视频审核任务接口 或 视频审核回调 查询审核结果。该接口支持情况如下:
支持审核腾讯云 COS 上的视频文件。
支持审核第三方云存储厂商的视频 URL。
支持审核加密数据,如有需要,请 联系客服人员 咨询。
支持对视频文件进行自动检测,从 OCR 文本识别、物体检测(实体、广告台标、二维码等)、图像识别及音频审核四个维度,通过深度学习技术,识别视频中的违规内容。
支持设置回调地址 Callback 获取检测结果,或通过 查询视频审核任务结果接口 主动轮询获取审核结果详情。
支持识别多种违规场景,包括:色情、违法、广告等场景。
支持根据不同的业务场景 配置自定义的审核策略。
支持用户 自定义配置黑白图片库,抵制自定义违规内容。

授权说明

通过子账号使用时,需要在 授权策略 的 action 中添加 ci:CreateAuditingJobs 权限。数据万象支持的所有操作接口请参见 CI action。
子账号使用异步处理接口时,需要授予 cam:PassRole 权限,异步处理接口会通过 CAM 的“角色”进行 COS 的资源读写操作,PassRole 权限用于传递角色,具体请查看 访问管理 > 写操作 > PassRole 接口。

服务开通

使用该功能需提前 绑定存储桶,开通数据万象服务。
注意:
数据万象绑定后,如果您手动对存储桶进行数据万象的解绑操作,将无法继续使用该功能。

使用限制

使用该接口时,请先确认相关限制条件。详情请参见 使用限制。
不支持审核 COS 上的归档存储类型和深度归档存储类型的音频,如果需要审核此类型音频,请先 恢复归档文件。
接口默认并发数量:10。
支持用户配置审核视频画面或视频声音。

费用说明

视频的审核分为视频画面审核、视频截帧、视频声音审核,其中:
视频画面审核:基于视频截帧能力,通过视频截帧将视频截取为多张图片进行审核,审核费用与图片审核一致。
视频截帧:会产生相应的 视频截帧费用。
视频声音审核:将视频声音分离出来进行音频审核,审核费用与音频审核一致。
每个审核场景单独计费,例如您选择审核涉黄、广告两种场景,则审核1个视频,计2次审核费用。
如果音频文件属于 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用。


推荐使用 SDK

对象存储 SDK 提供了完整的 Demo、自动集成、计算签名等能力。您可通过 SDK 方便快捷地调用接口,详情请参见 SDK 文档。

请求

请求示例

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

<body>
说明:
Authorization: Auth String,详情请参见 请求签名 文档。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

该请求操作的实现需要有如下请求体。
<Request>
<Input>
<Url></Url>
<DataId></DataId>
</Input>
<Conf>
<Snapshot>
<Mode>Interval</Mode>
<TimeInterval></TimeInterval>
<Count></Count>
</Snapshot>
<Callback></Callback>
<BizType></BizType>
<DetectContent></DetectContent>
</Conf>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
无
视频审核的具体配置项。
Container
是
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Input
Request
需要审核的视频。
Container
是
Conf
Request
审核规则配置。
Container
否
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Object
Request.Input
当前 COS 存储桶中的视频文件名称,例如在目录 test 中的文件 video.mp4,则文件名称为 test/video.mp4。
String
否
Url
Request.Input
视频文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/test.mp4,Object 和 Url 只能选择其中一种。
String
否
DataId
Request.Input
该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。
String
否
UserInfo
Request.Input
用户业务字段。
Container
否
Container 节点
UserInfo
的内容:
节点名称(关键字)
父节点
描述
类型
是否必选
TokenId
Request.Input.UserInfo
用户业务 TokenId,长度不超过128字节。
String
否
Nickname
Request.Input.UserInfo
用户业务 Nickname,长度不超过128字节。
String
否
DeviceId
Request.Input.UserInfo
用户业务 DeviceId,长度不超过128字节。
String
否
AppId
Request.Input.UserInfo
用户业务 AppId,长度不超过128字节。
String
否
Room
Request.Input.UserInfo
用户业务 Room,长度不超过128字节。
String
否
IP
Request.Input.UserInfo
用户业务 IP,长度不超过128字节。
String
否
Type
Request.Input.UserInfo
用户业务 Type,长度不超过128字节。
String
否
ReceiveTokenId
Request.Input.UserInfo
用户业务 ReceiveTokenId,长度不超过128字节。
String
否
Gender
Request.Input.UserInfo
用户业务 Gender,长度不超过128字节。
String
否
Level
Request.Input.UserInfo
用户业务 Level,长度不超过128字节。
String
否
Role
Request.Input.UserInfo
用户业务 Role,长度不超过128字节。
String
否
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
BizType
Request.Conf
表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如色情、广告、违法违规等,配置指引: 设置公共审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。BizType 不填写时,将自动使用默认的审核策略。
String
否
Snapshot
Request.Conf
视频画面的审核通过视频截帧能力截取出一定量的截图,通过对截图逐一审核而实现的,该参数用于指定视频截帧的配置。
Container
是
Callback
Request.Conf
回调地址,以 http:// 或者 https:// 开头的地址。
String
否
CallbackVersion
Request.Conf
回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。
String
否
DetectContent
Request.Conf
用于指定是否审核视频声音,当值为0时:表示只审核视频画面截图;值为1时:表示同时审核视频画面截图和视频声音。默认值为0。
Integer
否
CallbackType
Request.Conf
回调片段类型,有效值:1(回调全部截帧和音频片段)、2(回调违规截帧和音频片段)。默认为1。
Integer
否
Freeze
Request.Conf
自动冻结配置项,可配置指定审核分数的结果进行自动冻结。
Container
否
Container 类型 Snapshot 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Mode
Request.Conf.Snapshot
表示视频的截帧模式,有效值:Interval、Average、Fps,默认值为 Interval。
Interval: 间隔模式,每间隔 TimeInterval 秒截取一帧。
如果只设置 Count 但未设置 TimeInterval 时,表示截取所有帧,共 Count 帧。
Average:平均模式,整个视频按平均间隔截取 Count 张图片。
选择该模式时 TimeInterval 参数不生效。
Fps:固定帧率模式,每秒截取TimeInterval 帧,未设置 TimeInterval 时表示截取所有帧,Count 表示共截取多少帧。
String
否
Count
Request.Conf.Snapshot
视频截帧数量,范围为(0, 10000]。
Integer
是
TimeInterval
Request.Conf.Snapshot
视频截帧频率,范围为(0, 60],单位为秒,支持 float 格式,执行精度精确到毫秒。
Float
否
Container 类型 Freeze 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
PornScore
Request.Conf.Freeze
取值为[0,100],表示当色情审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
Integer
否
AdsScore
Request.Conf.Freeze
取值为[0,100],表示当广告审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。
Integer
否
其他审核场景的冻结参数,请 联系服务人员 咨询。

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<JobsDetail>
<DataId>123-fdrsg-123</DataID>
<JobId>vab1ca9fc8a3ed11ea834c525400863904</JobId>
<State>Submitted</State>
<CreationTime>2021-08-07T12:12:12+0800</CreationTime>
<Url>https://example-1250000000.cos.ap-guangzhou.myqcloud.com/test.mp4</Url>
<UserInfo>
<AppId>1250000000</AppId>
<DeviceId>1254</DeviceId>
<Nickname>test</Nickname>
<TokenId>1250000000</TokenId>
</UserInfo>
</JobsDetail>
<RequestId>xxxxxxxxxxxxxx</RequestId>
</Response>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
无
视频审核返回的具体响应内容。
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
JobsDetail
Response
视频审核任务的详细信息。
Container
RequestId
Response
每次请求发送时,服务端将会自动为请求生成一个 ID,遇到问题时,该 ID 能更快地协助定位问题。
String
Container 节点 JobsDetail 的内容:
节点名称(关键字)
父节点
描述
类型
DataId
Response.JobsDetail
请求中添加的唯一业务标识。
String
JobId
Response.JobsDetail
本次视频审核任务的 ID。
String
State
Response.JobsDetail
视频审核任务的状态,值为 Submitted(已提交审核)、Snapshoting(视频截帧中)、Success(审核成功)、Failed(审核失败)、Auditing(审核中)其中一个。
String
CreationTime
Response.JobsDetail
视频审核任务的创建时间。
String
Object
Response.JobsDetail
当前 COS 存储桶中的视频文件名称。
String
Url
Response.JobsDetail
视频文件的链接地址。
String
UserInfo
Response.JobsDetail
同请求体中的 Request.Input.UserInfo
Container

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求

POST /video/auditing 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>
<Input>
<Url>https://example-1250000000.cos.ap-guangzhou.myqcloud.com/test.mp4</Url>
<DataId>123-fdrsg-123</DataID>
</Input>
<Conf>
<Snapshot>
<Mode>Interval</Mode>
<TimeInterval>50</TimeInterval>
<Count>100</Count>
</Snapshot>
<Callback>http://callback.com/</Callback>
<BizType>b81d45f94b91a683255e9a9506f45a11</BizType>
<DetectContent>1</DetectContent>
</Conf>
</Request>

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****

<Response>
<JobsDetail>
<DataId>123-fdrsg-123</DataID>
<JobId>vab1ca9fc8a3ed11ea834c525400863904</JobId>
<State>Submitted</State>
<CreationTime>2021-08-07T12:12:12+0800</CreationTime>
<Url>https://example-1250000000.cos.ap-guangzhou.myqcloud.com/test.mp4</Url>
<UserInfo>
<AppId>1250000000</AppId>
<DeviceId>1254</DeviceId>
<Nickname>test</Nickname>
<TokenId>1250000000</TokenId>
</UserInfo>
</JobsDetail>
<RequestId>xxxxxxxxxxxxxx</RequestId>
</Response>