有奖捉虫:云通信与企业服务文档专题,速来> HOT

功能描述

图片审核功能支持同步、异步请求方式,您可以通过本接口对图片文件进行内容审核。该接口属于 GET 请求。
该接口支持情况如下:
支持审核任意可访问的图片链接(包含非腾讯云存储的图片链接)。
支持审核本地图片文件,需要先进行 base64编码。审核本地图片文件请调用 图片批量审核接口
支持识别多种违规场景,包括:低俗、违法违规、色情、广告、图片质量过低等场景。
支持多种物体检测(实体、广告台标、二维码等)及图片中文本的 OCR 文本识别。
支持根据不同的业务场景 配置自定义的审核策略
支持用户通过配置自定义图库,自定义指定图片的审核结果为敏感或正常。

授权说明

授权策略中 action 设置为 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次审核费用。
调用接口会产生 图片审核费用COS 读请求费用
如果使用了大图审核参数(large-image-detect),会产生基础图片处理费用
如果图片为 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用
不支持审核 COS 上的归档存储类型和深度归档存储类型的文件,如果需要审核此类型文件,请先 恢复归档文件
审核第三方云存储厂商的图片 URL 时,将产生所在云厂商的下行流量费用。

推荐使用 SDK

对象存储 SDK 提供了完整的 Demo、自动集成、计算签名等能力。您可通过 SDK 方便快捷地调用接口。点此查看 SDK 文档

请求

请求示例

GET /<ObjectKey>?ci-process=sensitive-content-recognition&detect-url=<detect-url>&interval=<interval>&max-frames=<max-frames>&biz-type=<biz-type> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
说明
Authorization: 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 链接,无需再填写 ObjectKeydetect-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。 注意:最大可支持的图片大小为32MB,使用该参数且会收取图片基础处理费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。
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
错误码,0为正确,其他数字对应相应错误。详情请参见 错误码
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 坐标、长宽、旋转角度),以方便快速定位相关信息。

实际案例

请求1:同步图片审核

GET /picture.jpg?ci-process=sensitive-content-recognition&interval=0&max-frames=1&biz-type=*** HTTP/1.1
Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.com
Date: Tue, 03 Apr 2019 09:06:15 GMT
Authorization:XXXXXXXXXXXX

响应1

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 645
Date: Tue, 03 Apr 2018 09:06:16 GMT
Status: 200 OK
x-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>

请求2:异步图片审核

GET /picture.jpg?ci-process=sensitive-content-recognition&biz-type=***&async=1&callback=http://www.callback.com HTTP/1.1
Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.com
Date: Tue, 03 Apr 2019 09:06:15 GMT
Authorization:XXXXXXXXXXXX

响应2

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 645
Date: Tue, 03 Apr 2018 09:06:16 GMT
Status: 200 OK
x-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****

<RecognitionResult>
<JobId>xxxxxxxxxxxxxxx</JobId>
</RecognitionResult>