You need to enable JavaScript to run this app.
导航
人像融合3.X(旧版)
最近更新时间:2024.12.19 16:43:15首次发布时间:2023.09.22 10:18:39

接口简介

较历史2.X版本增加眼镜适配(输入图有眼镜,输出图也有眼镜)、水印功能。
V3.0与输入图相似度最高,效果较好,人脸清晰度最高,性能较好。
V3.3与模板图相似度最高,与输入图妆容相似度较高,人脸清晰度一般,性能一般。
支持对模版图和素材图中的人像进行图片融合操作,返回融合后的图片。

限制条件

名称

内容

图片要求

图片格式: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:签名方法
-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-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版本无此配置

return_url

可选

Boolean

输出是否返回图片链接 (链接有效期为24小时)

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

logo_text_content

String

明水印自定义内容

(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,
       "opacity": 0.3,
       "logo_text_content": "这里是明水印内容"
    }
}

输出说明

(1)通用输出参数
请参考通用返回字段及错误码
(2)业务输出参数
data 字段说明

字段

类型

说明

备注

binary_data_base64

Array of String

输出换发型的图片Base64数组(单张图)

image_urls

Array of String

输出处理过的图片url
数组(单张图)

(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

成功