有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。
说明:
使用内容审核服务需拥有数据万象使用权限:
主账号请 单击此处 进行角色授权。
子账号请参见 授权子账号接入数据万象服务 文档。
本文档提供关于图片审核的 API 概览和 SDK 示例代码。
注意:
COS Node.js SDK 版本需要大于等于 v2.11.2。
API
操作描述
对图片文件进行内容审核
对多个图片进行批量审核。
主动查询指定的图片审核任务结果
可通过本接口反馈与预期不符的审核结果图片审核结果反馈

图片单次审核

功能说明

图片审核的存量扫描功能通过借助数据万象的持久化处理接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描。

使用示例

// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629
function 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 链接,无需再填写 ObjectKeydetect-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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- RecognitionResult
响应结果详情请参见 图片单次审核
Object

相关链接

图片批量审核

功能说明

图片批量审核接口支持同步、异步请求方式,您可以通过本接口对多个图片文件进行内容审核。该接口属于 POST 请求。

使用示例

// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629
function 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果详情请参见 图片批量审核
Object

相关链接

查询图片审核任务结果

功能说明

本接口用于主动查询指定的图片审核任务结果。

使用示例

// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629
function 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果详情请参见 查询图片审核结果
Object

相关链接

图片审核结果反馈

功能说明

您可通过本接口反馈与预期不符的审核结果,例如色情图片被审核判定为正常或正常图片被判定为色情时可通过该接口直接反馈。
本接口不会直接修改审核结果,您反馈的错误审核结果将在后台进行确认,并在后续的审核任务中生效。

使用示例

// sdk的引入及初始化cos请参考 https://cloud.tencent.com/document/product/436/8629
function 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) { ... }
参数名称
参数描述
类型
err
请求发生错误时返回的对象,包括网络错误和业务错误。如果请求成功则为空,更多详情请参见 错误码
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
data
请求成功时返回的对象,如果请求发生错误,则为空
Object
- statusCode
请求返回的 HTTP 状态码,例如 200、403、404 等
Number
- headers
请求返回的头部信息
Object
- Response
响应结果详情请参见 图片审核结果反馈
Object

相关链接