简介
本文档提供关于图片审核的相关的 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 stringDetectUrl stringInterval intMaxFrames intBizType stringLargeImageDetect intDataId stringAsync intCallback 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 任务需要提供 CIURLbu, _ := 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{Freeze: &cos.FreezeConf{PornScore: "90",AdsScore: "90",},},}res, _, err := c.CI.BatchImageAuditing(context.Background(), opt)
参数说明
type ImageAuditingInputOptions struct {DataId stringObject stringUrl stringInterval intMaxFrames intLargeImageDetect intUserInfo *UserExtraInfo}type UserExtraInfo struct {TokenId stringNickname stringDeviceId stringAppId stringRoom stringIP stringType string}type ImageAuditingJobConf struct {BizType stringAsync intCallback stringFreeze *FreezeConf}type FreezeConf struct {PornScore stringAdsScore string}type BatchImageAuditingOptions struct {Input []ImageAuditingInputOptionsConf *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 | 否 |
PornScore | 取值为[0,100],表示当色情审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。 | String | 否 |
AdsScore | 取值为[0,100],表示当广告审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。 | String | 否 |
结果说明
查询图片审核任务结果
功能说明
用于查询一个图片审核任务的结果详情。该接口属于 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 |