前言
在社交互动、营销 H5、短视频创作、表情包工具类产品中,经常需要实现多张人脸之间平滑过渡的动态特效。如果依靠剪辑软件手动制作渐变动画,操作繁琐,开发成本高,很难做到人脸五官自然过渡;自研人像渐变算法,需要人脸关键点检测、图像形变、帧合成等多模块协同,技术门槛高,调优周期漫长。人像渐变接口采用异步任务模式,上传多张人脸照片,即可自动生成人脸平滑过渡的 GIF 动图或者短视频素材,快速落地趣味人像动态特效玩法。
核心能力
- 支持传入 2‑5 张人脸图片,自动识别人脸关键点,生成人脸之间平滑过渡的 GIF 动图或者短视频文件;
- 采用异步任务处理模式,规避大体积特效渲染带来的请求超时;
- 可自定义视频帧率、画面播放速度,灵活控制渐变动画快慢节奏,适配不同业务的输出效果需求;
- 优先选取图片中面积最大的人脸做渐变运算,适配日常实拍人像照片,过渡画面流畅自然,减少画面撕裂、五官错位问题;
- 输出可直接用于线上分发的动图、视频资源,无需额外二次剪辑,方便业务直接展示、下载、分享。
发起任务
根据传入的图片、视频类型等参数创建任务,获取jobId参数
请求样例
json
{
"urls": [//图片的url。
"https://xxx.jpg",
"https://xxx.jpg",
"https://xxx.jpg"
],
"images": [//图片的base64。
"xxxxxx",
"xxxxxx",
"xxxxx"
],
"gradientInfos": [//可调整每张图片的展示时长、人像渐变的最长时间
{
"tempo": "0.9F",//图片的展示时长,即单张图片静止不变的时间。GIF默认每张图片0.7s,视频默认每张图片0.5s。最大取值1s。
"morphTime": "0.9F" //人像渐变的最长时间,即单张图片使用渐变特效的时间。 GIF默认值为0.5s,视频默值认为1s。最大取值1s。
}
],
"fps": "12",//视频帧率,取值[1,25]。默认10
"outputWidth": "1280",//视频宽度,取值[128,1280]。默认值720
"outputHeight": "1280" //视频高度,取值[128,1280]。默认值1280
}
注意
- urls、images必须提供一个,优先url。
- jpg格式长边像素不可超过4000,其他格式图片长边像素不可超2000。
- 人员人脸总数量至少2张,不可超过5张。
戳这里查看详情
返回样例
json
{
"code": 200,//返回码,详见返回码说明
"msg": "成功",//返回码对应描述
"taskNo": "340419447206566228602625",//本次请求号
"data": {
"jobId": "1220203056839442432",//任务的jobId
"estimatedProcessTime": 30 //预估处理时间,单位秒
}
}
查询结果
请求说明
| 名称 | 类型 | 必须 | 说明 |
|---|---|---|---|
| jobId | String | 是 | 任务id,任务发起接口返回 |
返回样例
json
{
"code": 200,//返回code
"msg": "成功",//code对应的说明描述
"taskNo": "291798783211648226804924", //本次请求号
"data": {
"imgUrl": "https://xxx.mp4",//结果url,有效期10天。建议自行下载保存,避免丢失
"jobStatus": "处理完成",//当前任务状态:排队中、处理中、处理失败或者处理完成
"coverImage": "",//封面图base64字符串
"jobStatusCode": "7",//当前任务状态码:1:排队中、3: 处理中、5: 处理失败、7:处理完成。
"md5": "05ADF41E9162CA13DD239C5F2595BDAB" //人像渐变输出的结果MD5,用于校验
}
}