接口描述
用于检测输入图像中的人脸年龄、性别等属性。
请求方法
POST
接口要求
- 图片大小限制:图片单张大小小于2MB。
- 图片格式限制:图片格式支持jpg/jpeg/png/bmp格式。
URI
/v1/aiop/api/2f6hw5o5t7gg/face/PERSON/person/detectAgeGenderFromBase64
请求参数
1.请求头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调用示例 |
2.请求体body参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
imageContent | 是 | String | 传入图片的base64编码,图片使用常规的base64编码方式,编码后,不包含前缀,剔除前缀例如“data:image/jpeg;base64,” | - |
请求代码示例
Curl -X POST "https://ai-global.ctapi.ctyun.cn/v1/aiop/api/2f6hw5o5t7gg/face/PERSON/person/detectAgeGenderFromBase64"
-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 '{"imageContent":"AAAAAAAAA...."}'
返回值说明
1.请求成功返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | String | 返回状态,返回 0 表示成功,返回错误代码参考下面的错误代码列表。 | 0 | |
message | 是 | String | 如果 code 为 0,返回 success;如果 code 非 0,则返回对应的可读错误信息。 | success | |
returnObj | 是 | Object | 返回的人脸属性识别结果对象 | returnObj |
2.表returnObj
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
face_num | 是 | Int | 图片中人脸的数量 | - | |
face_list | 是 | List | 每个人脸的详细信息 | - | |
face_list[].face_location | 是 | Object | 人脸所处位置 | - | |
face_list[].gender | 是 | String | 人脸的性别属性 | - | |
face_list[].age | 是 | String | 人脸的年龄属性 | - |
3.请求失败返回响应参数
参数 | 是否必填 | 参数类型 | 说明 | 示例 | 下级对象 |
---|---|---|---|---|---|
statusCode | 是 | String | 错误码,放置API对应的错误码 | 4101 | |
message | 是 | String | 请求失败时返回值固定为"error" | error | |
details | 是 | String | 返回对应的错误信息 | 请求内容错误 | |
error | 是 | String | 返回对应的错误码 | AI_OP_4101 |
返回值示例
1.请求成功返回值示例
{
"statusCode": "0",
"message": "success",
"returnObj":{
"face_num" : 1,
"face_list" : [{
"face_location" : {
"top" : 36,
"left" : 48,
"width" : 58,
"height" : 72
},
"gender" : "Male",
"age" : "23"
}]
}
}
2.请求失败返回值示例
{
"statusCode": "4101",
"message": "error",
"details": "请求内容错误"
"error":"AI_OP_4101"
}
状态码
http状态码 | 描述 |
---|---|
200 | 表示请求成功 |
错误码说明
4 位错误码,4 开头为业务错误码,5 开头为服务错误码。
错误码 | 错误信息 | 错误描述 |
---|---|---|
AI_OP_4101 | 请求内容错误 | 传入内容为空,或者传入的参数名错误 |
AI_OP_4102 | 请求参数格式错误 | 参数格式不满足要求,如请求参数字段类型错误等 |
AI_OP_4103 | 图片大小超过2M | 图片大小超过2M |
AI_OP_4104 | 图片解码失败 | 图片为空,base64编码内容有误,或图片格式不支持 |
AI_OP_4105 | 未检测到人脸 | 上传图片中不包含人脸 |
base64 编码规则:使用常规的 safe base64 编码方式
- python 中推荐使用
base64.urlsafe_b64encode()
函数进行编码。 - java 中推荐使用
BASE64.getUrlEncoder().encodeToString()
函数进行编码。