最近更新时间:2024.03.08 15:00:43
首次发布时间:2023.09.22 10:18:39
公测版较历史版本增加眼镜适配(输入图有眼镜,输出图也有眼镜)、水印功能。
V3.0与输入图相似度最高,效果较好,人脸清晰度最高,性能较好。
V3.3(实际模型已升级到v3.4)与模板图相似度最高,与输入图妆容相似度较高,人脸清晰度一般,性能一般。
支持对模版图和素材图中的人像进行图片融合操作,返回融合后的图片。
名称 | 内容 |
---|---|
图片要求 | 图片格式:JPG(JPEG), PNG, BMP 等常见格式, 建议使用JPG格式. 目标图片要求: 1. 图片像素尺寸:最小 128 x 128 像素,最大 4096 x 4096 像素 2. 不支持黑白图片 3. 图片文件大小:目标图片需小于 5 MB 4. 人脸像素尺寸:为了保证融合效果,推荐图片中人脸框(正方形)边长的最小值不低于200像素。 5. 人脸质量:人脸质量越高,则融合效果越好。 6. 影响人脸质量的因素包括:对人脸五官的遮挡、不当的光照(强光、暗光、逆光)、过大的人脸角度(推荐 yaw ≤ ±20°, pitch ≤ ±20°)等。 模版要求: 1. 素材需要有版权, 有肖像权, 没有法律或者政策风险的. 相关风险请注意评估. 2. 注意对于脸部比较特殊的素材, 如眼睛过大等卡通风格的图片,效果可能不佳 3. 模板图片需小于 5 MB,图片像素宽高不宜过大, 模板图最长边强制不能超过 4096. 4. 图片中脸部像素面积不宜过小(至少200*200, 过小换脸会不清晰), 也不宜过大(脸部面积像素大小和速度正相关, 过大会影响速度). 5. 注意图片质量, 保证脸部足够清晰, 不应该有因为压缩导致的噪声, 否则会降低结果图质量 6. 为了更好的效果,模板图脸部应该尽可能正脸,yaw角度要求最高(建议正负10度内),pitch角度其次(建议正负20度内),roll角度(正负30度内)。 |
名称 | 内容 |
---|---|
接口地址 | https://visual.volcengineapi.com |
请求方式 | POST |
Content-Type | application/json |
请求参数
(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 | 版本号,取值:2022-08-31 |
(3)Body参数
业务请求参数
参数 | 可选/必选 | 类型 | 说明 | 备注 |
---|---|---|---|---|
req_key | 必选 | String | 算法名称: - 3.0版本取固定值faceswap - 3.3版本取固定值face_swap3_3 | |
binary_data_base64 | 必选(二选一,优先生效) | Array of String | 输入换脸和模板图片Base64数组,换脸图在前(最多三张),模板图在后(最多一张) | |
image_urls | 必选(二选一) | Array of String | 输入换脸和模板图片链接数组,换脸图在前(最多三张),模板图在后(最多一张) | |
face_type | 可选 | String | 获取人脸位置的方式,支持以下三种模式 l2r:根据人脸中心点从左往右的序号获取 t2b:根据人脸中心点从上往下的序号获取 area:根据人脸面积从大到小的序号获取(默认) | |
merge_infos | 可选 | Array of MergeInfo | 素材图、模板图的人脸位置信息 | |
logo_info | 可选 | LogoInfo | 水印信息 | |
do_risk | 可选 | Boolean | 是否需要审核(对模板图和素材图都生效)。True为需要,False不需要(默认)。 | |
source_similarity | 可选 | String | 人脸相似度: 范围[0~1],越大越相似. 0: 与原模板一致 1: 与目标图片最大相似度。默认1(此参数不进行调节的效果) | |
gpen | 可选 | Float | 高清效果,支持[0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] | 此参数仅支持3.3, 3.0版本无此配置 |
MergeInfo
素材图和待被融合的模板图的人脸位置信息。
名称 | 类型 | 必选 | 描述 | 备注 |
---|---|---|---|---|
location | Int | 否 | 指定素材图中进行人脸融合的人脸位置序号(默认1),从1开始 | type为l2r时,此参数为2代表素材图从左往右的第二张人脸 |
template_location | Int | 否 | 指定模板图中进行人脸融合的人脸位置序号(默认1),从1开始 | type为l2r时,此参数为2代表模板图从左往右的第二张人脸 |
LogoInfo
水印相关信息。
名称 | 类型 | 必选 | 描述 | 备注 |
---|---|---|---|---|
add_logo | Boolean | 否 | 是否添加水印。True为添加,False不添加。默认不添加 | |
position | Int | 否 | 水印的位置,取值如下: 0-右下角 1-左下角 2-左上角 3-右上角 默认0 | |
language | Int | 否 | 水印的语言,取值如下: 0-中文(AI生成) 1-英文(Generated by AI) 默认0 | |
opacity | Float | 否 | 水印的不透明度,取值范围0-1,1表示完全不透明,默认0.3 |
(4)请求示例
{ "req_key": "faceswap", "binary_data_base64": ["/9xxx","/9xxx"], "image_urls": ["http://","http://"], "face_type": "area", "do_risk": true, "merge_infos": [ { "location": 1, "template_location": 1 } ], "logo_info":{ "add_logo": true, "position": 1, "language": 1 } }
(1)通用输出参数
请参考通用返回字段及错误码
(2)业务输出参数
data 字段说明
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
binary_data_base64 | Array of String | 输出换发型的图片Base64数组(单张图) |
(3)输出示例
{ "code":10000, "data":{ "binary_data_base64": ["/9xxx"],//生成图base64 }, "message":"Success", "request_id":"xxx", "status":10000, "time_elapsed":"xxx" }
(1)通用错误码
请参考通用返回字段及错误码
(2)业务错误码
http code | 错误码 | 错误信息 | 说明 |
---|---|---|---|
200 | 10000 | Success | 成功 |