tencent cloud

文档反馈

图片审核

最后更新时间:2024-01-04 18:00:58

    简介

    内容审核功能是由 数据万象(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 结构体中。详情请参见 异常处理
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持