控制台指南

最佳实践

开发者指南

数据湖存储

API 文档

SDK 文档

数据库文档捉虫大赛邀您参加,好礼多多> HOT

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。

说明:

使用内容审核服务需拥有数据万象使用权限:

本文档提供关于图片审核的相关的 API 概览以及 SDK 示例代码。

API 操作描述
图片单次审核 借助数据万象的内容审核接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描
图片批量审核 借助数据万象的内容审核接口,实现对 COS 存量数据的涉黄、违法违规以及广告引导类图片的扫描
查询图片审核任务结果 用于查询图片审核任务详情

图片单次审核

功能说明

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

方法原型

// 基本操作
func (s *CIService) ImageRecognition(ctx context.Context, name string, reserved string) (*ImageRecognitionResult, *Response, error)
// 支持指定更多参数
func (s *CIService) ImageAuditing(ctx context.Context, name string, opt *ImageRecognitionOptions) (*ImageRecognitionResult, *Response, error)

请求示例

name := "test.jpg"
res, _, err := c.CI.ImageRecognition(context.Background(), name, "")


opt := &cos.ImageRecognitionOptions{
    CIProcess: "sensitive-content-recognition",
    DetectUrl:   "http://www.example.com/test.jpg",
    BizType:     "ce25f391a72e11eb99f********",
}
res, _, err := c.CI.ImageAuditing(context.Background(), "", opt)

参数说明

type ImageRecognitionOptions struct {
    CIProcess        string
    DetectUrl        string
    Interval         int
    MaxFrames        int
    BizType          string
    LargeImageDetect int
    DataId           string
    Async            int
    Callback         string
}

参数名称 描述 类型 是否必选
name COS 存储桶中的图片文件名称,COS 存储桶由Host指定,例如在北京的 examplebucket-1250000000 存储桶中的目录 test 下的文件 img.jpg,则 Host 填写 examplebucket-1250000000.cos.ap-beijing.myqcloud.com,ObjectKey填写 test/img.jpg。如使用 ImageAuditing 接口审核 url 图片链接,传空字符串。 String
CIProcess 标识数据处理功能的字段,内容审核的值为:sensitive-content-recognition String
BizType 审核策略,不填写则使用默认策略。可在控制台进行配置,详情请参见 设置审核策略 String
DetectUrl 您可以通过填写 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。 Integer
MaxFrames 针对 GIF 动图审核的最大截帧数量,需大于0。例如值设为5,则表示最大截取5帧,默认值为5。 Integer
LargeImageDetect 对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。 Integer
DataId 图片标识,该字段在结果中返回原始内容,长度限制为512字节。 String
Async 是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。 String
Callback 审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com String

结果说明

调用 ImageRecognition 或 ImageAuditing 函数,会解析 api 返回的 xml 内容到 ImageRecognitionResult 结构,具体返回参数可查看 图片单次审核 文档。

图片批量审核

功能说明

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

方法原型

// 图片批量审核
func (s *CIService) BatchImageAuditing(ctx context.Context, opt *BatchImageAuditingOptions) (*BatchImageAuditingJobResult, *Response, error)

请求示例

// 将 examplebucket-1250000000 和 COS_REGION 修改为真实的信息
// CI 任务需要提供 CIURL
bu, _ := url.Parse("https://examplebucket-1250000000.cos.COS_REGION.myqcloud.com")
cu, _ := url.Parse("https://examplebucket-1250000000.ci.COS_REGION.myqcloud.com")
b := &cos.BaseURL{BucketURL: bu, CIURL: cu}
c := cos.NewClient(b, &http.Client{
        Transport: &cos.AuthorizationTransport{
            SecretID:  os.Getenv("SECRETID"),
            SecretKey: os.Getenv("SECRETKEY"),
        },
})
opt := &cos.BatchImageAuditingOptions{
    Input: []cos.ImageAuditingInputOptions{
        cos.ImageAuditingInputOptions{
                DataId: "1",
                Object: "test.jpg",
        },
        cos.ImageAuditingInputOptions{
                DataId: "2",
                Url: "http://www.example.com/test.jpg",
        },
    },
    Conf: &cos.ImageAuditingJobConf{
    },
}
res, _, err := c.CI.BatchImageAuditing(context.Background(), opt)

参数说明

type ImageAuditingInputOptions struct {
    DataId           string
    Object           string
    Url              string
    Interval         int
    MaxFrames        int
    LargeImageDetect int
    UserInfo         *UserExtraInfo
}
type UserExtraInfo struct {
    TokenId  string
    Nickname string
    DeviceId string
    AppId    string
    Room     string
    IP       string
    Type     string
}
type ImageAuditingJobConf struct {
    BizType    string
    Async      int
    Callback   string
}
type BatchImageAuditingOptions struct {
    Input   []ImageAuditingInputOptions
    Conf    *ImageAuditingJobConf
}

参数名称 描述 类型 是否必选
DataId 图片标识,该字段在结果中返回原始内容,长度限制为512字节。 String
Object 存储在 COS 存储桶中的图片文件名称,例如在目录 test 中的文件 image.jpg,则文件名称为 test/image.jpg。Object 和 Url 只能选择其中一种。 String
Url 图片文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/image.jpg。Object 和 Url 只能选择其中一种。 String
Interval 截帧频率,GIF 图检测专用,默认值为5,表示从第一帧(包含)开始每隔5帧截取一帧。 Integer
MaxFrames 最大截帧数量,GIF 图检测专用,默认值为5,表示只截取 GIF 的5帧图片进行审核,必须大于0。 Integer
BizType 审核策略,不填写则使用默认策略。可在控制台进行配置,详情请参见 设置公共审核策略 String
Async 是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。 String
Callback 审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com String
LargeImageDetect 对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。 Integer
UserInfo 用户业务字段。 Object

结果说明

调用 BatchImageAuditing 函数,会解析 api 返回的 xml 内容到 BatchImageAuditingJobResult 结构,具体返回参数可查看 图片批量审核 文档。

查询图片审核任务结果

功能说明

用于查询一个图片审核任务的结果详情。该接口属于 GET 请求。

方法原型

// 图片审核-查询任务
func (s *CIService) GetImageAuditingJob(ctx context.Context, jobid string) (*GetImageAuditingJobResult, *Response, error)

请求示例

jobId := "iace25f391a72e11eb99f********"
res, _, err := c.CI.GetImageAuditingJob(context.Background(), jobId)

参数说明

参数名称 参数描述 类型
jobId 任务 ID String

结果说明

调用 GetImageAuditingJob 函数,会解析 api 返回的 xml 内容到 GetImageAuditingJobResult 结构,具体返回参数可查看 查询图片审核任务结果 文档。