You need to enable JavaScript to run this app.
导航

调用方式(历史版本,逐步废弃)

最近更新时间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-Typeapplication/x-www-form-urlencoded

请求参数

(1)header请求参数
公共请求参数
以下请求参数列表仅列出了接口请求参数和必要公共参数,完整公共参数列表见 公共参数

名称类型是否必填描述
X-DateString使用UTC时间,精确到秒。请使用格式:YYYYMMDD'T'HHMMSS'Z' ,例如:20201103T104027Z

Authorization

String

HMAC-SHA256:签名方法
-Credential为签名凭证,其中:
-AccessKeyId为访问密钥ID,可在 访问密钥(Access Key) 获取;
-ShortDate为请求的短时间,使用UTC时间,精确到日。请使用格式:YYYYMMDD,例如:20180201
-Region为请求地区,国内一般为为cn-north-1
-Service为请求的服务,一般为cv
-SignedHeaders为参与签名计算的头部信息,content-typehost 为必选头部;
-Signature为签名,可在 签名方法 获取。
注:我们提供了SDK及签名示例供您实现服务快速接入,具体可参考 快速接入
例如:HMAC-SHA256 Credential={AccessKeyId}/{ShortDate}/{Region}/{Service}/request, SignedHeaders={SignedHeaders}, Signature={Signature}

X-Security-TokenString指安全令牌服务(Security Token Service,STS) 颁发的临时安全凭证中的SessionToken,使用长期密钥时无需填写该参数。

(2)Query请求参数
业务请求参数

参数可选/必选类型说明
Action必选String接口名,取值:FaceSwap
Version必选String版本号,取值:2020-08-26

(3)Body参数
业务请求参数

参数可选/必选类型说明备注
image_base64必选(与image_url二选一,优先image_base64String图片文件,base64编码2.1版本无需此参数
image_url必选(与image_base64二选一,优先image_base64String图片文件URL2.1版本无需此参数
template_base64必选(与template_url二选一,优先template_base64String模版文件,base64编码
template_url必选(与template_base64二选一,优先template_base64String模版文件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_base64String必选(与image_url二选一,优先image_base64)目标图片文件,base64编码
image_urlString必选(与image_base64二选一,优先image_base64)目标图片文件URL
locationInt指定目标图中进行人脸融合的人脸位置序号,从1开始,不指定时则默认使用最大的人脸type为l2r时,此参数为2代表目标图从左往右的第二张人脸
template_locationInt指定模板图中进行人脸融合的人脸位置序号,从1开始,不指定时则默认使用最大的人脸type为l2r时,此参数为2代表模板图从左往右的第二张人脸

输出说明

(1)通用输出参数

请参考通用返回字段及错误码

(2)业务输出参数

data 字段说明

字段类型说明备注
imagestring变换后的图像,返回图片的Base64编码

(3)输出示例

{
    "code":10000,
    "data":{
        "image": "",
    },
    "message":"Success",
    "request_id":"6838889517957515275",
    "time_elapsed":"41.897331ms"
}

错误码

(1)通用错误码

请参考通用返回字段及错误码

(2)业务错误码

HttpCode错误码错误消息描述
20010000请求成功
40060103"Missing Input Parameters: empty input image"输入图片为空
40060201"Invalid Input Image: get input image error"图像解析错误
40060203"Missing Input Parameters: empty input template"输入模版图片为空
40060204"Invalid Input Image: no face detected in image"未检测到人脸
40060102"Invalid Input Image: no face detected in image"未检测到人脸
40060208"Invalid Input Image: input image contain sensitive contents"上传图片包含敏感信息
40060209"FaceSwap error: {error message}"人脸融合错误,具体见错误信息