图生视频
图生视频简单来说,就是让一张静止的图片“动起来”,变成一段视频。MaaS支持模型以及相关参数,请参见支持模型。
支持模型
| 模型名称 | 版本 | Model参数 | 支持输入类型 | 支持输出类型 | 最大输入长度 | 支持输入图片格式 | 支持帧率 | 支持分辨率 | 生成视频时长 | 调用方式 | 默认限流 | 支持地域 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wan2.2-I2V-A14B | 20250912 | Wan2.2-I2V-A14B | 文本、图片 | 视频 | 文本:1000字符 图片:8MB(Base64编码) | jpg、png、webp、jpeg、bmp | 16、24、30(默认16) | 480P、720P | 3s、5s(默认5s) | V1视频生成API | RPM: 60 | 西南-贵阳一 |
| 模型系列 | 模型名称 | 版本 | model参数 | 支持输入类型 | 支持输出类型 | 最大输入长度 | 支持帧率(fps) | 输出视频最高分辨率 | 输出最大视频时长 | 默认限流 | 支持地域 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 生数科技 | ViduQ3-Pro IT2V | 20260127 | vidu/viduq3-pro_img2video | 文本、图片 | 视频 | 文本:5000 字符 图片:50 MB(Base64编码) | 24 | 1080p | 16s | RPM: 300 | 西南-贵阳一 |
| ViduQ3-Turbo IT2V | 20260211 | vidu/viduq3-turbo_img2video | 文本、图片 | 视频 | 文本:5000 字符 图片:50 MB(Base64编码) | 24 | 1080p | 16s | RPM: 300 |
前提条件
- 已在页签开通预置服务。详情请见开通MaaS预置服务。
- (可选)如果需要控制服务调用流量,可提前创建自定义接入点,详情请参见MaaS创建自定义接入点。
- 已获取API Key。详情请见在MaaS管理API Key。
- 已获取模型服务的model参数值。详情请见支持模型。
使用限制
- 任务数据(如任务状态、视频URL等)仅保留24小时,超时后会被自动清除。请您务必及时保存生成的视频。
- 不同模型的限制值不同,具体限制值请以MaaS控制台“在线推理>预置服务”页面的模型限流列为准 。
- TPM:每分钟处理的Tokens数(输入+输出)。
- RPM:每分钟处理的请求数。
API说明
模型调用的完整参数列表请见生数科技创建图生视频任务。
创建图生视频(通义万相)
此处以使用Wan2.2-I2V-A14B模型通过Python脚本和Curl命令生成视频为例,展示图片生成视频的基本用法。
1. 创建视频生成任务。
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", # 参照输入输出示例,填写相应的分辨率。
"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) 响应示例
{
"task_id": "e0cc914f-66bb-402a-912b-990fa1e4ab42",
} 请将示例中的“$BASE64_IMAGE”替换为实际的Base64。
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
}
}' 响应示例
{
"task_id": "e0cc914f-66bb-402a-912b-990fa1e4ab42",
} 2. 根据视频生成任务id获取视频。
视频生成为异步接口,您需要先创建视频生成任务,再通过视频生成任务的ID去查询视频生成结果。视频生成过程耗时较长,查询结果时请您耐心等待。
import requests
import json
if __name__ == '__main__':
url = "https://api.modelarts-maas.com/v1/video/generations/task_id" # API地址。请将task_id替换为实际的ID,您可以通过创建视频生成任务API获取。
api_key = "MAAS_API_KEY" # 把yourApiKey替换成已获取的API Key
# Send request.
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
response = requests.get(url, headers=headers, verify=False)
# Print result.
print(response.status_code)
print(response.text) {
"task_id": "330b74a382a6d42044f146f389cd698e",
"status": "succeeded",
"error": {
"code": 0,
"message": ""
},
"content": {
"result_url": "https://example.com/example.mp4"
},
"usage": {
"model_latency": 43564,
"completion_tokens": 124800,
"prompt_tokens": 0,
"total_tokens": 124800
},
"created_at": 1751894112234,
"updated_at": 1751894156753
} curl -X GET 'https://api.modelarts-maas.com/v1/video/generations/task_id' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY"
{
"task_id": "330b74a382a6d42044f146f389cd698e",
"status": "succeeded",
"error": {
"code": 0,
"message": ""
},
"content": {
"result_url": "https://example.com/example.mp4"
},
"usage": {
"model_latency": 43564,
"completion_tokens": 124800,
"prompt_tokens": 0,
"total_tokens": 124800
},
"created_at": 1751894112234,
"updated_at": 1751894156753
} 创建图生视频(生数科技)
此处以使用ViduQ3-Turbo IT2V模型通过Python脚本和Curl命令生成视频为例,展示图片生成视频的基本用法。
1. 创建视频生成任务。
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": "vidu/viduq3-turbo_img2video",
"input": {
"prompt": "小猫在散步",
"media": [
{
"type": "image_url",
"url": "https://example.com/image.jpeg"
}
]
},
"parameters": {
"size": "720*1280",
"duration": 5,
"audio": True,
"shot_type": "single"
}
}
response = requests.post(url, headers=headers, data=json.dumps(data), verify=False)
# Print result.
print(response.status_code)
print(response.text) 响应示例
{
"task_id": "962939796957712384",
} curl -X POST "https://api.modelarts-maas.com/v1/video/generations" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MAAS_API_KEY" \
-d ' {
"model": "vidu/viduq3-turbo_img2video",
"input": {
"prompt": "小猫在散步",
"media": [
{
"type": "image_url",
"url": "https://example.com/image.jpeg"
}
]
},
"parameters": {
"size": "720*1280",
"duration": 5,
"audio": true,
"shot_type": "single"
}
}' 响应示例
{
"task_id": "962939796957712384",
} 2. 根据视频生成任务id获取视频。
视频生成为异步接口,您需要先创建视频生成任务,再通过视频生成任务的ID去查询视频生成结果。视频生成过程耗时较长,查询结果时请您耐心等待。
import requests
import json
if __name__ == '__main__':
url = "https://api.modelarts-maas.com/v1/video/generations/task_id" # API地址。请将task_id替换为实际的ID,您可以通过创建视频生成任务API获取。
api_key = "MAAS_API_KEY" # 把yourApiKey替换成已获取的API Key
# Send request.
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
response = requests.get(url, headers=headers, verify=False)
# Print result.
print(response.status_code)
print(response.text) {
"task_id" : "962939796957712384",
"status" : "succeeded",
"error" : null,
"content" : {
"result_url" : "https://example.com/example.mp4"
},
"usage" : {
"duration" : 5,
"size" : "720*1280",
"audio" : true,
"shot_type" : "single"
},
"created_at" : 1780281309530,
"updated_at" : 1780281338634
} curl -X GET 'https://api.modelarts-maas.com/v1/video/generations/task_id' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $MAAS_API_KEY"
{
"task_id" : "962939796957712384",
"status" : "succeeded",
"error" : null,
"content" : {
"result_url" : "https://example.com/example.mp4"
},
"usage" : {
"duration" : 5,
"size" : "720*1280",
"audio" : true,
"shot_type" : "single"
},
"created_at" : 1780281309530,
"updated_at" : 1780281338634
}
