功能描述
图片审核功能支持同步、异步请求方式,您可以通过本接口对图片文件进行内容审核。该接口属于 GET 请求。该接口支持情况如下:
支持审核任意可访问的图片链接(包含非腾讯云存储的图片链接)。
支持审核本地图片文件,需要先进行 base64编码。审核本地图片文件请调用 图片批量审核接口。
支持识别多种违规场景,包括:低俗、违法违规、色情、广告、图片质量过低等场景。
支持多种物体检测(实体、广告台标、二维码等)及图片中文本的 OCR 文本识别。
支持根据不同的业务场景 配置自定义的审核策略。
支持用户通过配置自定义图库,自定义指定图片的审核结果为敏感或正常。
授权说明
通过子账号使用时,需要授予
ci:CreateAuditingPictureJob
权限,详情请参见 数据万象 action。子账号使用异步处理接口时,需要授予
cam:passrole
权限,异步处理接口会通过 CAM 的“角色”进行 COS 的资源读写操作,PassRole 权限用于传递角色,具体请查看 访问管理-写操作-PassRole 接口。服务开通
使用限制
使用该接口时,请先确认相关限制条件。详情请参见 使用限制。
图片大小支持:支持审核32MB以下的图片,对于大小超过5MB的图片,您需要在调用请求时,使用 large-image-detect 参数。
图片分辨率支持:需大于20 * 20,需小于10000 * 10000,为保证审核效果,建议分辨率大于256 * 256。
图片支持格式:PNG、JPG/JPEG、BMP、GIF、WEBP 、HEIF/HEIC格式。
接口默认并发数量:100。
图片文件链接支持的传输协议:HTTP、HTTPS。
调用接口需携带签名,具体规则请参见 请求签名 文档。
费用说明
每个审核场景单独计费,例如您选择审核涉黄、广告两种场景,则审核1张图片,计2次审核费用。
如果使用了大图审核参数(large-image-detect),会产生 基础图片处理费用。
如果图片为 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用。
不支持审核 COS 上的归档存储类型和深度归档存储类型的文件,如果需要审核此类型文件,请先 恢复归档文件。
审核第三方云存储厂商的图片 URL 时,将产生所在云厂商的下行流量费用。
推荐使用 SDK
请求
请求示例
GET /<ObjectKey>?ci-process=sensitive-content-recognition&detect-url=<detect-url>&interval=<interval>&max-frames=<max-frames>&biz-type=<biz-type> HTTP/1.1Host: <BucketName-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth String
说明
请求头
请求参数
具体参数如下:
参数名称 | 描述 | 类型 | 是否必选 |
ObjectKey | COS 存储桶中的图片文件名称,COS 存储桶由 Host 指定,例如在北京的 examplebucket-1250000000存储桶中的目录 test 下的文件 img.jpg,则 Host 填写 examplebucket-1250000000.cos.ap-beijing.myqcloud.com,ObjectKey 填写 test/img.jpg。 | String | 否 |
ci-process | 标识数据处理功能的字段,内容审核的值为:sensitive-content-recognition。 | String | 是 |
biz-type | 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置公共审核策略。您可以在控制台上获取到 biz-type。biz-type 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。biz-type 不填写时,将自动使用默认的审核策略。 | String | 否 |
detect-url | 您可以通过填写 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。 | Int | 否 |
max-frames | 针对 GIF 动图审核的最大截帧数量,需大于0。例如值设为5,则表示最大截取5帧,默认值为5。 | Int | 否 |
large-image-detect | 对于超过5MB的图片,需要使用该参数进行审核。取值为: 0(不处理),1(压缩图片)。默认为0。 | Int | 否,图片体积大于 5MB时必选。 |
dataid | 图片标识,该字段在结果中返回原始内容,长度限制为512字节。 | String | 否 |
async | 是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。 | Int | 否 |
callback | 审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com 。 | String | 否 |
注意
通过 ObjectKey 进行审核为内网操作,不会产生额外的外网流量。
通过 detect-url 进行审核,会产生图片所在源站对应的外网流量。
请求体
该请求的请求体为空。
响应
响应头
响应体
<RecognitionResult><JobId>xxxxxxxxxxxxxxx</JobId><Result>1</Result><Label>Porn</Label><SubLabel>SexBehavior</SubLabel><Score>90</Score><PornInfo><Code>0</Code><Msg>OK</Msg><HitFlag>1</HitFlag><Label>xxx</Label><SubLabel>SexBehavior</SubLabel><Score>100</Score><OcrResults><Text></Text><Keywords></Keywords><Location><X></X><Y></Y><Width></Width><Height></Height><Rotate></Rotate></Location></OcrResults></PornInfo></RecognitionResult>
响应包体具体数据内容如下:
参数名称 | 类型 | 描述 |
RecognitionResult | Container | 图片审核结果。 |
异步审核返回的 RecognitionResult 节点内容:
参数名称 | 类型 | 描述 |
DataId | String | 图片标识,审核结果会返回原始内容,长度限制为512字节。 |
JobId | String | 图片审核任务的 ID。 |
State | String | 审核任务的状态,值为Submitted(已提交审核)。 |
Object | String | 存储在 COS 桶中的图片名称,创建任务使用 ObjectKey 时返回。 |
Url | String | 图片文件的链接地址,创建任务使用 detect-url 时返回。 |
同步审核返回的 RecognitionResult 节点内容:
参数名称 | 类型 | 描述 |
DataId | String | 图片标识,审核结果会返回原始内容,长度限制为512字节。 |
JobId | String | 图片审核任务的 ID。 |
State | String | 审核任务的状态,值为 Success(审核成功)。 |
Object | String | 存储在 COS 桶中的图片名称,创建任务使用 ObjectKey 时返回。 |
Url | String | 图片文件的链接地址,创建任务使用 detect-url 时返回。 |
CompressionResult | Int | 图片是否被压缩处理,值为 0(未压缩),1(正常压缩)。 |
Result | Int | 该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。 |
Label | String | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:Normal 表示正常,Porn 表示色情,Ads 表示广告,Quality 表示低质量,以及其他不安全或不适宜的类型。 |
Category | String | 该字段为 Label 的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。 |
SubLabel | String | 该图命中的二级标签结果。 |
Score | Int | 该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息例如:色情 99,则表明该内容非常有可能属于色情内容。 |
Text | String | 该图里的文字内容(OCR),当审核策略开启文本内容检测时返回。 |
PornInfo | Container | 审核场景为色情性感的审核结果信息。 |
AdsInfo | Container | 审核场景为广告引导的审核结果信息。 |
QualityInfo | Container | 审核场景为图片质量差不清晰的审核结果信息。 |
审核信息(PornInfo、AdsInfo、QualityInfo等)中包含如下内容:
参数名称 | 类型 | 描述 |
Code | Int | |
Msg | String | 具体错误信息,如正常则为 OK。 |
HitFlag | Int | 用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。 |
Score | Int | 该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高),越高代表该内容越有可能属于当前返回审核信息。其中0 - 60分表示图片正常,61 - 90分表示图片疑似敏感,91 - 100分表示图片确定敏感。例如:色情 99,表明该内容非常有可能属于色情内容。 |
Label | String | 该字段表示该截图的综合结果标签(可能为 SubLabel,可能为人物名字等)。 |
Category | String | 该字段为 Label 的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。 |
SubLabel | String | 该字段表示审核命中的具体子标签,例如:Porn 下的 SexBehavior 子标签。注意:该字段可能返回空,表示未命中具体的子标签。 |
OcrResults | Container Array | 该字段表示 OCR 文本识别的详细检测结果,包括文本识别结果、命中的关键词等信息,有相关违规内容时返回。 |
LibResults | Container Array | 该字段用于返回基于风险库识别的结果。注意:未命中风险库中样本时,此字段不返回。 |
Container 节点 LibResults 的内容:
参数名称 | 类型 | 描述 |
ImageId | String | 该字段表示命中的风险库中的图片样本 ID。 |
Score | Integer | 该字段用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表当前的图片越有可能命中库中的样本。例如:色情 99,表明该数据非常有可能命中库中的色情样本。 |
Container 节点 OcrResults 的内容:
参数名称 | 类型 | 描述 |
Text | String | 图片 OCR 文本识别出的具体文本内容。 |
Keywords | String Array | 在当前审核场景下命中的关键词。 |
Location | Container | 该参数用于返回 OCR 检测框在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位识别文字的相关信息。 |
Container 节点 Location 的内容:
名称 | 类型 | 描述 |
X | Float | 该参数用于返回检测框左上角位置的横坐标(x)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。 |
Y | Float | 该参数用于返回检测框左上角位置的纵坐标(y)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。 |
Width | Float | 该参数用于返回检测框的宽度(由左上角出发在 x 轴向右延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。 |
Height | Float | 该参数用于返回检测框的高度(由左上角出发在 y 轴向下延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。 |
Rotate | Float | 该参数用于返回检测框的旋转角度,该参数结合 X 和 Y 两个坐标参数可唯一确定检测框的具体位置;取值:0-360(角度制),方向为逆时针旋转。 |
Container 节点 ObjectResults 的内容:
名称 | 类型 | 描述 |
Name | String | 该标签用于返回所识别出的实体名称,例如人名。 |
Location | Container | 该参数用于返回检测结果在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位相关信息。 |
实际案例
同步图片审核
请求
GET /picture.jpg?ci-process=sensitive-content-recognition&interval=0&max-frames=1&biz-type=*** HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Tue, 03 Apr 2019 09:06:15 GMTAuthorization:XXXXXXXXXXXX
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****<RecognitionResult><JobId>xxxxxxxxxxxxxxx</JobId><CompressionResult>0</CompressionResult><Result>1</Result><Label>Porn</Label><SubLabel>SexBehavior</SubLabel><Score>95</Score><PornInfo><Code>0</Code><Msg>OK</Msg><HitFlag>1</HitFlag><Label>xxx</Label><SubLabel>SexBehavior</SubLabel><Score>95</Score></PornInfo></RecognitionResult>
异步图片审核
请求
GET /picture.jpg?ci-process=sensitive-content-recognition&biz-type=***&async=1&callback=http://www.callback.com HTTP/1.1Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.comDate: Tue, 03 Apr 2019 09:06:15 GMTAuthorization:XXXXXXXXXXXX
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 645Date: Tue, 03 Apr 2018 09:06:16 GMTStatus: 200 OKx-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****<RecognitionResult><JobId>xxxxxxxxxxxxxxx</JobId></RecognitionResult>