AnimateAnyone动作模板生成模型,可基于人物运动视频提取人物动作,并生成可供AnimateAnyone视频生成模型使用的人物动作模板。本文档介绍了该模型提供的动作模板生成能力的API调用方法。
模型概览
模型名 | 模型简介 |
animate-anyone-template-gen2 | animate-anyone-template-gen2是一个人物动作模板生成模型,可基于人物运动视频提取人物动作并制作模板。 |
模型输入要求
正确示例:
符合动作模板制作要求的视频示例 | |
上传的视频中人物应全身入镜、身体无遮挡、保持人脸清晰。
人物应从画面首帧开始出现,动作连贯,一镜到底(有场景切换的视频建议拆分成多段)。
建议:画面首帧人物正面朝向镜头;避免人物运动中出现大幅弯腰、下蹲、身体蜷缩等动作。
错误示例:
身体蜷缩、遮挡 | 画面有多人 | 人物模糊 | 人物过小 (人脸不清晰) | 人物过大 (人物不完整) |
为保障模板制作效果,应避免上传视频中的任一帧画面出现上述错误情形。
当视频首帧画面出现上述错误情形时,当次提交的任务可能报错并中止。
HTTP调用接口
功能描述
用于生成人物动作模板,该模板可作AnimateAnyone 视频生成 API的输入物,以生成人物动作视频。
前提条件
已开通服务并获得API-KEY:获取API Key。
输入限制
视频格式:支持mp4、avi、mov。
视频文件不大于200MB。
视频边长不低于200,不大于2048;视频帧率≥24fps,视频编码采用H.264或H.265。
视频时长不小于2s且不大于60s。
视频长宽比介于1:3到3:1。
上传的视频文件支持HTTP链接,不支持本地路径。也可使用平台提供的文件存储API,上传本地文件并创建链接。
作业提交接口
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/aa-template-generation/
因该算法调用耗时较长,故采用异步调用的方式提交任务。
任务提交之后,系统会返回对应的作业ID,后续可通过“作业任务状态查询和结果获取接口”获取任务状态及对应结果。
入参描述
字段 | 类型 | 传参方式 | 必选 | 描述 | 示例值 |
Content-Type | String | Header | 是 | 请求类型:application/json | application/json |
Authorization | String | Header | 是 | API-Key,例如:Bearer d1**2a | Bearer d1**2a |
X-DashScope-Async | String | Header | 是 | 使用 enable,表明使用异步方式提交作业。 | enable |
model | String | Body | 是 | 指明需要调用的模型,此处用animate-anyone-template-gen2 | animate-anyone-template-gen2 |
input.video_url | String | Body | 否 | 用户上传的视频 URL,用于生成基于指定视频的动作模板。
说明 上传文件仅支持HTTP链接方式,不支持本地链接方式。 | http://aaa/bbb.mp4 |
出参描述:
字段 | 类型 | 描述 | 示例值 |
output.task_id | String | 提交异步任务的作业 id,实际作业结果需要通过异步任务查询接口获取 | a8532587-fa8c-4ef8-82be-0c46b17950d1 |
output.task_status | String | 提交异步任务后的 作业状态 | “PENDING” |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/aa-template-generation/' \
--header 'X-DashScope-Async: enable' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "animate-anyone-template-gen2",
"input": {
"video_url": "http://xxx/1.mp4"
},
"parameters": {
}
}'
响应示例
{
"output": {
"task_id": "a8532587-fa8c-4ef8-82be-0c46b17950d1",
"task_status": "PENDING"
}
"request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}
作业任务状态查询和结果获取接口
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
入参描述
字段 | 类型 | 传参方式 | 必选 | 描述 | 示例值 |
Authorization | String | Header | 是 | API-Key,例如:Bearer d1**2a。 | Bearer d1**2a |
task_id | String | Url Path | 是 | 需要查询作业的task_id。 | a8532587-fa8c-4ef8-82be-0c46b17950d1 |
出参描述
字段 | 类型 | 描述 | 示例值 |
output.task_id | String | 查询作业的 task_id | a8532587-fa8c-4ef8-82be-0c46b17950d1 |
output.task_status | String | 被查询作业的作业状态 | 任务状态: PENDING 排队中 RUNNING 处理中 SUCCEEDED 成功 FAILED 失败 UNKNOWN 作业不存在或状态未知 |
output.template_id | String | 平台输出的动作模板ID,可作为“Animate-Anyone 视频生成接口”的入参。 动作模板ID会进行权限校验,请确保使用template_id的云账号与当前生产该动作模板的云账号一致。 | AACT.xxx.xxx-xxx.xxx |
usage.template_duration | Float | 本次请求生成模板时长计量,单位:秒 | "template_duration": 10.23 |
usage.video_ratio | String | 本次请求生成视频模板的画幅类型,该值为standard | "video_ratio": "standard" |
request_id | String | 本次请求的系统唯一码 | 7574ee8f-38a3-4b1e-9280-11c33ab46e51 |
请求示例
curl -X GET \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
https://dashscope.aliyuncs.com/api/v1/tasks/<YOUR_TASK_ID>
响应示例
{
"request_id":"7574ee8f-38a3-4b1e-9280-11c33ab46e51",
"output":{
"task_id":"a8532587-fa8c-4ef8-82be-0c46b17950d1",
"task_status":"SUCCEEDED",
"template_id":"AACT.xxx.xxx-xxx.xxx"
},
"usage":{
"template_duration": 10.23,
"video_ratio": "standard"
}
}
异常响应示例:
{
"request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
"output": {
"task_id": "a8532587-fa8c-4ef8-82be-0c46b17950d1",
"task_status": "FAILED",
"code": "xxx",
"message": "xxxxxx",
}
}
状态码说明
大模型服务平台通用状态码请查阅:错误码。
本模型还有如下特定错误码:
http 返回码* | 错误码(code) | 错误信息(message) | 含义说明 |
400 | InvalidParameter | Field required: xxx | 缺少入参,或格式错误 |
400 | InvalidURL.ConnectionRefused | Connection to ${url} refused, please provide available URL | 下载被拒绝,请提供可用的url |
400 | InvalidURL.Timeout | Download ${url} timeout, please check network connection. | 下载超时,60s超时 |
400 | InvalidFile.Size | Invalid file size. The video file size must be less than 200MB, and the audio file size must be less than 15MB. | 视频文件必须小于200MB,音频文件必须小于15MB |
400 | InvalidFile.Resolution | Invalid video resolution. The height or width of video must be 200 ~ 2048. | 视频边长需介于200-2048之间 |
400 | InvalidFile.Duration | Invalid file duration. The file duration must be 2s ~ 60s. | 视频/音频文件时长需要介于2-60s之间 |
400 | InvalidFile.AspectRatio | Invalid file ratio. The file aspect ratio (height/width) must be between 3:1 and 1:3. | 视频文件长宽比需要介于3:1到1:3之间 |
400 | InvalidFile.Openerror | Invalid file, cannot open file as video. | 视频文件无法打开 |
400 | InvalidFile.Content | The first frame of input video has no human body. Please choose another clip. | 视频首帧需要有人 |
400 | InvalidFile.Content | The human is too small in the first frame of input video. Please choose another clip. | 视频首帧人物过小 |
400 | InvalidFile.Content | The human is not clear in the first frame of input video. Please choose another clip. | 视频首帧人物不清晰 |
400 | InvalidFile.FullBody | The human is not fullbody in the first frame of input video. Please choose another clip. | 视频首帧人物不完整,需露出人物全身 |