1、接口描述
用于自动审核指定图片中是否存在色情内容,并给出该图片的涉黄指数,表明图片内容的涉黄程度。
2、请求方法。
POST
3、接口要求
- 图片格式限制:图片格式支持 png、jpg、jpeg、bmp、heic格式
- 图片大小限制:图片单张大小不超过 10MB,批量请求单次不超过50张
- 图片尺寸限制:图片像素尺寸大于等于32x32 ,小于等于5000x5000
4、URI
/v1/aiop/api/2f820wzpai9s/PictureIdentity/api/v1/image_porn.json
5、请求参数
请求头header参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
Content-Type | 是 | String | json格式 | application/json | |
appkey | 是 | String | 平台应用appkey | 562b89493b1a40e1b97ea05e50dd8170 | |
ctyun-eop-request-id | 是 | String | 用户请求 id,由用户构造,用户可以通过 uuid 等方法自行生成唯一字符串,用于日志请求追踪。 详见文档:Python3调用示例 |
33dfa732-b27b-464f-b15a-21ed6845afd5 | |
eop-date | 是 | String | 请求时间,由用户构造,形如 yyyymmddTHHMMSSZ。 详见文档:Python3调用示例 |
20211221T163014Z | |
host | 是 | String | 终端节点域名,固定字段 | ai-global.ctapi.ctyun.cn | |
Eop-Authorization | 是 | String | 由天翼云官网 accessKey 和 securityKey 经签名后生成,参与签名生成的字段包括天翼云官网 accessKey 、securityKey、平台应用的appkey(非必须),用户请求id(非必须),请求时间,终端节点域名(非必须)以及请求体内容。 签名逻辑详见文档:认证鉴权和Python3调用示例 |
请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
data | 是 | List | 请求参数放置于http body中,一张或多张图像Base64编码数据构成的list,注意:图片需要使用常规base64编码方式 | - |
6、 请求代码示例
Curl -X POST
"https://ai-global.ctapi.ctyun.cn/v1/aiop/api/2f820wzpai9s/PictureIdentity/api/v1/image_porn.json "
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.ctyun.cn"
--data '{"data":["AAAAAAAAA...."]}'
7、 返回值说明
请求成功返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | Int | 请求响应状态码,返回 0 表示成功,返回错误代码参考下面的错误代码列表。 | 0 | |
message | 是 | Object | 请求信息结构体,message["success"]代表请求list中的成功数量,message["fail"]代表请求list中的失败数量 | "success":3, "fail":0 | |
returnObj | 是 | Oject | 返回结果键值集合,键为场景名称”porn”;值为场景对应的图片结果,按照列表形式排列,每个元素为图片对应的鉴定结果键值对,元素排序按照传入顺序排列 | returnObj |
表returnObj
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
porn | 是 | List | 场景对应的图片结果,按照列表形式排列,每个元素为图片对应的鉴定结果键值对,元素排序按照传入顺序排列 | - | |
porn[].label | 否 | Int | 图片的分类结果,0表示正常,1表示该场景下违规,2表示人工审核 | - | |
porn[].class_name | 否 | String | 图片分类结果描述,为正常、违规或人工审核 | - | |
porn[].confidence | 否 | Float | 图片违规的置信度,在0到1区间 | - | |
porn[].err_code | 否 | Int | 若该张图片处理异常,则返回该图片的错误代码 | - | |
porn[].err_msg | 否 | String | 若该张图片处理异常,则返回该图片的错误消息 | - |
8、 返回值示例
请求成功返回值示例
{
"statusCode":0,
"message": {"success":3, "fail":0},
"returnObj":{
"porn": [
{
"label": 0,
"class_name": "正常",
"confidence": 0.315978
},
{
"label": 0,
"class_name": "正常",
"confidence": 0.0000078003
},
{
"label": 1,
"class_name": "违规",
"confidence": 0.985978
}
]
}
}
请求失败返回值示例
{
"statusCode": 4003,
"message": "error",
"details": "请求中未包data字段",
"error":"AI_OP_4003"
}
9、状态码
http状态码 | 描述 |
---|---|
200 | 表示请求成功。 |
10、错误码说明
4 位错误码。4 开头为业务错误码,5 开头为服务错误码。
错误码 | 错误信息 | 错误描述 |
---|---|---|
AI_OP_4002 | 请求文件格式不支持 | 请求的数据格式该接口暂不支持 |
AI_OP_4006 | base64数据处理异常 | 客户端传递的base64格式在处理时发生异常,可以尝试在本地转换base64是否有异常 |
AI_OP_4008 | 图片分辨率不符合要求 | 该图片的分辨率过大或过小,目前系统可接受的尺寸在 32*32 到 5000 * 5000 之间 |
AI_OP_4009 | 图片文件大小不符合要求 | 该文件大小不符合要求,静态图片要求小于10M,动态图片要求小于50M |
AI_OP_4017 | 处理该请求超时 | 该请求内部处理超时,请稍后再试。 |
AI_OP_4018 | 单次批量请求数量超过限制 | 该批次请求量超过限制,请降低单批次请求量 |
AI_OP_5000 | 服务内部错误 | 需要联系管理员处理 |
AI_OP_5001 | 服务接口异常,请联系管理员 | 当前接口无法正常处理请求,需要联系管理员处理。 |
AI_OP_5003 | 场景接口异常,具体参见返回消息 | 后端服务超时等 |
11、base64 编码规则:使用常规的 safe base64 编码方式
- python 中推荐使用
base64.urlsafe_b64encode()
函数进行编码。 - java 中推荐使用
BASE64.getUrlEncoder().encodeToString()
函数进行编码。