请求参数 请求头(Headers) Content-Typestring(必选)请求内容类型。此参数必须设置为application/json。Authorizationstring(必选)请求身份认证。接口使用阿里云百炼API Key进行身份认证。示例值:Bearer sk-xxxx。X-DashScope-Asyncstring(必选)异步处理配置参数。HTTP请求只支持异步,必须设置为enable。缺少此请求头将报错:“current user api does not support synchronous calls”。 请求体(Request Body) model string (必选)模型名称。可选值为:
vidu/viduq3-ad_reference2video
vidu/viduq3-drama_reference2video
vidu/viduq3-mix_reference2video
vidu/viduq3_reference2video
vidu/viduq3-turbo_reference2video
vidu/viduq2-pro_reference2video
vidu/viduq2_reference2video
- 广告视频:推荐 viduq3-ad,面向广告行业,支持营销级智能切镜、运镜和音效直出,上传商品图即可生成广告视频。
- 精品剧 / AI 漫剧:推荐 viduq3-drama,角色一致性强、动效细腻、情绪表达真实,适合剧情向内容生产。
- 通用场景:推荐 viduq3-mix,画面质感与动态效果均衡,适合大多数参考生视频需求。
- 追求速度与性价比:推荐 viduq3-turbo,生成速度最快。
input object (必选)输入的基本信息,包括参考图片和提示词。
prompt string (必选)文本提示词。用来描述生成视频中期望包含的元素和视觉特点。支持中英文,不超过 5000 个字符,超过部分会自动截断。示例值:男人坐在靠窗的椅子上,手持吉他,在咖啡厅旁演奏一首舒缓的美国乡村民谣。提示词编写请参见Vidu视频生成Prompt指南。media array (必选)媒体素材列表,用于指定视频生成所需的参考图像。数组的每个元素为一个媒体对象,包含 type和 url 字段。
type string (必选)媒体素材类型。可选值与模型有关:
支持模型:vidu/viduq3-ad_reference2video、vidu/viduq3-drama_reference2video、vidu/viduq3-mix_reference2video、vidu/viduq3_reference2video、vidu/viduq3-turbo_reference2video、vidu/viduq2_reference2video固定为:素材限制:图像数量为1~7张。
支持模型:vidu/viduq2-pro_reference2video可选值为:
image:参考图像。必选。
video:参考视频。可选。
素材限制:
-
仅参考图像:图像数量为1~7张。
-
参考图像和视频:
url string (必选)媒体素材URL。素材包括图像、视频。
参考图像URL,必须为公网可访问的 URL。图像限制:
- 格式:JPEG、JPG、PNG、WEBP。
- 宽高比:1:4~4:1。
- 文件大小:不超过 50MB。
参考视频URL,必须为公网可访问的 URL。视频限制:
- 格式:mp4、avi、mov。
- 分辨率:总像素值不小于128*128。
- 宽高比:1:4~4:1。
- 时长:传入1个参考视频时为1~8秒;传入2个参考视频时各为1~5秒。
- 文件大小:不超过 50MB。
parameters object (必选)视频生成参数。如设置视频分辨率、时长等。
resolution string (可选)resolution直接影响费用,请在调用前确认模型价格。 生成视频的分辨率。可选值与模型有关:
- vidu/viduq3-ad_reference2video:可选720P、1080P。默认值为720P。
- vidu/viduq3-drama_reference2video:可选720P、1080P。默认值为1080P。
- vidu/viduq3-mix_reference2video:可选720P、1080P。默认值为720P。
- vidu/viduq3_reference2video:可选540P、720P、1080P。默认值为720P。
- vidu/viduq3-turbo_reference2video:可选540P、720P、1080P。默认值为720P。
- vidu/viduq2-pro_reference2video:可选540P、720P、1080P。默认值为720P。
- vidu/viduq2_reference2video:可选540P、720P、1080P。默认值为720P。
size string (可选)生成视频的分辨率,格式为宽*高的像素值。默认值根据resolution而定:
- 当 resolution=540P 时,size 默认为
1024*576。
- 当 resolution=720P 时,size 默认为
1280*720。
- 当 resolution=1080P 时,size 默认为
1920*1080。
各模型支持的宽高比有所不同:
- vidu/viduq3-drama_reference2video:仅支持 16:9 和 9:16。
- 其他模型:支持 16:9、4:3、1:1、3:4、9:16。
分辨率档位 | 宽高比 | size 取值(宽*高) | 540P | 16:9 | 1024*576 | 4:3 | 1024*768 | 1:1 | 1024*1024 | 3:4 | 768*1024 | 9:16 | 576*1024 | 720P | 16:9 | 1280*720 | 4:3 | 1280*960 | 1:1 | 1280*1280 | 3:4 | 960*1280 | 9:16 | 720*1280 | 1080P | 16:9 | 1920*1080 | 4:3 | 1920*1440 | 1:1 | 1808*1808 | 3:4 | 1440*1920 | 9:16 | 1080*1920 | duration integer (必选)duration直接影响费用,按秒计费,请在调用前确认模型价格。 生成视频的时长,单位为秒。
-
vidu/viduq3-ad_reference2video:取值为[3, 15]之间的整数。默认值为
5。
-
vidu/viduq3-drama_reference2video:取值为[2, 15]之间的整数。默认值为
5。
- 当分镜数量过多或明显少于duration时,模型可能自动调整时长以保障故事完整性,实际视频时长可能多于或少于duration设定值。
- 计费按实际输出时长计算。
-
vidu/viduq3-mix_reference2video:取值为[1, 16]之间的整数。默认值为
5。
-
vidu/viduq3_reference2video:取值为[1, 16]之间的整数。默认值为
5。
-
vidu/viduq3-turbo_reference2video:取值为[1, 16]之间的整数。默认值为
5。
-
vidu/viduq2-pro_reference2video:取值为[1, 10]之间的整数。默认值为
5。
-
特殊设置:支持设置为0,表示自动规划时长,上限不超过 10 秒。
- 若上传 1 个参考视频:生成视频时长通常等于该参考视频时长。
- 若上传 2 个参考视频:模型结合提示词,生成视频时长通常等于”主要参考视频”的时长。
-
vidu/viduq2_reference2video:取值为[1, 10]之间的整数。默认值为
5。
audio boolean (可选)支持模型:vidu/viduq3-ad_reference2video、vidu/viduq3-mix_reference2video、vidu/viduq3_reference2video、vidu/viduq3-turbo_reference2video。是否生成有声视频。开启后模型将根据视频内容自动生成匹配的背景音乐或音效。
false:默认值,输出无声视频。
true:输出有声视频。
vidu/viduq3-drama_reference2video 不支持该参数,默认输出有声视频。 watermark boolean (可选)是否添加水印标识,水印位于视频右下角,文案固定为“内容由AI生成”。
false:默认值,不添加水印。
true:添加水印。
seedinteger(可选)随机数种子,取值范围为[0, 2147483647]。未指定时,系统自动生成随机种子。若需提升生成结果的可复现性,建议固定seed值。请注意,由于模型生成具有概率性,即使使用相同 seed,也不能保证每次生成结果完全一致。示例值:12345。 | 支持模型:vidu/viduq3-ad_reference2video。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-ad_reference2video",
"input": {
"media": [
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/dtnctw/ad-1.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/bspdpd/ad-2.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/mhsjyy/ad-3.png"
}
],
"prompt": "一个瑜伽裤的广告。商品是一条左右各有一个口袋的黑色高腰瑜伽裤。亚洲模特开心地说"我现在再也不穿没有口袋的瑜伽裤了"。画面保持清晰、稳定、容易理解。"
},
"parameters": {
"duration": 8,
"size": "1080*1920",
"resolution": "1080P",
"watermark": true
}
}'
from 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/20260713/dtnctw/ad-1.png'}, {'type': 'image', 'url': 'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/bspdpd/ad-2.png'}, {'type': 'image', 'url': 'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/mhsjyy/ad-3.png'}]
def sample_async_call():
# 异步提交视频生成任务
rsp = VideoSynthesis.async_call(api_key=api_key,
model='vidu/viduq3-ad_reference2video',
prompt='一个瑜伽裤的广告。商品是一条左右各有一个口袋的黑色高腰瑜伽裤。亚洲模特开心地说"我现在再也不穿没有口袋的瑜伽裤了"。画面保持清晰、稳定、容易理解。',
media=media,
size='1080*1920',
resolution='1080P',
duration=8,
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()
支持模型:vidu/viduq3-drama_reference2video。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-drama_reference2video",
"input": {
"media": [
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/eelcsu/daram-1.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/adglrn/drama-2.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/fmofkp/drama-3.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260713/mktdht/drama-4.png"
}
],
"prompt": "酒店宴会厅,王桂兰(图3)(在画面右侧,坐在席位上)苏文博(图1)、许向暖(图2)(在画面左侧远处,敬酒中)。婚礼现场座无虚席,坐满宾客。苏文博的母亲王桂兰坐在席位上,眉头紧紧皱起,面露不满。镜头固定,捕捉她皱眉的表情。镜头推进王桂兰面部,她眼神阴沉,嘴角下撇,带着嫌弃和不满。强调她的不悦。"
},
"parameters": {
"duration": 9,
"size": "1080*1920",
"resolution": "1080P",
"watermark": true
}
}'
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-mix_reference2video",
"input": {
"media": [
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260320/knsple/wan-r2v-role-frame.jpg"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
}
],
"prompt": "男人坐在靠窗的椅子上,手持吉他,在咖啡厅旁演奏一首舒缓的美国乡村民谣"
},
"parameters": {
"duration": 5,
"size": "1280*720",
"resolution": "720P",
"watermark": true
}
}'
支持模型:vidu/viduq2-pro_reference2video。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/viduq2-pro_reference2video",
"input": {
"media": [
{
"type": "video",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qigswt/wan-r2v-role2.mp4"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/qpzxps/wan-r2v-object4.png"
},
{
"type": "image",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260129/wfjikw/wan-r2v-backgroud5.png"
}
],
"prompt": "男人坐在靠窗的椅子上,手持吉他,在咖啡厅旁演奏一首舒缓的美国乡村民谣"
},
"parameters": {
"duration": 5,
"size": "1280*720",
"resolution": "720P",
"watermark": true
}
}'
|