最近更新时间:2024.01.24 17:29:28
首次发布时间:2022.07.21 16:25:18
支持对模版图和融合图中的人像进行图片融合操作,返回融合后的图片。
名称 | 内容 |
---|---|
图片要求 | 图片格式:JPG(JPEG), PNG, BMP 等常见格式, 建议使用JPG格式. 目标图片要求: 1. 图片像素尺寸:最小 50 x 50 像素,最大 2048 x 2048 像素 2. 不支持黑白图片 3. 图片文件大小: - version1.0:要求最大 2 MB - version2.0/2.1:目标图片需小于 5 MB,不建议目标图和模板图均接近 5 MB 4. 人脸像素尺寸:为了保证融合效果,推荐图片中人脸框(正方形)边长的最小值不低于200像素。 5. 人脸质量:人脸质量越高,则融合效果越好。 6. 影响人脸质量的因素包括:对人脸五官的遮挡、不当的光照(强光、暗光、逆光)、过大的人脸角度(推荐 yaw ≤ ±20°, pitch ≤ ±20°)等。 模版要求: 1. 素材需要有版权, 有肖像权, 没有法律或者政策风险的. 相关风险请注意评估. 2. 注意对于脸部比较特殊的素材, 如眼睛过大等卡通风格的图片,效果不佳 3. 注意模板图片建议为JPG, 图片像素宽高不宜过大, 模板图最长边建议不超过 1280,模板图大小需需小于5MB 4. 图片中脸部像素面积不宜过小(至少200*200, 过小换脸会不清晰), 也不宜过大(脸部面积像素大小和速度正相关, 过大会影响服务器速度, 提高成本). 5. 注意模板图质量, 保证脸部足够清晰, 不应该有因为压缩导致的噪声, 否则会降低结果图质量 6. 为了更好的效果,模板图脸部应该尽可能正脸,yaw角度要求最高(建议正负10度内),pitch角度其次(建议正负20度内),roll角度(正负30度内)。 |
名称 | 内容 |
---|---|
接口地址 | https://visual.volcengineapi.com |
请求方式 | POST |
Content-Type | application/x-www-form-urlencoded |
请求参数
(1)header请求参数
公共请求参数
以下请求参数列表仅列出了接口请求参数和必要公共参数,完整公共参数列表见 公共参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
X-Date | String | 是 | 使用UTC时间,精确到秒。请使用格式:YYYYMMDD'T'HHMMSS'Z' ,例如:20201103T104027Z |
Authorization | String | 是 | HMAC-SHA256:签名方法 |
X-Security-Token | String | 否 | 指安全令牌服务(Security Token Service,STS) 颁发的临时安全凭证中的SessionToken,使用长期密钥时无需填写该参数。 |
(2)Query请求参数
业务请求参数
参数 | 可选/必选 | 类型 | 说明 |
---|---|---|---|
Action | 必选 | String | 接口名,取值:FaceSwap |
Version | 必选 | String | 版本号,取值:2020-08-26 |
(3)Body参数
业务请求参数
参数 | 可选/必选 | 类型 | 说明 | 备注 |
---|---|---|---|---|
image_base64 | 必选(与image_url二选一,优先image_base64) | String | 图片文件,base64编码 | 2.1版本无需此参数 |
image_url | 必选(与image_base64二选一,优先image_base64) | String | 图片文件URL | 2.1版本无需此参数 |
template_base64 | 必选(与template_url二选一,优先template_base64) | String | 模版文件,base64编码 | |
template_url | 必选(与template_base64二选一,优先template_base64) | String | 模版文件URL | |
action_id | 必选 | String | 固定取值:faceswap | |
version | 可选 | String | 人脸融合版本。可选值: 1.0:基础版,不建议使用,陆续迁移下线(目标图片和模板图片不能超过 2 MB) 2.0:进阶版,强烈建议使用,效果更优(目标图片和模板图片最大小于 5 MB) 2.1:支持多人选脸(最多 3 人脸),其他同2.0 不传则默认为1.0 | |
do_risk | 可选 | Boolean | 是否需要审核。True为需要,False不需要。 | |
type | 必选(2.1版本) | String | 获取人脸位置的方式,支持l2r/t2b/area三种模式 l2r:根据人脸中心点从左往右的序号获取 t2b:根据人脸中心点从上往下的序号获取 area:根据人脸面积从大到小的序号获取 | 仅限2.1版本 |
merge_infos | 必选(2.1版本) | String(Array of MergeInfo转为JSON String) | 用户人脸图片、素材模板图的人脸位置信息。 | 仅限2.1版本 |
source_similarity | 可选 | String | 人脸相似度: 范围[0~1],越大越相似. 0: 与原模板一致 1: 与目标图片最大相似度。默认1(此参数不进行调节的效果) |
MergeInfo
人脸图片和待被融合的素材模板图的人脸位置信息。
名称 | 类型 | 必选 | 描述 | 备注 |
---|---|---|---|---|
image_base64 | String | 必选(与image_url二选一,优先image_base64) | 目标图片文件,base64编码 | |
image_url | String | 必选(与image_base64二选一,优先image_base64) | 目标图片文件URL | |
location | Int | 否 | 指定目标图中进行人脸融合的人脸位置序号,从1开始,不指定时则默认使用最大的人脸 | type为l2r时,此参数为2代表目标图从左往右的第二张人脸 |
template_location | Int | 否 | 指定模板图中进行人脸融合的人脸位置序号,从1开始,不指定时则默认使用最大的人脸 | type为l2r时,此参数为2代表模板图从左往右的第二张人脸 |
(1)通用输出参数
请参考通用返回字段及错误码
(2)业务输出参数
data 字段说明
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
image | string | 变换后的图像,返回图片的Base64编码 |
(3)输出示例
{ "code":10000, "data":{ "image": "", }, "message":"Success", "request_id":"6838889517957515275", "time_elapsed":"41.897331ms" }
(1)通用错误码
请参考通用返回字段及错误码
(2)业务错误码
HttpCode | 错误码 | 错误消息 | 描述 |
---|---|---|---|
200 | 10000 | 无 | 请求成功 |
400 | 60103 | "Missing Input Parameters: empty input image" | 输入图片为空 |
400 | 60201 | "Invalid Input Image: get input image error" | 图像解析错误 |
400 | 60203 | "Missing Input Parameters: empty input template" | 输入模版图片为空 |
400 | 60204 | "Invalid Input Image: no face detected in image" | 未检测到人脸 |
400 | 60102 | "Invalid Input Image: no face detected in image" | 未检测到人脸 |
400 | 60208 | "Invalid Input Image: input image contain sensitive contents" | 上传图片包含敏感信息 |
400 | 60209 | "FaceSwap error: {error message}" | 人脸融合错误,具体见错误信息 |