请求参数 请求头(Headers) Content-Typestring(必选) 请求内容类型。此参数必须设置为application/json。 Content-Typestring(必选) 请求内容类型。此参数必须设置为application/json。 X-DashScope-Asyncstring(必选) 异步处理配置参数。HTTP请求只支持异步,必须设置为enable。 重要缺少此请求头将报错:“current user api does not support synchronous calls”。 请求体(Request Body) model string (必选) 模型名称。可选值为:
vidu/viduq3-pro-fast_img2video
vidu/viduq3-pro_img2video
vidu/viduq3-turbo_img2video
vidu/viduq2-pro-fast_img2video
vidu/viduq2-pro_img2video
vidu/viduq2-turbo_img2video
input object (必选) 输入的基本信息,如提示词、媒体素材等。 属性 prompt string (可选) 文本提示词。用来描述生成视频中期望包含的元素和视觉特点。 支持中英文,每个汉字/字母占一个字符,字符长度不能超过 5000 个字符,超过部分会自动截断。 提示词编写请参见Vidu视频生成Prompt指南。 media array (必选) 媒体素材列表,用于指定图生视频所需的图像。 数组的每个元素为一个媒体对象,包含 type 与 url 字段。 属性 type string (必选) 媒体素材类型。固定值为: 素材限制:图像素材有且只有1张。 url string (必选) 图像文件的URL地址,必须为公网可访问的URL。 图像限制:
- 格式:JPG、JPEG、PNG、WEBP。
- 宽高比:1:4~4:1。
- 文件大小:不超过50MB。
parameters object (可选) 视频处理参数,如设置视频分辨率、设置视频时长等。 属性 resolution string (可选) 重要resolution直接影响费用,请在调用前确认模型价格。 指定生成的视频分辨率档位。 模型根据选择的分辨率档位,自动缩放至相近总像素,视频宽高比将尽量接近输入图像的宽高比。
- vidu/viduq3-pro-fast_img2video:可选值:720P、1080P。默认值为
720P。
- vidu/viduq3-pro_img2video:可选值:540P、720P、1080P。默认值为
720P。
- vidu/viduq3-turbo_img2video:可选值:540P、720P、1080P。默认值为
720P。
- vidu/viduq2-pro-fast_img2video:可选值:720P、1080P。默认值为
720P。
- vidu/viduq2-pro_img2video:可选值:540P、720P、1080P。默认值为
720P。
- vidu/viduq2-turbo_img2video:可选值:540P、720P、1080P。默认值为
720P。
duration integer (可选) 重要duration直接影响费用,按秒计费,时间越长费用越高,请在调用前确认模型价格。 生成视频的时长,单位为秒。
- vidu/viduq3-pro-fast_img2video:取值为[1, 16]之间的整数,默认值为5。
- vidu/viduq3-pro_img2video:取值为[1, 16]之间的整数,默认值为5。
- vidu/viduq3-turbo_img2video:取值为[1, 16]之间的整数,默认值为5。
- vidu/viduq2-pro-fast_img2video:取值为[1, 10]之间的整数,默认值为5。
- vidu/viduq2-pro_img2video:取值为[1, 10]之间的整数,默认值为5。
- vidu/viduq2-turbo_img2video:取值为[1, 10]之间的整数,默认值为5。
audio boolean (可选) 支持模型:vidu/viduq3-pro-fast_img2video、vidu/viduq3-pro_img2video、vidu/viduq3-turbo_img2video。 是否生成有声视频。开启后模型将根据视频内容自动生成匹配的背景音乐或音效。
false:默认值,输出无声视频。
true:输出有声视频。
watermark boolean (可选) 是否添加水印标识,水印位于视频右下角,文案固定为“内容由AI生成”。
false:默认值,不添加水印。
true:添加水印。
seedinteger(可选) 随机数种子,取值范围为[0, 2147483647]。 未指定时,系统自动生成随机种子。若需提升生成结果的可复现性,建议固定seed值。 请注意,由于模型生成具有概率性,即使使用相同 seed,也不能保证每次生成结果完全一致。 | 图生视频调用时请将{WorkspaceId}替换为真实的业务空间ID。 curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "vidu/viduq3-pro-fast_img2video",
"input": {
"media": [
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp"
}
],
"prompt": "镜头从海龟下方缓缓上移,海龟悠然游动,腹部细节清晰可见。"
},
"parameters": {
"duration": 5,
"resolution": "720P",
"watermark": true
}
}'
Python SDKfrom http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx"
# 获取API Key:https://help.aliyun.com/zh/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
media = [{'type': 'image', 'url': 'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp'}]
def sample_async_call():
# 异步提交视频生成任务
rsp = VideoSynthesis.async_call(api_key=api_key,
model='vidu/viduq3-pro-fast_img2video',
media=media,
prompt='镜头从海龟下方缓缓上移,海龟悠然游动,腹部细节清晰可见。',
duration=5,
resolution='720P',
watermark=True)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print("task_id: %s" % rsp.output.task_id)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
# 查询任务状态
status = VideoSynthesis.fetch(task=rsp, api_key=api_key)
if status.status_code == HTTPStatus.OK:
print(status.output.task_status)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(status.status_code, status.code, status.message))
# 等待任务完成
rsp = VideoSynthesis.wait(task=rsp, api_key=api_key)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_async_call()
|