简介
本文档提供关于图片审核的 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 提供以下成员函数:
// 设置执行操作的bucketvoid 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时,默认审核ObjectKeyvoid SetDetectUrl(const std::string& detect_url);// 审核GIF动图时,使用该参数截帧审核,例如值设为5,则表示从第1帧开始截取,每隔5帧截取一帧,默认值5void SetInterval(int interval);// 审核动图时最大截帧数量,默认为5void 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请求的透传IDstd::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 1AuditingInput input_a = AuditingInput();input_a.SetObject(object_name_a);req.AddInput(input_a);// input2AuditingInput 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 提供以下成员函数:
// 设置执行操作的bucketvoid 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);// 添加单个图片审核的Inputvoid 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帧图片进行审核,必须大于0void 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请求的透传IDstd::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 提供以下成员函数:
// 设置执行操作的bucketvoid SetBucketName(const std::string& bucket_name);// 设置查询的审核任务IDvoid SetJobId(const std::string& job_id);
DescribeVideoAuditingJobResp 提供的成员函数如下:
// 获取API请求执行返回的任务详情ImageAuditingJobsDetail GetJobsDetail();// 获取API请求的透传IDstd::string GetRequestId();
返回结果说明
成功:解析 API 返回的 XML 内容中的审核任务结果到 ImageAuditingJobsDetail 结构中,具体返回参数可查看 查询图片审核任务结果 文档。
失败:发生错误(例如 Bucket 不存在),错误信息则解析在 CosResult 结构体中。详情请参见 异常处理。