简介
本文档提供关于图片审核的 API 概览和 SDK 示例代码。
注意:
COS Node.js SDK 版本需要大于等于 v2.11.2。
API | 操作描述 |
对图片文件进行内容审核 | |
对多个图片进行批量审核。 | |
主动查询指定的图片审核任务结果 | |
可通过本接口反馈与预期不符的审核结果图片审核结果反馈 |
图片单次审核
功能说明
图片审核的存量扫描功能通过借助数据万象的持久化处理接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描。
使用示例
// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629function getImageAuditing() {const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须Region: 'COS_REGION', // 存储桶所在地域,例如ap-beijing,必须};cos.request({Bucket: config.Bucket, // 存储桶,必须Region: config.Region, // 存储桶所在地域,例如ap-beijing,必须字段Method: 'GET', // 固定值Key: '1.png', // 存储桶内的图片文件,非必须,与detect-url二选一传递Query: {'ci-process': 'sensitive-content-recognition', // 固定值,必须'biz-type': '', // 审核类型,非必须'detect-url': '', // 审核任意公网可访问的图片链接,非必须,与Key二选一传递'interval': 5, // 审核 GIF 动图时,每隔 interval 帧截取一帧,非必须'max-frames': 5, // 审核 GIF 动图时,最大截帧数,非必须'large-image-detect': '0', // 是否需要压缩图片后再审核,非必须'dataid': '123', // 自定义图片标识,非必须},},function(err, data){if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.RecognitionResult);}});}getImageAuditing();
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Bucket | 存储桶 | String | 是 |
Region | 存储桶所在地域,例如 ap-beijing | String | 是 |
Method | 请求方法,固定值 | String | 是 |
Key | 存储桶内的图片文件,非必须,与 Query 中的 detect-url 二选一传递 | String | 否 |
Query | 其他请求参数 | Container | 是 |
Query 中的具体数据描述如下:
参数名称 | 描述 | 类型 | 是否必选 |
ci-process | 标识数据处理功能的字段,内容审核的值为:sensitive-content-recognition。 | String | 是 |
biz-type | 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置审核策略。您可以在控制台上获取到 biz-type。biz-type 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。biz-type 不填写时,将自动使用默认的审核策略。 | String | 否 |
detect-url | 您可以通过填写 detect-url 审核任意公网可访问的图片链接不填写 detect-url 时,后台会默认审核 ObjectKey 填写了 detect-url 时,后台会审核 detect-url 链接,无需再填写 ObjectKey ,detect-url 示例:http://www.example.com/abc.jpg。 | String | 否 |
interval | 审核 GIF 动图时,可使用该参数进行截帧配置,代表截帧的间隔。例如值设为5,则表示从第1帧开始截取,每隔5帧截取一帧,默认值5。 | Int | 否 |
max-frames | 针对 GIF 动图审核的最大截帧数量,需大于0。例如值设为5,则表示最大截取5帧,默认值为5。 | Int | 否 |
large-image-detect | 对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。 注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。 | Int | 否 |
dataid | 图片标识,该字段在结果中返回原始内容,长度限制为512字节。 | String | 否 |
async | 是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。 | Int | 否 |
callback | 审核结果(Detail 版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com 。 | String | 否 |
回调函数说明
function(err, data) { ... }
相关链接
API 文档
功能指南
图片批量审核
功能说明
图片批量审核接口支持同步、异步请求方式,您可以通过本接口对多个图片文件进行内容审核。该接口属于 POST 请求。
使用示例
// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629function postImagesAuditing() {const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须Region: 'COS_REGION', // 存储桶所在地域,例如ap-beijing,必须};const key = 'image/auditing'; // 固定值,必须const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';const url = `https://${host}/${key}`;const body = COS.util.json2xml({Request: {Input: [{Object: '1.png', // 需要审核的图片,存储桶里的路径}, {Object: 'a/6.png', // 需要审核的图片,存储桶里的路径}],Conf: {BizType: '', // 不填写代表默认策略}}});cos.request({Method: 'POST', // 固定值,必须Url: url, // 请求的url,必须Key: key, // 固定值,必须ContentType: 'application/xml', // 固定值,必须Body: body // 请求体参数,必须},function(err, data){if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}});}postImagesAuditing();
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Method | 请求方法,固定值 | String | 是 |
Url | 请求 url,固定值 | String | 是 |
Key | 固定值 | String | 是 |
ContentType | 固定值 | String | 是 |
Body | Container | 是 |
回调函数说明
function(err, data) { ... }
相关链接
API 文档
功能指南
查询图片审核任务结果
功能说明
本接口用于主动查询指定的图片审核任务结果。
使用示例
// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629function getImageAuditingResult() {const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须Region: 'COS_REGION', // 存储桶所在地域,例如ap-beijing,必须};const jobId = 'xxx'; // jobId可以通过图片批量审核异步任务返回const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';const key = `image/auditing/${jobId}`; // 固定值,必须const url = `https://${host}/${key}`;cos.request({Method: 'GET', // 固定值,必须Key: key, // 固定值,必须Url: url, // 请求的url,必须},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}},);}
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Method | 请求方法,固定值 | String | 是 |
Url | 请求 url,固定值 | String | 是 |
Key | 固定值:image/auditing/要查询的 jobId | String | 是 |
参数名称 | 描述 | 类型 | 是否必选 |
jobId | 需要查询的任务 ID | String | 是 |
回调函数说明
function(err, data) { ... }
相关链接
API 文档
功能指南
图片审核结果反馈
功能说明
您可通过本接口反馈与预期不符的审核结果,例如色情图片被审核判定为正常或正常图片被判定为色情时可通过该接口直接反馈。
本接口不会直接修改审核结果,您反馈的错误审核结果将在后台进行确认,并在后续的审核任务中生效。
使用示例
// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629function reportBadCase() {const config = {// 需要替换成您自己的存储桶信息Bucket: 'examplebucket-1250000000', // 存储桶,必须Region: 'COS_REGION', // 存储桶所在地域,例如ap-beijing,必须};const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';const key = 'report/badcase'; // 固定值,必须const url = `https://${host}/${key}`;const body = COS.util.json2xml({Request: {// 需要反馈的数据类型,反馈图片错误样本,取值为2。ContentType: 2,// 图片类型的样本,需要填写图片的 url 链接,ContentType 为2时必填。Url: 'http://www.example.com/abc.jpg',// 数据万象审核判定的审核结果标签,例如 Porn。Label: 'Porn',// 您自己期望的正确审核结果的标签,例如期望是正常,则填 Normal。SuggestedLabel: 'Normal',// 该数据样本对应的审核任务 ID,有助于定位审核记录。// JobId: '',// 该数据样本之前审核的时间,有助于定位审核记录。 格式为 2021-08-07T12:12:12+08:00// ModerationTime: '',},});cos.request({Method: 'POST', // 固定值,必须Url: url, // 请求的url,必须Key: key, // 固定值,必须ContentType: 'application/xml', // 固定值,必须Body: body, // 请求体参数,必须},function (err, data) {if (err) {// 处理请求失败console.log(err);} else {// 处理请求成功console.log(data.Response);}},);}
参数说明
cos.request 方法参数说明:
参数名称 | 描述 | 类型 | 是否必选 |
Method | 请求方法,固定值 | String | 是 |
Url | 请求url,固定值 | String | 是 |
Key | 固定值 | String | 是 |
ContentType | 固定值 | String | 是 |
Body | Container | 是 |
回调函数说明
function(err, data) { ... }
相关链接
API 文档
功能指南