本文介绍视频生产(videoenhan)类目下的通用视频人脸融合MergeVideoFace的语法及示例。
功能描述
在获得用户授权的前提下,通用视频人脸融合能力可以将视频中检测到的最大人脸,融合进另一个人的人脸特征,达到换脸的感官效果。
通用视频人脸融合只需要输入一张带融合人脸图像与一段视频,就可以将图像人脸融合进视频中。
适用场景:
- 每次合成独立完成,无通用模板场景。
- 仅支持视频中只有一张人脸的场景。
如需使用多人场景或有固定数量的视频模板,请参见模板视频人脸融合(MergeVideoModelFace)。
为保证生成内容的安全合法,请勿使用公众人物或涉及敏感信息的图像或视频进行融合,同时,本服务也会在合成结果的左下角处添加Generated by AI的水印内容,效果如下图所示。
应用场景
- 影视后期制作:在影视后期制作时,因为某些原因需要替换演员,通过视频人脸融合技术,可利用前期拍摄素材进行处理,让前期视频素材中的人物看起来是新的演员在表演,可以为制片方节省大量的重新拍摄成本。
- 娱乐性短视频制作:用户可以将已获授权的合法视频中的人物,换成自己的人脸,生成趣味性视频。
特色优势
- 高保真、低违和效果:融合后的人脸保留了替换者人脸身份信息的视觉特征,而融入被替换者人脸中又无违和感。
- 表情肤色一致性:融合后的人脸最大限度保留被替换者的面目表情、肤色一致性。
- 支持复杂人脸角度:支持模板人脸偏侧一定角度,融合后的结果真实稳定。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通视频生产服务,若未开通服务请立即开通。
2024年7月17日之前开通该服务的用户如需调用,可通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们添加到白名单。
3. 创建AccessKey:请确保您已创建AccessKey,如果您使用的是子账号AccessKey,您需要给子账号赋予AliyunVIAPIFullAccess权限,具体操作,请参见RAM授权。
4. 在线调试(可选):您可以通过OpenAPI Explorer在线调试能力,查看完整的调用示例代码及SDK依赖信息,也可以下载完整的工程。
5. 开发接入步骤:
- 在SDK总览中选择您要接入使用的SDK语言。
- 在对应语言的SDK文档中找到AI类目为视频生产(videoenhan)类目的SDK包进行安装。
- 参考文档中提供的示例代码进行适当修改后调用。
6. 示例代码:该能力常用语言的示例代码,请参见视频人脸融合示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
7. 客户端直接调用:该能力常用的客户端调用方式包括以下几种。
输入限制
- 视频类型:MP4、AVI、MKV、MOV、FLV、TS、MPG。
- 视频分辨率:大于360×360像素,小于1920×1920像素。
- 视频大小:不大于120 MB。
- 图像格式:JPEG、JPG、PNG。
- 图像分辨率:大于等于128×128像素,小于等于4000×4000像素。
- 图像大小:不大于20 MB。
- URL地址不能包含中文字符。
- 视频只支持静态(恒定)帧率视频,暂不支持动态(可变)帧率视频。
- 视频时长不大于300s,大于300s的视频请调用模板视频人脸融合接口。
图像质量建议
- 要求保证图像中的人脸清晰。图像中人脸尺寸建议大于64×64像素,人脸区域建议不大于全图区域的2/3。
- 建议图像中人脸五官区域轮廓完整,无明显遮挡。人脸融合算法支持人脸偏侧一定角度,在偏侧角度不超过30度的情况下能取得更佳效果。
- 建议待融合人脸的图像中只包含一张人脸,如果包含多张人脸,则默认选择图像中最大的人脸进行融合。
推荐图像示例:
不推荐图像示例:
调用步骤
该能力为异步能力,需分两步进行调用。
第一步调用MergeVideoFace接口提交任务,请求成功后,得到一个任务ID。
第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。
计费说明
关于通用视频人脸融合的计费方式及报价,请参见计费介绍。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | MergeVideoFace | 系统规定参数。取值:MergeVideoFace。 |
VideoURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace1.mp4 | 输入视频的URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 |
ReferenceURL | String | 是 | http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace-pic1.png | 替换后的人脸参考图像URL地址。推荐使用上海地域的OSS链接,对于文件在本地或者非上海地域OSS链接的情况,请参见文件URL处理。 输入限制:
|
AddWatermark | Boolean | 否 | True | 是否添加水印。取值范围如下:
|
Enhance | Boolean | 否 | False | 是否开启人脸美颜增强。取值范围如下:
|
WatermarkType | String | 否 | EN | 水印类型。取值范围如下:
|
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | DEF90E76-B62D-45EF-8835-CA3C83842B18 | 请求ID。 |
Data | Object | 返回的结果数据内容。 该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。 |
|
VideoURL | String | http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/A657011C-82B4-4705-A5DB-69B18B7CE89D.mp4?Expires=1606378308&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=Hl3cq5XedTGCscOSr0OGVxAS2o**** | 处理后的视频URL地址。 说明 该URL地址为临时地址,有效期为30分钟,过期后将无法访问。若需要长时间或者永久保存文件,请在30分钟内访问URL地址,下载文件转存到自己的OSS或者其他存储空间。 |
Message | String | 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 | 提交异步任务后的提示信息。 |
查询结果
该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult。
SDK参考
阿里云视觉AI视频生产类目下的通用视频人脸融合能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为视频生产(videoenhan)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见通用视频人脸融合示例代码,常用语言查询异步任务结果的示例代码,请参见查询异步任务结果示例代码。
示例
请求示例
http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=MergeVideoFace //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&VideoURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace1.mp4
&ReferenceURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/videoenhan/MergeVideoFace/MergeVideoFace-pic1.png
&AddWatermark=true
&Enhance=false
&WatermarkType=EN
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<MergeVideoFaceResponse>
<RequestId>DEF90E76-B62D-45EF-8835-CA3C83842B18</RequestId>
<Data>
<VideoURL>http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/A657011C-82B4-4705-A5DB-69B18B7CE89D.mp4?Expires=1606378308&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=Hl3cq5XedTGCscOSr0OGVxAS2o****</VideoURL>
</Data>
<Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</MergeVideoFaceResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "DEF90E76-B62D-45EF-8835-CA3C83842B18",
"Message" : "该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。"
}
返回示例补充说明
//查询结果:请求示例
http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=GetAsyncJobResult
&JobId=E75FE679-0303-4DD1-8252-1143B4FA8A27
&<公共请求参数>
//查询结果:返回示例
{
"RequestId" : "43A0AEB6-45F4-4138-8E89-E1A5D63200E3",
"Data" : {
"Status" : "PROCESS_SUCCESS",
"JobId" : "186AC396-0EEC-46F1-AAA1-BF3585227427",
"Result" : "{\"VideoURL\":\"http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/A657011C-82B4-4705-A5DB-69B18B7CE89D.mp4?Expires=1606378308&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=Hl3cq5XedTGCscOSr0OGVxAS2o****\"}"
}
}
//Result反序列化
{
"VideoURL" : "http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/A657011C-82B4-4705-A5DB-69B18B7CE89D.mp4?Expires=1606378308&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=Hl3cq5XedTGCscOSr0OGVxAS2o****"
}
错误码
关于视频人脸融合的错误码,详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。