创建视频生成任务
功能介绍
创建视频生成任务API用于根据用户的输入信息,如文本提示词、图片等,结合指定的模型及视频处理参数,生成相应的视频片段。其业务逻辑是将用户输入的各种参数传递给后端模型进行处理,最终输出生成的视频链接。支持文生视频和图生视频。
适用平台模型(通义万相系列)。
URI
POST https://api.modelarts-maas.com/v1/video/generations
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Authorization | 是 | String | 参数描述: API Key 鉴权凭证,从 MaaS 控制台获取,调用推理API时从请求头 Authorization 字段传入,值格式为:Bearer MaaS_API_Key。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| model | 是 | String | 参数解释: 支持视频生成的模型名称。详情请参考视频生成模型。 约束限制: 不涉及。 取值范围: Wan2.2-T2V-A14B、Wan2.2-I2V-A14B。 默认取值: 不涉及。 |
| input | 是 | input object | 输入基本信息,包含提示词、媒体素材等。 |
| parameters | 是 | parameters object | 视频处理参数。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| prompt | 是 | String | 参数解释: 文本提示词,支持中英文。 约束限制: 不涉及。 取值范围: 文本最大长度为1000字符。 默认取值: 不涉及。 |
| img_url | 否 | String | 参数解释: 给模型输入的图片内容,填写图片的Base64编码内容或公网可访问的URL地址。 约束限制: 单个图片文件的大小不超过8MB,如果以Base64编码形式上传图片,需确保编码后的图片小于8MB。 取值范围: 支持的图片的格式:jpg、png、webp、jpeg、bmp。示例如下: 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| size | 是 | String | 参数解释: 生成视频的分辨率,不同模型支持的分辨率不同。 约束限制: 不涉及。 取值范围: 传入字段格式为1280X720。 生成视频的分辨率档位,当前支持如下档位: |
| fps | 否 | Integer | 参数解释: 生成视频每秒的帧数。当前只支持16、24、30。 约束限制: 不涉及。 取值范围: 16、24、30 默认取值: 16 |
| duration | 否 | Integer | 参数解释: 生成视频时长,单位秒。 约束限制: 不涉及。 取值范围: 仅支持3和5。 默认取值: 5 |
| seed | 否 | Integer | 参数解释: 随机种子,用于控制生成内容的随机性。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| task_id | String | 参数描述: 视频生成后的任务ID。 取值范围: 不涉及。 |
请求示例
-
文生视频(Wan2.2-T2V-A14B 为例)- Python
import requests import json if __name__ == '__main__': url = "https://api.modelarts-maas.com/v1/video/generations" # API地址 api_key = "MAAS_API_KEY" # 把 MAAS_API_KEY 替换成已获取的API Key # Send request. headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}' } data = { "model": "Wan2.2-T2V-A14B", # model参数 "input": { "prompt": "小猫在散步", }, "parameters": { "size": "720x1280", # 参照表5填写相应的分辨率。 "fps": 16, "duration": 5, "seed": 0 } } response = requests.post(url, headers=headers, data=json.dumps(data), verify=False) # Print result. print(response.status_code) print(response.text) -
文生视频(Wan2.2-T2V-A14B 为例)- Curl
curl -X POST "https://api.modelarts-maas.com/v1/video/generations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY" \ -d '{ "model": "Wan2.2-T2V-A14B", "input": { "prompt": "小猫在散步" }, "parameters": { "size": "720x1280", "fps": 16, "duration": 5, "seed": 0 } }' -
图生视频(Wan2.2-I2V-A14B 为例)- Python
import base64 import requests import json # Base64 编码格式 def encode_image(image_path): with open(image_path, "rb") as image_file: return base64.b64encode(image_file.read()).decode("utf-8") base64_image = encode_image(r"D:\Pictures\image.jpg") # 图片Base64编码,支持jpg、png、webp、jpeg、bmp。 if __name__ == '__main__': url = "https://api.modelarts-maas.com/v1/video/generations" # API地址 api_key = "MAAS_API_KEY" # 把MAAS_API_KEY替换成已获取的API Key # Send request. headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {api_key}' } data = { "model": "Wan2.2-I2V-A14B", # model参数 "input": { "prompt": "小猫在散步", "img_url": f"data:image/jpg;base64,{base64_image}" # 支持填写图片的Base64编码后的内容或公网可访问的URL地址,支持jpg、png、webp、jpeg、bmp。 }, "parameters": { "size": "720x1280", # 参照表5,填写相应的分辨率。 "fps": 16, "duration": 5, "seed": 0 } } response = requests.post(url, headers=headers, data=json.dumps(data), verify=False) # Print result. print(response.status_code) print(response.text) -
图生视频(Wan2.2-I2V-A14B 为例)- Curl
curl -X POST "https://api.modelarts-maas.com/v1/video/generations" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY" \ -d '{ "model": "Wan2.2-I2V-A14B", "input": { "prompt": "小猫在散步", "img_url": "data:image/jpg;base64,$BASE64_IMAGE" }, "parameters": { "size": "720x1280", "fps": 16, "duration": 5, "seed": 0 } }'
响应示例
状态码:200
视频生成任务创建成功。
{
"task_id" : "cbd1a918b23c7e9bcfac1d428718dca1"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | 视频生成任务创建成功。 |
错误码
请参见错误码。