API功能介绍
图片审核增强版API用于识别图像中是否有违反网络内容传播相关规定、影响平台内容秩序、影响用户体验的内容或元素,支持60+的内容风险标签和100+的风险管控项。通过内容安全的图片审核增强版,您可以根据业务所处的行业场景规范或平台内容治理规则,基于API返回的丰富的风险标签和置信分,对具体图片内容制定进一步的审核或治理措施。更多介绍,请参见图片审核增强版介绍及计费说明。
接入指引
注册阿里云账号:立即注册,按照操作提示完成账号注册。
开通内容安全按量付费:请确保您已开通服务,开通不收费,接口接入使用后系统会按使用量自动出账,详情请参见计费说明。您也可以购买按量抵扣资源包,资源包相较于后付费存在一定阶梯抵扣,适合使用量级可预期和较大的用户。
创建AccessKey:请确保您已通过RAM创建AccessKey,如果您使用的是子账号AccessKey,您需要通过主账号给子账号赋予AliyunYundunGreenWebFullAccess权限,具体操作,请参见RAM授权。
开发接入:推荐使用SDK方式调用,具体方法请详见图片审核增强版SDK及接入指南。
图片审核增强版异步检测服务包含以下2个接口:
ImageAsyncModeration:提交图片异步审核任务
DescribeImageModerationResult:获取审核任务结果
提交异步检测任务
使用说明
您可以调用该接口创建图片内容检测任务。关于如何构造HTTP请求,请参见HTTP原生调用;您也可以直接选用已构造好的HTTP请求,更多信息,请参见接入指南。
业务接口:ImageAsyncModeration
支持的地域及接入地址:
地域
外网接入地址
内网接入地址
支持服务
华东2(上海)
https://green-cip.cn-shanghai.aliyuncs.com
https://green-cip-vpc.cn-shanghai.aliyuncs.com
baselineCheck、baselineCheck_pro、tonalityImprove、aigcCheck、profilePhotoCheck、postImageCheck、advertisingCheck、liveStreamCheck
华北2(北京)
https://green-cip.cn-beijing.aliyuncs.com
https://green-cip-vpc.cn-beijing.aliyuncs.com
计费信息:
该接口为收费接口。仅对HTTP状态码为200的请求进行计量计费,产生其他错误码时不会计费。关于计费方式,请参见计费说明。
图片要求:
图片支持以下格式:PNG、JPG、JPEG、BMP、WEBP、TIFF、SVG、HEIC(该格式最长边需小于8192 px)、ICO(取最后一图)、GIF(默认取第一帧,支持通过参数设置多帧)。
图片大小限制在20 MB以内,高或者宽不能超过16,384 px,且总像素不能超过1.67亿 px。像素建议大于200*200(px),像素过低会影响内容安全检测算法的效果。
图片下载时间限制为7秒内,如果下载时间超过7秒,返回下载超时。
返回结果:异步检测任务不会实时返回检测结果,您需要通过callback或者轮询的方式获取检测结果。检测结果最长保留3天。
callback获取检测结果:提交异步检测任务时,在请求参数中传入callback参数,用来自动接收检测结果。
轮询获取检测结果:提交异步检测任务时,无需传入callback参数;提交异步检测任务后,调用结果查询接口获取检测结果。异步检测当前为排队检测,结果会在24小时内检测完毕。
QPS限制
本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。如果您业务量级较大或者有紧急扩容需求需要更大QPS,请联系您的商务经理。
调试
在接入前,您也可以通过阿里云OpenAPI在线调试图片审核增强版的接口,查看调用示例代码及SDK依赖信息,方便概览接口的使用方法和参数。
在线调试能力是基于当前登录账号调用内容安全的API接口,因此调用量会计入账号的收费用量中。
请求参数
关于在请求中必须包含的公共请求参数,请参考公共参数。
请求body是一个JSON结构体,包含以下字段:
名称 | 类型 | 是否必选 | 示例值 | 描述 |
Service | String | 是 | baselineCheck | 图片检测增强版支持的检测服务。取值:
说明 不同服务区别请参考服务说明。 |
ServiceParameters | JSONString | 是 | 内容检测对象的相关参数集。JSON字符串格式,关于每个字符串的描述,请参见ServiceParameters。 |
表 1. ServiceParameters
名称 | 类型 | 是否必选 | 示例值 | 描述 |
imageUrl | String | 是。图片审核增强版支持三种方式传入图片,请您选择其中一种:
| https://img.alicdn.com/tfs/TB1U4r9AeH2gK0jSZJnXXaT1FXa-2880-480.png | 待检测对象的URL,请确保该URL能通过公网访问到,且URL地址长度不超过2048个字符。 说明 URL地址中不能包含中文,且一次请求请确保仅传入1条URL。 |
ossBucketName | String | bucket_01 | 已授权OSS空间的Bucket名。 说明 使用OSS图片内网地址时必须先使用阿里云账号(即主账号)访问云资源访问授权页面进行授权。 | |
ossObjectName | String | 2022023/04/24/test.jpg | 已授权OSS空间的文件名。 | |
ossRegionId | String | cn-beijing | OSS Bucket所在区域。 | |
dataId | String | 否 | img123**** | 检测对象对应的数据ID。 由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过64个字符,可以用于唯一标识您的业务数据。 |
callback | String | 否 | http://www.aliyundoc.com | 检测结果回调通知您的URL,支持使用HTTP和HTTPS协议的地址。该字段为空时,您必须定时轮询检测结果。 callback接口必须支持POST方法、UTF-8编码的传输数据,以及表单参数ReqId,Checksum和Content。 内容安全按照以下规则和格式设置ReqId,Checksum和Content,调用您的callback接口返回检测结果。
说明 您的服务端callback接口收到内容安全推送的结果后,如果返回的HTTP状态码为200,则表示接收成功,其他的HTTP状态码均视为接收失败。接收失败时,内容安全将最多重复推送16次检测结果,直到接收成功。重复推送16次后仍未接收成功,则不再推送,建议您检查callback接口的状态。 |
seed | String | 否 | abc**** | 随机字符串,该值用于回调通知请求中的签名。 由英文字母、数字、下划线(_)组成,不超过64个字符。由您自定义,用于在接收到内容安全的回调通知时校验请求由阿里云内容安全服务发起。 说明 当使用callback时,该字段必须提供。 |
cryptType | String | 否 | SHA256 | 使用回调通知时(callback),设置对回调通知内容进行加密的算法。内容安全会将返回结果(由用户uid + seed + content拼接的字符串)按照您设置的加密算法加密后,再发送到您的回调通知地址。取值:
|
interval | Integer | 否 | 1 | 截帧频率,GIF图、长图检测专用。只有该值存在时,才会对GIF图和长图进行截帧。
如果不传该值,默认只会检测GIF图的第一帧、长图会压缩后检测。 说明 interval 需要与 maxFrameNum 参数组合使用。例如,设置 interval 为2, maxFrameNum 为10,在检测GIF图、长图时,将每2帧检测1张图,最多检测10张图,计费则按照实际检测的数量计算。 |
maxFrameNum | Integer | 否 | 10 | 最大截帧数量,GIF图、长图检测专用,默认值为10,代表最多截取10帧。 取值限制1~100。 如果interval* maxFrameNum 小于GIF图、长图所包含的图片帧数量时,截帧间隔自动修改为GIF图、长图所包含的图片帧数/ maxFrameNum,以提高整体检测效果。 |
referer | String | 否 | www.aliyun.com | referer请求头,用于防盗链等场景。长度不超过256个字符。 |
返回数据
名称 | 类型 | 示例值 | 描述 | |
Code | Integer | 200 | 状态码。更多信息,请参见Code说明。 | |
Msg | String | OK | 请求消息的响应消息。 | |
RequestId | String | ABCD1234-1234-1234-1234-123**** | 请求ID。 | |
Data | Object | 检测结果。 | ||
ReqId | String | ABCD1234-1234-1234-1234-123**** | 请求ID。可用于查询审核任务结果。 | |
DataId | String | img123****** | 检测对象对应的数据ID。 |
示例
请求示例
{
"Service": "baselineCheck",
"ServiceParameters": {
"imageUrl": "https://img.alicdn.com/tfs/TB1Mq6ZmCslXu8jSZFuXXXg7FXa-1440-568.jpg",
"dataId": "img123******",
"interval": 1,
"maxFrameNum": 50
}
}
返回示例
{
"Msg": "OK",
"Code": 200,
"RequestId": "ABCD1234-1234-1234-1234-1234XYZ",
"Data": {
"ReqId": "ABCD1234-1234-1234-1234-1234XYZ",
"DataId": "img123******"
}
}
获取审核任务结果
接口说明
业务接口:DescribeImageModerationResult,表示获取图片审核增强版审核任务结果。
计费信息:该接口不计费。
查询超时:建议您将查询间隔设置为30秒(即在提交异步检测任务30秒之后查询结果),最长不能超出3天,否则结果将会自动删除。
QPS限制
本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。
调试
在接入前,您也可以通过阿里云OpenAPI在线调试获取图片审核增强版审核任务结果的接口,查看调用示例代码及SDK依赖信息,方便概览接口的使用方法和参数。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
ReqId | String | 是 | ABCD1234-1234-1234-1234-123**** | 请求ID。是指图片审核增强版同步检测API返回的RequestId字段。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
RequestId | String | ABCD1234-1234-1234-1234-123**** | 本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
Data | Object | 图片内容检测结果。更多信息,请参见Data。 | |
Code | Integer | 200 | 状态码。更多信息,请参见Code说明。 |
Msg | String | OK | 本次请求的响应消息。 |
表 2. Data
名称 | 类型 | 示例值 | 描述 |
Result | Array | 图片检测的风险标签、置信分等参数结果。更多信息,请参见Result。 | |
RiskLevel | String | high | 风险等级,根据设置的高低风险分返回,返回值包括:
说明 高风险内容建议直接处置;中风险内容建议人工复查;低风险内容建议在高召回需求时再做处理,日常建议和未检测到风险做相同处理。风险分值可以在内容安全控制台配置。 |
DataId | String | img123****** | 检测对象对应的数据ID。 说明 如果在检测请求参数中传入了dataId,则此处返回对应的dataId。 |
FrameNum | Integer | 10 | 图片返回总截帧数。 |
Frame | String | [{\"Result\":[{\"Confidence\":98.88,\"Label\":\"contraband_gamble\"}],\"TempUrl\":\"http://www.aliyundoc.com/test1.jpg\"}] | 图片截帧信息的JSON字符串。包含以下字段:
说明 当图片未截帧时仅返回当前图片信息;当动图和长图存在截帧时会返回每1张截帧的信息。 |
表 3. Result
名称 | 类型 | 示例值 | 描述 |
Label | String | violent_explosion | 图片内容检测运算后返回的标签。同一张图片可能会检出多个标签和分值。支持的标签,请参见: |
Confidence | Float | 81.22 | 置信分值,0到100分,保留到小数点后2位。部分标签无置信分,更多信息,请参见风险标签释义表。 |
Description | String | 烟火类内容 | 对Labal字段的说明。 重要 该字段为Label字段的解释说明,可能会变更调整,实际处理结果时建议处理Label字段,不要基于该字段进行结果处置。 |
示例
请求示例
{
"ReqId": "ABCD1234-1234-1234-1234-123****"
}
返回示例
系统检测到风险内容时,返回示例:
{ "Msg": "success", "Code": 200, "Data": { "DataId": "img123****", "Result": [ { "Label": "pornographic_adultContent", "Confidence": 81, "Description": "成人色情" }, { "Label": "sexual_partialNudity", "Confidence": 98, "Description": "肢体裸露或性感" }, { "Label": "violent_explosion", "Confidence": 70, "Description": "烟火类内容" }, { "Label": "violent_explosion_lib", "Confidence": 81, "Description": "烟火类内容_命中自定义库" } ], "RiskLevel": "high", "Frame": "[{\"Result\":[{\"Confidence\":98.18,\"Label\":\"contraband_gamble\"},{\"Confidence\":96.39,\"Label\":\"pornographic_adultContent\"},{\"Confidence\":95.27,\"Label\":\"violent_explosion\"}],\"TempUrl\":\"http://www.aliyundoc.com/test1.jpg\"},{\"Result\":[{\"Confidence\":91.18,\"Label\":\"violent_explosion_lib\"}],\"TempUrl\":\"http://www.aliyundoc.com/test2.jpg\"}]", "FrameNum": 2 }, "RequestId": "ABCD1234-1234-1234-1234-123****" }
当系统没有检测到风险内容时,返回示例:
{ "Msg": "success", "Code": 200, "Data": { "DataId": "img123****", "Result": [ { "Label": "nonLabel", "Confidence": null, "Description": "未检测出风险" } ], "RiskLevel": "none", "Frame": "[{\"Result\":[{\"Label\":\"nonLabel\"}],\"TempUrl\":\"http://www.aliyundoc.com/test1.jpg\"},{\"Result\":[{\"Label\":\"nonLabel\"}],\"TempUrl\":\"http://www.aliyundoc.com/test2.jpg\"}]", "FrameNum": 2 }, "RequestId": "ABCD1234-1234-1234-1234-123****" }
系统检测到您传入的图片命中了您配置的免审图库时,返回示例:
{ "Msg": "success", "Code": 200, "Data": { "DataId": "img123****", "Result": [ { "Label": "nonLabel_lib", "Confidence": 99.66, "Description": "命中免审图库" } ], "RiskLevel": "none", "Frame": "[{\"Result\":[{\"Confidence\":99.66,\"Label\":\"nonLabel_lib\"}],\"TempUrl\":\"http://www.aliyundoc.com/test1.jpg\"},{\"Result\":[{\"Confidence\":81.18,\"Label\":\"nonLabel_lib\"}],\"TempUrl\":\"http://www.aliyundoc.com/test2.jpg\"}]", "FrameNum": 2 }, "RequestId": "ABCD1234-1234-1234-1234-123****" }
文档中的请求示例和返回示例为了便于阅读,做了格式化处理,实际返回结果是没有进行换行、缩进等处理。
风险标签释义表
Code说明
以下为接口返回code的含义说明,系统仅对code返回为200的请求计量计费,其他code不会计费。
Code | 说明 |
200 | 请求正常。 |
280 | 任务检测中。 |
400 | 请求参数为空。 |
401 | 请求参数错误。 |
402 | 请求参数长度不符合接口规定,请检查并修改。 |
403 | 请求超过QPS限制,请检查并调整并发。 |
404 | 传入的图片下载遇到错误,请检查或重试。 |
405 | 传入的图片下载超时,可能是因为图片无法访问,请检查调整后重试。 |
406 | 传入的图片过大,请检查调整图片大小后再重试。 |
407 | 传入的图片格式暂不支持,请检查调整后重试。 |
408 | 该账号无权限调用该接口,可能是账号未开通或者已欠费,或者调用账号未被授权访问。 |
500 | 系统异常。 |