1. 接口描述
接口请求域名: iai.tencentcloudapi.com 。
对请求图片进行五官定位(也称人脸关键点定位),计算构成人脸轮廓的 90 个点,包括眉毛(左右各 8 点)、眼睛(左右各 8 点)、鼻子(13 点)、嘴巴(22 点)、脸型轮廓(21 点)、眼珠[或瞳孔](2点)。
- 公共参数中的签名方式请使用V3版本,即配置SignatureMethod参数为TC3-HMAC-SHA256。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:AnalyzeFace。 |
Version | 是 | String | 公共参数,本接口取值:2020-03-03。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
Mode | 否 | Integer | 检测模式。 - 取值范围: 0 为检测所有出现的人脸。 1 为检测面积最大的人脸。 - 默认为 0。 - 最多返回 10 张人脸的五官定位(人脸关键点)具体信息。 示例值:0 |
Image | 否 | String | 图片 base64 数据。 - base64 编码后大小不可超过5M。 - jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。所有格式的图片短边像素不小于64。 - 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。 示例值:/9j/4AAQSkZJRg.....s97n//2Q== |
Url | 否 | String | 图片的 Url 。 - 对应图片 base64 编码后大小不可超过5M。 - jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。所有格式的图片短边像素不小于64。 - Url、Image必须提供一个,如果都提供,只使用 Url。 - 图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。 - 非腾讯云存储的Url速度和稳定性可能受一定影响。 - 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。 示例值:http://test.image.myqcloud.com/testA.jpg |
FaceModelVersion | 否 | String | 人脸识别服务所用的算法模型版本。 - 目前入参支持 “2.0”和“3.0“ 两个输入。 - 2020年4月2日开始,默认为“3.0”,之前使用过本接口的账号若未填写本参数默认为“2.0”。 - 2020年11月26日后开通服务的账号仅支持输入“3.0”。 - 不同算法模型版本对应的人脸识别算法不同,新版本的整体效果会优于旧版本,建议使用“3.0”版本。 示例值:3.0 |
NeedRotateDetection | 否 | Integer | 是否开启图片旋转识别支持。 - 0为不开启,1为开启。 - 默认为0。 - 本参数的作用为,当图片中的人脸被旋转且图片没有exif信息时,如果不开启图片旋转识别支持则无法正确检测、识别图片中的人脸。 - 若您确认图片包含exif信息或者您确认输入图中人脸不会出现被旋转情况,请不要开启本参数。开启后,整体耗时将可能增加数百毫秒。 示例值:0 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
ImageWidth | Integer | 请求的图片宽度。 示例值:550 |
ImageHeight | Integer | 请求的图片高度。 示例值:366 |
FaceShapeSet | Array of FaceShape | 五官定位(人脸关键点)具体信息。 |
FaceModelVersion | String | 人脸识别所用的算法模型版本。 示例值:3.0 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 五官定位接口成功示例
对请求图片进行五官定位。
输入示例
https://iai.tencentcloudapi.com/?Action=AnalyzeFace
&Mode=0
&Url=http://test.image.myqcloud.com/testA.jpg
&<公共请求参数>
输出示例
{
"Response": {
"ImageWidth": 550,
"ImageHeight": 366,
"FaceShapeSet": [
{
"FaceProfile": [
{
"X": 63,
"Y": 335
},
{
"X": 63,
"Y": 374
},
{
"X": 66,
"Y": 412
},
{
"X": 74,
"Y": 450
},
{
"X": 85,
"Y": 487
},
{
"X": 100,
"Y": 522
},
{
"X": 121,
"Y": 554
},
{
"X": 147,
"Y": 582
},
{
"X": 176,
"Y": 608
},
{
"X": 208,
"Y": 627
},
{
"X": 245,
"Y": 634
},
{
"X": 282,
"Y": 627
},
{
"X": 315,
"Y": 607
},
{
"X": 344,
"Y": 582
},
{
"X": 370,
"Y": 554
},
{
"X": 391,
"Y": 522
},
{
"X": 405,
"Y": 487
},
{
"X": 416,
"Y": 449
},
{
"X": 423,
"Y": 411
},
{
"X": 427,
"Y": 372
},
{
"X": 426,
"Y": 334
}
],
"LeftEye": [
{
"X": 114,
"Y": 333
},
{
"X": 128,
"Y": 345
},
{
"X": 146,
"Y": 349
},
{
"X": 165,
"Y": 347
},
{
"X": 183,
"Y": 341
},
{
"X": 169,
"Y": 325
},
{
"X": 150,
"Y": 318
},
{
"X": 130,
"Y": 321
}
],
"RightEye": [
{
"X": 378,
"Y": 331
},
{
"X": 364,
"Y": 343
},
{
"X": 345,
"Y": 348
},
{
"X": 327,
"Y": 346
},
{
"X": 309,
"Y": 340
},
{
"X": 322,
"Y": 323
},
{
"X": 341,
"Y": 316
},
{
"X": 361,
"Y": 319
}
],
"LeftEyeBrow": [
{
"X": 79,
"Y": 280
},
{
"X": 108,
"Y": 275
},
{
"X": 138,
"Y": 274
},
{
"X": 168,
"Y": 277
},
{
"X": 198,
"Y": 279
},
{
"X": 173,
"Y": 256
},
{
"X": 139,
"Y": 251
},
{
"X": 105,
"Y": 256
}
],
"RightEyeBrow": [
{
"X": 410,
"Y": 277
},
{
"X": 380,
"Y": 273
},
{
"X": 350,
"Y": 272
},
{
"X": 320,
"Y": 275
},
{
"X": 290,
"Y": 277
},
{
"X": 315,
"Y": 255
},
{
"X": 349,
"Y": 249
},
{
"X": 384,
"Y": 254
}
],
"Mouth": [
{
"X": 173,
"Y": 522
},
{
"X": 193,
"Y": 541
},
{
"X": 217,
"Y": 554
},
{
"X": 244,
"Y": 558
},
{
"X": 272,
"Y": 554
},
{
"X": 297,
"Y": 541
},
{
"X": 317,
"Y": 522
},
{
"X": 291,
"Y": 517
},
{
"X": 264,
"Y": 512
},
{
"X": 245,
"Y": 517
},
{
"X": 225,
"Y": 512
},
{
"X": 199,
"Y": 517
},
{
"X": 196,
"Y": 528
},
{
"X": 220,
"Y": 532
},
{
"X": 244,
"Y": 535
},
{
"X": 269,
"Y": 532
},
{
"X": 293,
"Y": 528
},
{
"X": 293,
"Y": 525
},
{
"X": 269,
"Y": 527
},
{
"X": 245,
"Y": 530
},
{
"X": 221,
"Y": 528
},
{
"X": 197,
"Y": 525
}
],
"Nose": [
{
"X": 244,
"Y": 428
},
{
"X": 245,
"Y": 341
},
{
"X": 231,
"Y": 367
},
{
"X": 217,
"Y": 392
},
{
"X": 203,
"Y": 418
},
{
"X": 187,
"Y": 448
},
{
"X": 217,
"Y": 464
},
{
"X": 245,
"Y": 468
},
{
"X": 272,
"Y": 464
},
{
"X": 302,
"Y": 448
},
{
"X": 287,
"Y": 417
},
{
"X": 273,
"Y": 392
},
{
"X": 259,
"Y": 366
}
],
"LeftPupil": [
{
"X": 188,
"Y": 303
}
],
"RightPupil": [
{
"X": 201,
"Y": 304
}
]
}
],
"FaceModelVersion": "3.0",
"RequestId": "a8eb4545-a154-4f86-9510-57a8be9cae0c"
}
}
示例2 五官定位接口失败示例
对请求图片进行五官定位,图片中没有人脸。
输入示例
https://iai.tencentcloudapi.com/?Action=AnalyzeFace
&Mode=0
&Url=http://test.image.myqcloud.com/testB.jpg
&<公共请求参数>
输出示例
{
"Response": {
"RequestId": "c964ad35-5476-486e-a03f-311faa6652e6",
"Error": {
"Code": "InvalidParameterValue.NoFaceInPhoto",
"Message": "图片中没有人脸。"
}
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
AuthFailure.InvalidAuthorization | 认证失败。 |
FailedOperation.ConflictOperation | 操作冲突,请勿同时操作相同的Person。 |
FailedOperation.DuplicatedGroupDescription | 同一人员库中自定义描述字段不可重复。 |
FailedOperation.FaceSizeTooSmall | 人脸框大小小于MinFaceSize设置,人脸被过滤。 |
FailedOperation.GroupInDeletedState | 当前组正处于删除状态,请等待。 |
FailedOperation.GroupPersonMapExist | 组中已包含对应的人员Id。 |
FailedOperation.GroupPersonMapNotExist | 组中不包含对应的人员Id。 |
FailedOperation.ImageDecodeFailed | 图片解码失败。 |
FailedOperation.ImageDownloadError | 图片下载错误。 |
FailedOperation.ImageFacedetectFailed | 人脸检测失败。 |
FailedOperation.ImageResolutionExceed | 图片分辨率过大。 |
FailedOperation.ImageResolutionTooSmall | 图片短边分辨率小于64。 |
FailedOperation.ImageSizeExceed | base64编码后的图片数据大小不超过5M。 |
FailedOperation.RequestTimeout | 后端服务超时。 |
FailedOperation.SearchFacesExceed | 检索人脸个数超过限制。 |
FailedOperation.ServerError | 算法服务异常,请重试。 |
FailedOperation.UnKnowError | 内部错误。 |
InternalError | 内部错误。 |
InvalidParameter.InvalidParameter | 参数不合法。 |
InvalidParameterValue.AccountFaceNumExceed | 账号脸数量超出限制。 |
InvalidParameterValue.DeleteFaceNumExceed | 删除人脸数量超出限制。每个人员至少需要包含一张人脸。 |
InvalidParameterValue.FaceModelVersionIllegal | 算法模型版本不合法。 |
InvalidParameterValue.GroupExDescriptionsExceed | 人员库自定义描述字段数组长度超过限制。最多可以创建5个。 |
InvalidParameterValue.GroupExDescriptionsNameIdentical | 人员库自定义描述字段名称不可重复。 |
InvalidParameterValue.GroupExDescriptionsNameIllegal | 人员库自定义描述字段名称包含非法字符。人员库自定义描述字段名称只支持中英文、-、_、数字。 |
InvalidParameterValue.GroupExDescriptionsNameTooLong | 人员库自定义描述字段名称长度超出限制。 |
InvalidParameterValue.GroupFaceNumExceed | 人员库人脸数量超出限制。 |
InvalidParameterValue.GroupIdAlreadyExist | 人员库ID已经存在。人员库ID不可重复。 |
InvalidParameterValue.GroupIdIllegal | 人员库ID包含非法字符。人员库ID只支持英文、数字、-%@#&_。 |
InvalidParameterValue.GroupIdNotExist | 人员库ID不存在。 |
InvalidParameterValue.GroupIdTooLong | 人员库ID超出长度限制。 |
InvalidParameterValue.GroupIdsExceed | 传入的人员库列表超过限制。 |
InvalidParameterValue.GroupNameAlreadyExist | 人员库名称已经存在。人员库名称不可重复。 |
InvalidParameterValue.GroupNameIllegal | 人员库名称包含非法字符。人员库名称只支持中英文、-、_、数字。 |
InvalidParameterValue.GroupNameTooLong | 人员库名称超出长度限制。 |
InvalidParameterValue.GroupNumExceed | 人员库数量超出限制。如需增加,请联系我们。 |
InvalidParameterValue.GroupNumPerPersonExceed | 人员库数量超出限制。单个人员最多可被添加至100个人员库。 |
InvalidParameterValue.GroupTagIllegal | 人员库备注包含非法字符。人员库备注只支持中英文、-、_、数字。 |
InvalidParameterValue.GroupTagTooLong | 人员库备注超出长度限制。 |
InvalidParameterValue.ImageEmpty | 图片为空。 |
InvalidParameterValue.LimitExceed | 返回数量超出限制。 |
InvalidParameterValue.NoFaceInGroups | 指定分组中没有人脸。 |
InvalidParameterValue.NoFaceInPhoto | 图片中没有人脸。 |
InvalidParameterValue.OffsetExceed | 起始序号过大。请检查需要请求的数组长度。 |
InvalidParameterValue.PersonExDescriptionInfosExceed | 人员自定义描述字段数组长度超过限制。最多5个。 |
InvalidParameterValue.PersonExDescriptionsNameIdentical | 人员自定义描述字段名称不可重复。 |
InvalidParameterValue.PersonExDescriptionsNameIllegal | 人员自定义描述字段名称包含非法字符。人员自定义描述字段名称只支持中英文、-、_、数字。 |
InvalidParameterValue.PersonExDescriptionsNameTooLong | 人员自定义描述字段名称长度超出限制。 |
InvalidParameterValue.PersonExistInGroup | 组中已包含对应的人员Id。 |
InvalidParameterValue.PersonFaceNumExceed | 人员人脸数量超出限制。单个人员最多可以包含五张人脸。 |
InvalidParameterValue.PersonGenderIllegal | 人员性别设置出错。0代表未填写,1代表男性,2代表女性。 |
InvalidParameterValue.PersonIdAlreadyExist | 人员ID已经存在。人员ID不可重复。 |
InvalidParameterValue.PersonIdIllegal | 人员ID包含非法字符。人员ID只支持英文、数字、-%@#&_。 |
InvalidParameterValue.PersonIdNotExist | 人员ID不存在。 |
InvalidParameterValue.PersonIdTooLong | 人员ID超出长度限制。 |
InvalidParameterValue.PersonNameIllegal | 人员名称包含非法字符。人员名称只支持中英文、-、_、数字。 |
InvalidParameterValue.PersonNameTooLong | 人员名称超出长度限制。 |
InvalidParameterValue.SearchPersonsExceed | 搜索的人员数目超过限制。 |
InvalidParameterValue.UploadFaceNumExceed | 一次最多上传四张人脸。 |
InvalidParameterValue.UrlIllegal | URL格式不合法。 |
LimitExceeded.ErrorFaceNumExceed | 人脸个数超过限制。 |
MissingParameter.ErrorParameterEmpty | 必选参数为空。 |
ResourceUnavailable.Delivering | 资源正在发货中。 |
ResourceUnavailable.Freeze | 账号已被冻结。 |
ResourceUnavailable.InArrears | 账号已欠费。 |
ResourceUnavailable.NotExist | 计费状态未知,请确认是否已在控制台开通服务。 |
ResourceUnavailable.Recover | 资源已被回收。 |
ResourceUnavailable.StopUsing | 账号已停服。 |
ResourceUnavailable.UnknownStatus | 计费状态未知。 |
ResourcesSoldOut.ChargeStatusException | 计费状态异常。 |
UnsupportedOperation.UnknowMethod | 未知方法名。 |