图片审核

最近更新时间:2023-09-20 21:18:33

我的收藏

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。
说明
使用内容审核服务需拥有数据万象使用权限:
主账号请 单击此处 进行角色授权。
子账号请参见 授权子账号接入数据万象服务 文档。
本文档提供关于图片审核的 API 概览和 SDK 示例代码。
API
操作描述
对对象存储(Cloud Object Storage,COS)存量数据进行涉黄、违法违规以及广告引导类图片的扫描
对多个图片进行批量审核
用于查询图片审核任务详情

图片单次审核

功能说明

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

方法原型

CosResult GetImageAuditing(const GetImageAuditingReq& req, GetImageAuditingResp* resp);

请求示例

qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";
std::string object_name = "test.jpg";

GetImageAuditingReq req(bucket_name);
GetImageAuditingResp resp;

// 添加请求参数 参数详情请见api接口文档
req.SetObjectKey(object_name);
req.SetBizType("b81d45f94b91a683255e9a9506f45a11");
// req.SetDetectType("Porn,Ads");

// 调用接口,获取任务响应对象
CosResult result = cos.GetImageAuditing(req, &resp);
if (result.IsSucc()) {
// 创建审核任务成功,可以调用 GetImageAuditingResp 的成员函数
} else {
// 创建审核任务失败,可以调用 CosResult 的成员函数输出错误信息
}

参数说明

参数
参数描述
类型
是否必填
req
GetImageAuditing 操作的请求
GetImageAuditingReq
resp
GetImageAuditing 操作的响应
GetImageAuditingResp
GetImageAuditingReq 提供以下成员函数:
// 设置执行操作的bucket
void SetBucketName(const std::string& bucket_name);
// COS 存储桶中的图片文件名称,需要审核图片文件对象
void SetObjectKey(const std::string& object_name);
// 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置公共审核策略。
// 您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。
void SetBizType(const std::string& biz_type);
// 审核的场景类型,有效值:Porn(涉黄)、Ads(广告)等,可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。如您有更多场景的审核需要,请使用 BizType 参数。
void SetDetectType(const std::string& detect_type);
// 审核图片Url,可为任意公网可访问图片链接
// 设置了detect-url时,默认审核detect-url,无需填写ObjectKey
// 不设置detect-url时,默认审核ObjectKey
void SetDetectUrl(const std::string& detect_url);
// 审核GIF动图时,使用该参数截帧审核,例如值设为5,则表示从第1帧开始截取,每隔5帧截取一帧,默认值5
void SetInterval(int interval);
// 审核动图时最大截帧数量,默认为5
void SetMaxFrames(int max_frames);
// 对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。
void SetLargeImageDetect(int large_image_detect);
// 图片标识,该字段返回原始内容,长度限制为512字节
void SetDataId(const std::string& data_id);
GetImageAuditingResp 提供以下成员函数:
// 获取API请求执行返回的任务详情
ImageAuditingJobsDetail GetJobsDetail();
// 获取API请求的透传ID
std::string GetRequestId();

返回结果说明

成功:解析 API 返回的 XML 内容中的审核任务结果到 ImageAuditingJobsDetail 结构中,具体返回参数可查看 图片单次审核 文档。
失败:发生错误(例如 Bucket 不存在),错误信息则解析在 CosResult 结构体中。详情请参见 异常处理

图片批量审核

功能说明

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

方法原型

CosResult CosAPI::BatchImageAuditing(const BatchImageAuditingReq& req, BatchImageAuditingResp* resp);

请求示例

qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";
std::string object_name_a = "test1.jpg";
std::string object_name_b = "test2.jpg";

BatchImageAuditingReq req(bucket_name);
BatchImageAuditingResp resp;

// input 1
AuditingInput input_a = AuditingInput();
input_a.SetObject(object_name_a);
req.AddInput(input_a);

// input2
AuditingInput input_b = AuditingInput();
input_a.SetObject(object_name_b);
req.AddInput(input_b);

// 审核配置
req.SetBizType("b81d45f94b91a683255e9a9506f45a11");
// req.SetDetectType("Porn,Ads");

// 调用接口,获取任务响应对象
CosResult result = cos.BatchImageAuditing(req, &resp);
if (result.IsSucc()) {
// 创建审核任务成功,可以调用 BatchImageAuditingResp 的成员函数
} else {
// 创建审核任务失败,可以调用 CosResult 的成员函数输出错误信息
}

参数说明

参数
参数描述
类型
是否必填
req
BatchImageAuditing 操作的请求
BatchImageAuditingReq
resp
BatchImageAuditing 操作的响应
BatchImageAuditingResp
input
BatchImageAuditing 操作请求的Input参数
AuditingInput
BatchImageAuditingReq 提供以下成员函数:
// 设置执行操作的bucket
void SetBucketName(const std::string& bucket_name);
// 设置审核配置
void SetConf(const Conf& conf);
// 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置公共审核策略。
// 您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。
void SetBizType(const std::string& biz_type);
// 审核的场景类型,有效值:Porn(涉黄)、Ads(广告)等,可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。如您有更多场景的审核需要,请使用 BizType 参数。
void SetDetectType(const std::string& detect_type);
// 添加单个图片审核的Input
void AddInput(const AuditingInput& input);
// 设置需要批量审核的Input数组
void SetInputs(const std::vector<AuditingInput>& inputs);
AuditingInput 提供以下成员函数:
// COS 存储桶中的图片文件名称,需要审核图片文件对象
void SetObject(const std::string& object);
// 图片文件的链接地址,例如 http://a-1250000.cos.ap-shanghai.myqcloud.com/image.jpg。Object 和 Url 只能选择其中一种。
void SetUrl(const std::string& url);
// 截帧频率,GIF 图检测专用,默认值为5,表示从第一帧(包含)开始每隔5帧截取一帧
void SetInterval(const int interval);
// 最大截帧数量,GIF 图检测专用,默认值为5,表示只截取 GIF 的5帧图片进行审核,必须大于0
void SetMaxFrames(const int max_frames);
// 图片标识,该字段在结果中返回原始内容,长度限制为512字节
void SetDataId(const std::string& data_id);
// 对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。
void SetLargeImageDetect(const int large_image_detect);
// 用户业务字段。
void SetUserInfo(const UserInfo& user_info);
BatchImageAuditingResp 提供以下成员函数:
// 获取API请求执行返回的任务详情
std::vector<ImageAuditingJobsDetail> GetJobsDetails();
// 获取API请求的透传ID
std::string GetRequestId();

返回结果说明

成功:解析 API 返回的 XML 内容中的审核任务结果到 ImageAuditingJobsDetail 结构数组中,具体返回参数可查看 图片批量审核 文档。
失败:发生错误(例如 Bucket 不存在),错误信息则解析在 CosResult 结构体中。详情请参见 异常处理

查询图片审核任务结果

功能说明

用于提交一个图片审核任务。

方法原型

CosResult DescribeImageAuditingJob(const DescribeImageAuditingJobReq &req, DescribeImageAuditingJobResp *resp);

请求示例

qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";

DescribeImageAuditingJobReq req(bucket_name);
DescribeImageAuditingJobResp resp;

// 添加请求参数 参数详情请见api接口文档
req.SetJobId("vab1ca9fc8a3ed11ea834c525400863904");

// 调用接口,获取任务响应对象
CosResult result = cos.DescribeImageAuditingJob(req, &resp);
if (result.IsSucc()) {
// 创建审核任务成功,可以调用 DescribeImageAuditingJobResp 的成员函数
} else {
// 创建审核任务失败,可以调用 CosResult 的成员函数输出错误信息
}

参数说明

参数
参数描述
类型
是否必填
req
DescribeImageAuditingJob 操作的请求
DescribeImageAuditingJobReq
resp
DescribeImageAuditingJob 操作的响应
DescribeImageAuditingJobResp
DescribeVideoAuditingJobReq 提供以下成员函数:
// 设置执行操作的bucket
void SetBucketName(const std::string& bucket_name);
// 设置查询的审核任务ID
void SetJobId(const std::string& job_id);
DescribeVideoAuditingJobResp 提供的成员函数如下:
// 获取API请求执行返回的任务详情
ImageAuditingJobsDetail GetJobsDetail();
// 获取API请求的透传ID
std::string GetRequestId();


返回结果说明

成功:解析 API 返回的 XML 内容中的审核任务结果到 ImageAuditingJobsDetail 结构中,具体返回参数可查看 查询图片审核任务结果 文档。
失败:发生错误(例如 Bucket 不存在),错误信息则解析在 CosResult 结构体中。详情请参见 异常处理