本文介绍视频生产(videoenhan)类目下的视频人脸融合模板增加AddFaceVideoTemplate的语法及示例。
功能描述
视频人脸融合模板增加功能可以将已通过内容审核的包含人脸的视频,作为视频人脸融合的模板,供模板视频人脸融合功能使用。
- 您可以进入在线咨询获取在线人工帮助。
- 阿里云视觉智能开放平台视觉AI能力API接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。
接入指引
1. 注册阿里云账号:打开阿里云官网,在阿里云官网右上角,单击立即注册,按照操作提示完成账号注册。
2. 开通能力:请确保您已开通视频生产服务,若未开通服务请立即开通。
本能力仅限企业认证用户开通。更多实名认证操作信息,请参见实名认证。
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。
- 视频分辨率:大于等于320×320像素,小于等于1920×1920像素。
- 视频大小:不大于120 MB。
- URL地址不能包含中文字符。
- 同一用户最多可支持上传3000个视频模板。
- 添加多人脸视频时,单个视频出现的人物ID个数不能大于6个,如果超过6个人脸ID,则返回出现频次最高的6个人。
- 视频只支持静态(恒定)帧率视频,暂不支持动态(可变)帧率视频。
出参说明
- 添加模板过程中,系统会自动进行涉黄涉政的过滤检查,如不符合规范,则无法正确添加。
- 多人视频中如出现多张ID人脸,系统会按照多张脸出现的时长进行排序返回。
视频帧质量建议
- 要求保证图像中的人脸清晰。图像中人脸尺寸建议大于64×64像素,人脸区域建议不大于全图区域的2/3。
- 建议图像中人脸五官区域轮廓完整,无明显遮挡。人脸融合算法支持人脸偏侧一定角度,在偏侧角度不超过30度的情况下能取得更佳效果。
- 对于多人脸视频场景,系统会自动识别出整个视频中的不同人物ID,建议视频中的人物不要出现角度过大的转动以及明显遮挡的情况,否则识别出的人物ID个数可能不准确。
推荐图像示例:
不推荐图像示例:
调用步骤
该能力为异步能力,需分两步进行调用。
第一步调用AddFaceVideoTemplate接口提交任务,请求成功后,得到一个任务ID。
第二步调用GetAsyncJobResult接口查询结果,根据任务ID查询任务执行状态和结果。如果任务还在处理中,可稍等一段时间后再进行查询。
计费说明
视频人脸融合模板增加能力可免费调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | AddFaceVideoTemplate | 系统规定参数。取值:AddFaceVideoTemplate。 |
VideoURL | String | 是 | http://invi-label.oss-cn-shanghai.aliyuncs.com/labl/temp/faceswap/test_for_api/xxxx.mp4 | 视频模板的URL地址。当前仅支持上海地域的OSS链接,如何生成URL请参见文件URL处理。 |
VideoScene | String | 否 | single | 判断视频换脸场景。取值如下:
说明
|
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | F61182AE-515B-5B0A-A877-1C9AE908FF15 | 请求ID。 |
Message | String | 该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。 | 提交异步任务后的提示信息。 |
Date | Object | 返回的结果数据内容。该数据需要在异步任务执行成功后,通过调用GetAsyncJobResult接口,对其Result字段进行JSON反序列化之后得到。 |
|
TemplateId | String | 6cd509ea-54fa-4730-8e9d-c94cadcda048 | 模板ID。 |
FaceInfos | Array of faceInfos | 输入视频中存在多个人脸时,返回各人脸ID和各人脸裁剪后的图像。 |
|
TemplateFaceID | String | 7d1a2498-0f9a-42d8-bae8-c7e478188106_0 | 人脸对应的子模板ID。 |
TemplateFaceURL | String | http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/template/xhtest_7d1a2498-0f9a-42d8-bae8-c7e478188106/xhtest_7d1a2498-0f9a-42d8-bae8-c7e478188106_0.png?Expires=1686040781&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=WVYTf%2F3knRuUPXSVGVz%2FZi3Miu**** | 人脸对应的子模板ID对应的人脸图。 |
TransResult | String | http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/template/1952059581270833_308f1611-7de8-4f16-9175-f1e997caadf6-V1/1952059581270833_308f1611-7de8-4f16-9175-f1e997caadf6-V1_trans.npy?Expires=1717055504&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=zg784H1bv5hwaKPvAywp8p5Hla**** | 视频帧的人脸位置转换矩阵文件,用于辅助用户校验换脸信息。 |
查询结果
该接口为异步接口,当前并未返回真实的请求结果,您需要通过返回的RequestId调用GetAsyncJobResult接口来获取该接口的真实请求结果。详情请参见GetAsyncJobResult。
SDK参考
阿里云视觉AI视频生产类目下的视频人脸融合模板增加能力推荐使用SDK调用,支持多种编程语言,调用时请选择AI类目为视频生产(videoenhan)的SDK包,文件参数通过SDK调用可支持本地文件及任意URL,具体可参见SDK总览。
示例代码
该能力常用语言的示例代码,请参见视频人脸融合模板增加示例代码。
示例
请求示例
http(s)://videoenhan.cn-shanghai.aliyuncs.com/?Action=AddFaceVideoTemplate //更多关于访问域名(Endpoint)信息,请参见:https://help.aliyun.com/document_detail/143103.html
&VideoURL=http://invi-label.oss-cn-shanghai.aliyuncs.com/labl/temp/faceswap/test_for_api/xxxx.mp4
&VideoScene=single
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<AddFaceVideoTemplateResponse>
<RequestId>F61182AE-515B-5B0A-A877-1C9AE908FF15</RequestId>
<Message>该调用为异步调用,任务已提交成功,请以requestId的值作为jobId参数调用同类目下GetAsyncJobResult接口查询任务执行状态和结果。</Message>
</AddFaceVideoTemplateResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "F61182AE-515B-5B0A-A877-1C9AE908FF15",
"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" : "{\"TemplateId\":\"3bf2418c-7adf-4002-a9d6-2f7cf1889c0d\",\"FaceInfos\":[{\"TemplateFaceID\":\"7d1a2498-0f9a-42d8-bae8-c7e478188106_0\",\"TemplateFaceURL\":\"http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/template/xhtest_7d1a2498-0f9a-42d8-bae8-c7e478188106/xhtest_7d1a2498-0f9a-42d8-bae8-c7e478188106_0.png?Expires=1686040781&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=WVYTf%2F3knRuUPXSVGVz%2FZi3Miu****\"}"
}
}
//Result反序列化
{
"TemplateId" : "3bf2418c-7adf-4002-a9d6-2f7cf1889c0d",
"FaceInfos" : {
"TemplateFaceID" : "7d1a2498-0f9a-42d8-bae8-c7e478188106_0",
"TemplateFaceURL" : "http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/template/xhtest_7d1a2498-0f9a-42d8-bae8-c7e478188106/xhtest_7d1a2498-0f9a-42d8-bae8-c7e478188106_0.png?Expires=1686040781&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=WVYTf%2F3knRuUPXSVGVz%2FZi3Miu****",
"transResult" : "http://vibktprfx-prod-prod-aic-gd-cn-shanghai.oss-cn-shanghai.aliyuncs.com/video-face-fusion/template/1952059581270833_308f1611-7de8-4f16-9175-f1e997caadf6-V1/1952059581270833_308f1611-7de8-4f16-9175-f1e997caadf6-V1_trans.npy?Expires=1717055504&OSSAccessKeyId=LTAI4FoLmvQ9urWXgSRp****&Signature=zg784H1bv5hwaKPvAywp8p5Hla****"
}
}
错误码
关于视频人脸融合模板增加的错误码,详情请参见常见错误码。
安全声明
- 请确保上传的图片或文件来源符合相应的法律法规。
- 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。