接口描述
用于检测输入的两张图像中的人脸相似度。
请求方法
POST
接口要求
- 图片大小限制:图片单张大小小于2MB。
- 图片格式限制:图片格式支持jpg/jpeg/png/bmp格式。
URI
/v1/aiop/api/2f7awxekgvls/face/compare/PERSON/person/compareFromBase64
请求参数
请求头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 |
|
version |
是 |
String |
服务版本号,固定值v2(目前产品有v1和v2两个版本,v1版本不需要传入此字段信息,建议使用v2版本) |
v2 |
|
Eop-Authorization |
是 |
String |
由天翼云官网 accessKey 和 securityKey 经签名后生成,参与签名生成的字段包括天翼云官网 accessKey 、securityKey、平台应用的appkey(非必须),用户请求id(非必须),请求时间,终端节点域名(非必须)以及请求体内容。 签名逻辑详见文档:认证鉴权和Python3调用示例 |
|
|
请求体body参数
参数 |
是否必填 |
参数类型 |
说明 |
示例 |
下级对象 |
img1Base64 |
是 |
String |
人脸比对的第一张图片,图片使用常规的base64编码方式,编码后,不包含前缀,剔除前缀例如” data:image/jpeg;base64,” |
- |
|
img2Base64 |
是 |
String |
人脸比对的第二张图片,图片使用常规的base64编码方式,编码后,不包含前缀,剔除前缀例如” data:image/jpeg;base64,” |
- |
|
请求代码示例
Curl -X POST "https://ai-global.ctapi.ctyun.cn/v1/aiop/api/2f7awxekgvls/face/compare/PERSON/person/compareFromBase64"
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "version:v2"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.ctyun.cn"
--data '{"img1Base64":"AAAAAAAAA....","img2Base64":"BBBBBBBBBB...."}'
返回值说明
1.请求成功返回响应参数
参数 |
是否必填 |
参数类型 |
说明 |
示例 |
下级对象 |
statusCode |
是 |
String |
返回状态,返回 0 表示成功,返回错误代码参考下面的错误代码列表。 |
0 |
|
message |
是 |
String |
如果 code 为 0,返回 success;如果 code 非 0,则返回对应的可读错误信息。 |
success |
|
returnObj |
是 |
Float |
两张人脸的相似度 |
0.99999 |
|
2.请求失败返回响应参数
参数 |
是否必填 |
参数类型 |
说明 |
示例 |
下级对象 |
statusCode |
是 |
String |
错误码,放置API对应的错误码 |
500001 |
|
message |
是 |
String |
请求失败时返回值固定为"error" |
error |
|
details |
是 |
String |
返回对应的错误信息 |
请求内容错误 |
|
error |
是 |
String |
返回对应的错误码 |
AI_OP_500001 |
|
返回值示例
1.请求成功返回值示例
{
"statusCode": "0",
"message": "success",
"returnObj": 0.99999
}
2.请求失败返回值示例
{
"statusCode": "500001",
"message": "error",
"details": "请求内容错误"
"error":"AI_OP_500001"
}
状态码
错误码说明
v2版本错误码:6位错误码,4 开头为业务错误码,5开头为服务错误码。
错误码 |
错误信息 |
错误描述 |
AI_OP_400001 |
请求路径错误 |
请求路径错误 |
AI_OP_400002 |
请求方法错误 |
请求方法错误,请使用POST请求 |
AI_OP_400003 |
请求体内容为空 |
请求体请求数据为空,没有包含内容 |
AI_OP_400004 |
请求体非json格式 |
请求体内容需要符合json要求 |
AI_OP_400005 |
请求体类型错误 |
请求体需为字典,不能为其他类型 |
AI_OP_400006 |
必传的参数未传 |
必传的参数(img1Base64或img2Base64)未传 |
AI_OP_400008 |
请求体的参数字段类型错误 |
img1Base64、img2Base64字段应该是string类型 |
AI_OP_400009 |
请求体的参数字段值为空 |
img1Base64、img2Base64字段值为空字符 |
AI_OP_400011 |
base64数据处理异常 |
img1Base64 或 img2Base64 字段的 base64 字符串转换字节码异常 |
AI_OP_400012 |
文件格式不合法 |
仅支持 jpeg/png/jpg/bmp 格式 |
AI_OP_400013 |
文件大小不符合要求 |
该文件大小不符合要求,图片一/图片二要求小于2M |
AI_OP_410001 |
图片一/图片二解码错误 |
字节码解码为图片错误 |
AI_OP_500001 |
服务接口异常,请联系管理员 |
需要联系管理员处理 |
AI_OP_601002 |
图片一/图片二未检测到人脸 |
上传图片一/图片二不包含人脸 |
v1版本错误码:4 位错误码,4 开头为业务错误码,5开头为服务错误码。
错误码 |
错误信息 |
错误描述 |
AI_OP_4101 |
请求内容错误 |
传入内容为空,或者传入的参数名错误 |
AI_OP_4102 |
请求参数格式错误 |
参数格式不满足要求,如请求参数字段类型错误等 |
AI_OP_4103 |
图片一大小超过2M |
图片一大小超过2M |
|
图片二大小超过2M |
图片二大小超过2M |
AI_OP_4104 |
图片一解码失败 |
图片为空,base64编码内容有误,或图片格式不支持 |
|
图片二解码失败 |
图片为空,base64编码内容有误,或图片格式不支持 |
AI_OP_4105 |
图片一未检测到人脸 |
上传图片一中不包含人脸 |
AI_OP_4106 |
图片二未检测到人脸 |
上传图片二中不包含人脸 |
base64 编码规则:使用常规的 safe base64 编码方式
- python 中推荐使用
base64.urlsafe_b64encode()
函数进行编码。
- java 中推荐使用
BASE64.getUrlEncoder().encodeToString()
函数进行编码。