Vidu 视频生成

文生视频、参考生视频、图生视频及任务查询

1. 概述

Vidu 视频生成采用异步任务模式:先创建任务获得 JobId,再调用对应查询接口获取状态和视频地址。

  • baseUrl:https://token.soar.qjclouds.cn/laserEr/00000000/v1
  • completionsPath:/video/generations/{apiType}
  • 标准地址:POST {baseUrl}{completionsPath}
  • 创建任务:POST {baseUrl}/video/generations/{apiType}
  • 查询任务:POST {baseUrl}/video/resource-actions/{apiType}
  • 示例模型:viduq3-turbo-cn

2. 鉴权

请求 Header 中需携带平台生成的 API Key:

HTTP
Authorization: Bearer <api_key>
Content-Type: application/json
Accept: application/json

3. 文生视频

3.1 创建任务

  • 创建任务:POST {baseUrl}/video/generations/{apiType}
  • 示例模型:viduq3-turbo-cn
  • apiType:TextToVideo

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/TextToVideo

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
Prompt string 是 文本提示词
生成视频的文本描述。
注:字符长度不能超过 2000 个字符
示例值:圣诞老人与熊在湖边相拥。
Model string 是 模型名称
Style string 否 默认 general,可选值:general、anime
general:通用风格,可以通过提示词来控制风格
anime:动漫风格,仅在动漫风格表现突出,可以通过不同的动漫风格提示词来控制
注:使用q2、q3系列模型时该参数不生效
Duration integer 否 视频时长参数
●viduq3-pro、viduq3-turbo: 默认5秒,可选:1-16
●viduq2 : 默认5秒,可选:1-10
MovementAmplitude string 否 运动幅度
默认 auto,可选值:auto、small、medium、large
注:使用q2、q3系列模型时该参数不生效
Bgm boolean 否 是否添加背景音乐
默认:false,可选值 true 、false
●传 true 时系统将从预设 BGM 库中自动挑选合适的音乐并添加;不传或为 false 则不添加 BGM。BGM不限制时长,系统根据视频时长自动适配
●BGM参数在q2模型的duration为 9秒 或 10秒 时不生效;该参数在q3系列模型中不生效
Audio boolean 否 是否使用音视频直出能力
默认为true,枚举值为:
- false:不需要音视频直出,输出静音视频
- true:需要音画同步,输出声音的视频(包括台词和音效)
注1:仅q3系列模型支持该参数
AspectRatio string 否 比例
默认 16:9,可选值如下:16:9、9:16、4:3、3:4、1:1
示例值:16:9
Resolution string 否 分辨率参数
●viduq3-pro、viduq3-turbo(1-16秒):默认 720p,可选:540p、720p、1080p
●viduq2(1-10秒):默认 720p,可选:540p、720p、1080p
LogoAdd integer 否 添加显式水印标识的开关
默认为1。
1:添加。
0:不添加。
其他数值:默认按1处理。
LogoParam object 否 标识内容设置
默认在生成视频的右下角添加“视频由 AI 生成”字样,您可根据自身需要替换为其他的标识图片,具体参考:
https://cloud.tencent.com/document/api/1616/107808#LogoParam
Payload string 否 透传参数
不做任何处理,仅数据传输 注:最多 1048576个字符
MetaData object 否 元数据标识,json格式字符串,透传字段
您可以 自定义格式 或使用 示例格式 ,示例如下:
{
"Label": "your_label",
"ContentProducer": "your_content_producer",
"ContentPropagator": "your_content_propagator",
"ProduceID": "your_product_id",
"PropagateID": "your_propagate_id",
"ReservedCode1": "your_reserved_code1",
"ReservedCode2": "your_reserved_code2"
}
该参数为空时,默认使用vidu生成的元数据标识

响应状态

HTTP 状态码 说明
200 OK

成功响应参数

字段 类型 必填 说明
Response object 否
Response.JobId string 否 任务id
Response.RequestId string 否 请求id

请求示例

JSON
{
  "model": "viduq3-turbo-cn",
  "prompt": "笑一下",
  "style": "general",
  "duration": 5,
  "aspectRatio": "16:9"
}

响应示例

JSON
{
  "Response": {
    "JobId": "1488376501388705792",
    "RequestId": "4821c8b3-ece5-4af4-93ed-00c4fc607096"
  }
}

3.2 查询任务

  • 查询任务:POST {baseUrl}/video/resource-actions/{apiType}
  • 示例模型:viduq3-turbo-cn
  • apiType:QueryVideo

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/resource-actions/QueryVideo

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
model string 是 平台已开通的 Vidu 模型编码。
JobId string 是 任务id

响应状态

HTTP 状态码 说明
200 OK

成功响应参数

字段 类型 必填 说明
Response object 是
Response.RequestId string 是 请求id
Response.Status string 是 状态
Response.ResultVideoUrl string 是 生成结果url
Response.ErrorCode string 是 错误码
Response.ErrorMessage string 是 错误信息
Response.Credits integer 是 消耗积分
Response.Payload string 是 透传

请求示例

JSON
{ "model": "viduq3-turbo-cn", "taskId": "1488376501388705792" }

响应示例

JSON
{
  "Response": {
    "Status": "DONE",
    "ResultVideoUrl": "<生成的视频地址>",
    "ErrorCode": "",
    "ErrorMessage": "",
    "Credits": 5.5,
    "Payload": "",
    "RequestId": "5830be26-44c9-4484-b0a7-8af8ab0fcf76"
  }
}

4. 参考生视频

4.1 创建任务

  • 创建任务:POST {baseUrl}/video/generations/{apiType}
  • 示例模型:viduq3-turbo-cn
  • apiType:ReferenceToVideo

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/ReferenceToVideo

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
Images array<string> 是 图像参考
【非主体调用时传入】
支持上传1~7张图片,模型将以此参数中传入的图片中的主题为参考生成具备主体一致的视频。
支持传入图片 Base64 编码或图片URL(确保可访问)
图片支持 png、jpeg、jpg、webp格式
图片像素不能小于 128128,且比例需要小于1:4或者4:1,且大小不超过50M。
Subjects array<string> 否 参考生图主体信息,支持1-7个主体,主体图片共1 ~ 7张
【主体调用时传入】
Videos array<string> 否 视频参考支持上传1~2个视频,模型将以此参数中传入的视频作为参考,生成具备主体一致的视频。
注1: 仅viduq2-pro模型支持该参数
注2:使用视频参考功能时,最多支持上传 1个8秒 视频 或 2个5秒 视频
注3:视频支持 mp4、avi、mov格式
注4:视频像素不能小于 128*128,且比例需要小于1:4或者4:1,且大小不超过100M。
示例值:["https://\**.mp4"]
【非主体调用时必传】
Model string 是 模型名称
Prompt string 是 文本提示词
生成视频的文本描述。
注1:字符长度不能超过 2000 个字符
注2:使用Subjects主体参数时,可以通过@主体id 来表示主体内容,例如:"@1 和 @2 在一起吃火锅,并且旁白音说火锅大家都爱吃。"
示例值:圣诞老人与熊在湖边相拥。
Duration integer 否 视频时长参数
viduq3-turbo:默认5秒,可选:3 - 16
viduq3-mix:默认5秒,可选1 - 16
viduq3:默认5秒,可选3 - 16
viduq2:默认5秒,可选:1-10
Audio boolean 否 是否使用音视频直出能力
默认为true,枚举值为:
- false:不需要音视频直出,输出静音视频
- true:需要音画同步,输出声音的视频(包括台词和音效)
AudioType string 否 音频类型
audio为true时必填,默认为all
- all:音效+人声
- speech_only:仅人声
- sound_effect_only:仅音效
Resolution string 否 分辨率参数
viduq2:默认 720p, 可选:540p、720p、1080p
viduq3-mix(1-16秒):默认 720p, 可选:720p、1080p
viduq3(3-16秒):默认 720p, 可选:540p、720p、1080p
viduq3-turbo(3-16秒):默认 720p, 可选:540p、720p、1080p
AspectRatio string 否 比例
默认值:16:9
【非主体调用时】
可选值如下:16:9、9:16、4:3、3:4、1:1【主体调用时】
可选值如下:16:9、9:16、1:1
注:q2模型 支持任意宽高比
MovementAmplitude string 否 运动幅度默认
默认 auto,可选值:auto、small、medium、large
注:使用q2模型时该参数不生效
Bgm boolean 否 是否为生成的视频添加背景音乐
默认:false,可选值 true 、false
●【仅支持非主体调用时生效】传 true 时系统将从预设 BGM 库中自动挑选合适的音乐并添加;不传或为 false 则不添加 BGM。
●BGM不限制时长,系统根据视频时长自动适配
●BGM参数在q2系列模型的duration为 9秒 或 10秒 时不生效
Payload string 否 透传参数
不做任何处理,仅数据传输注:最多 1048576个字符
LogoAdd integer 否 为生成结果图添加显式水印标识的开关
不做任何处理,仅数据传输注:最多 1048576个字符
LogoParam object 否 标识内容设置
默认在生成视频的右下角添加“视频由 AI 生成”字样,您可根据自身需要替换为其他的标识图片。
参考https://cloud.tencent.com/document/api/1616/107808#LogoParam
MetaData string 否 元数据标识,json格式字符串
透传字段,您可以 自定义格式 或使用 示例格式 ,示例如下:
\{
"Label": "your_label","ContentProducer": "yourcontentproducer","ContentPropagator": "your_content_propagator","ProduceID": "yourproductid", "PropagateID": "your_propagate_id","ReservedCode1": "yourreservedcode1", "ReservedCode2": "your_reserved_code2"
\}
该参数为空时,默认使用vidu生成的元数据标识

响应状态

HTTP 状态码 说明
200 OK

成功响应参数

字段 类型 必填 说明
Response object 否
Response.JobId string 否 任务id
Response.RequestId string 否 请求id

请求示例

JSON
{
  "model": "viduq3-turbo-cn",
  "prompt": "笑一下",
  "images": ["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"],
  "duration": 5,
  "resolution": "720p",
  "aspectRatio": "16:9",
  "bgm": false
}

响应示例

JSON
{
  "Response": {
    "JobId": "1488377334532399104",
    "RequestId": "7f02743d-0d40-4f9a-9160-b02d8b2b6888"
  }
}

4.2 查询任务

  • 查询任务:POST {baseUrl}/video/resource-actions/{apiType}
  • 示例模型:viduq3-turbo-cn
  • apiType:ReferenceToVideoQuery

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/resource-actions/ReferenceToVideoQuery

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
model string 是 平台已开通的 Vidu 模型编码。
JobId string 是 任务id

响应状态

HTTP 状态码 说明
200 OK

成功响应参数

字段 类型 必填 说明
Response object 是
Response.Payload string 是 透传参数
Response.RequestId string 是 请求id
Response.Status string 是 状态
Response.ResultVideoUrl string 是 生成结果地址
Response.ErrorCode string 是 错误码
Response.ErrorMessage string 是 错误信息
Response.Credits integer 是 消耗积分

请求示例

JSON
{ "model": "viduq3-turbo-cn", "taskId": "1488377334532399104" }

响应示例

JSON
{
  "Response": {
    "Status": "DONE",
    "ResultVideoUrl": "<生成的视频地址>",
    "ErrorCode": "",
    "ErrorMessage": "",
    "Credits": 5,
    "Payload": "",
    "RequestId": "5830be26-44c9-4484-b0a7-8af8ab0fcf76"
  }
}

5. 图生视频

5.1 创建任务

  • 创建任务:POST {baseUrl}/video/generations/{apiType}
  • 示例模型:viduq3-turbo-cn
  • apiType:ImageToVideo

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/generations/ImageToVideo

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
Images array<string> 是 上传单张图时【首帧生视频】:
模型将以此参数中传入的图片为首帧画面来生成视频。
注1:支持传入图片URL(确保可访问);
注2:支持上传1 张图;
注3:图片支持 png、jpeg、jpg、webp格式;
注4:图片比例需要小于 1:4 或者 4:1 ;
注5:图片大小不超过50M。

上传两张图时【首尾帧生视频】:
上传的第一张图片视作首帧图,第二张图片视作尾帧图,模型将以此参数中传入的图片来生成视频
注1: 首尾帧两张输入图的分辨率需相近,首帧图的分辨率/尾帧图的分辨率要在0.8~1.25之间。且图片比例需要小于1:4或者4:1;
注2: 支持传入图片URL(确保可访问);
注3: 图片支持 png、jpeg、jpg、webp格式;
注4: 图片大小不超过50M;
Model string 是 模型名称
Prompt string 是 生成视频的文本描述。
注1:字符长度不能超过 2000 个字符
注2:若使用IsRec推荐提示词参数,模型将不考虑此参数所输入的提示词
Audio boolean 否 是否使用音视频直出能力
默认关闭,枚举值为:
●false:不需要音视频直出,输出静音视频
●true:需要音视频直出,输出带台词以及背景音的视频
注1:该参数为true时,voice_id参数才生效
注2:该参数为true时,仅q3模型支持错峰
注3:当model 为q3-pro或q3-turbo、q3-pro-fast 时,该参数默认值为true

【首尾帧生视频】
●false:不需要音视频直出,输出静音视频
●true:需要音画同步,输出声音的视频(包括台词和音效)
注1:仅q3系列模型支持该参数
AudioType string 否 音频类型
audio为true时必填,默认为all
- all:音效+人声
- speech_only:仅人声
- sound_effect_only:仅音效
注:该参数目前仅支持q2系列模型的音频拆分
VoiceId string 否 音色id
用来决定视频中的声音音色,为空时系统会自动推荐,可选枚举值参考列表:新音色列表
暂不支持声音复刻功能
Duration integer 否 视频时长参数:
viduq3-pro、viduq3-turbo、viduq3-pro-fast 默认为 5,可选:1 - 16
viduq2-pro、viduq2-turbo 、viduq2-pro-fast默认为 5,可选:1 - 10

【首尾帧生视频】:
viduq3-pro 、viduq3-turbo默认为 5,可选:1 - 16
viduq2-pro、viduq2-turbo 、viduq2-pro-fast默认为 5,可选:1 - 8
Resolution string 否 分辨率参数
【首帧生视频】:
●viduq3-pro-fast: 1-16秒:默认 720p,可选:720p、1080p
●viduq3-pro 、viduq3-turbo 1-16秒:默认 720p,可选:540p、720p、1080p
●viduq2-pro、viduq2-turbo 1-10秒:默认 720p,可选:720p、1080p
●viduq2-pro-fast 1-10秒:默认 720p,可选:720p、1080p
【首尾帧生视频】:
●viduq3-pro 、viduq3-turbo1-16秒:默认 720p,可选:540p、720p、1080p
●viduq2-pro 、 viduq2-turbo1-8秒:默认 720p,可选:540p、720p、1080p
●viduq2-pro-fast默认 720p,可选:720p、1080p
MovementAmplitude string 否 运动幅度
默认 auto,可选值:auto、small、medium、large
Bgm boolean 否 是否为生成的视频添加背景音乐
默认:false,可选值 true 、false
【首帧生视频】
传 true 时系统将从预设 BGM 库中自动挑选合适的音乐并添加;不传或为 false 则不添加 BGM。
- BGM不限制时长,系统根据视频时长自动适配
- BGM参数在q2模型的duration为 9秒 或 10秒 时不生效;该参数在q3模型中不生效

【首尾帧生视频】
- 传 true 时系统将从预设 BGM 库中自动挑选合适的音乐并添加;不传或为 false 则不添加 BGM。
- BGM不限制时长,系统根据视频时长自动适配
- 该参数在q3系列模型中不生效
Payload string 否 透传参数
不做任何处理,仅数据传输
LogoAdd integer 否 为生成视频添加标识的开关
默认为1。
1:添加标识。
0:不添加标识。
LogoParam object 否 标识内容设置
默认在生成视频的右下角添加“视频由 AI 生成”字样,您可根据自身需要替换为其他的标识图片
MetaData string 否 json格式字符串,透传字段,您可以 自定义格式 或使用 示例格式 ,示例如下:
\{
"Label": "your_label",
"ContentProducer": "your_content_producer",
"ContentPropagator": "your_content_propagator",
"ProduceID": "your_product_id",
"PropagateID": "your_propagate_id",
"ReservedCode1": "your_reserved_code1",
"ReservedCode2": "your_reserved_code2"
\}
该参数为空时,默认使用vidu生成的元数据标识

响应状态

HTTP 状态码 说明
200 任务提交成功

成功响应参数

字段 类型 必填 说明
Response object 否
Response.JobId string 否 任务id
Response.RequestId string 否 请求id

请求示例

JSON
{
  "model": "viduq3-turbo-cn",
  "prompt": "笑一下",
  "images": ["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"],
  "duration": 5,
  "resolution": "720p",
  "aspectRatio": "16:9",
  "bgm": false
}

响应示例

JSON
{
  "Response": {
    "JobId": "1488378258793422848",
    "RequestId": "3b096895-62b1-4739-ab48-80093d804869"
  }
}

5.2 查询任务

  • 查询任务:POST {baseUrl}/video/resource-actions/{apiType}
  • 示例模型:viduq3-turbo-cn
  • apiType:ImageToVideoQuery

请求地址:https://token.soar.qjclouds.cn/laserEr/00000000/v1/video/resource-actions/ImageToVideoQuery

Header 参数

字段 类型 必填 说明
Content-Type string 是 示例:application/json
Authorization string 是 示例:Bearer {YOUR_API_KEY}

Body 参数

字段 类型 必填 说明
model string 是 平台已开通的 Vidu 模型编码。
JobId string 是 任务id

响应状态

HTTP 状态码 说明
200 查询成功

成功响应参数

字段 类型 必填 说明
Response object 是
Response.ErrorCode string 是 错误码
Response.ErrorMessage string 是 错误信息
Response.Credits integer 是 消耗积分
Response.Payload string 是 透传字段
Response.RequestId string 是 请求id
Response.Status string 是 任务状态
Response.ResultVideoUrl string 是 生成视频地址

请求示例

JSON
{ "model": "viduq3-turbo-cn", "taskId": "1488378258793422848" }

响应示例

JSON
{
  "Response": {
    "Status": "DONE",
    "ResultVideoUrl": "<生成的视频地址>",
    "ErrorCode": "",
    "ErrorMessage": "",
    "Credits": 5,
    "Payload": "",
    "RequestId": "5830be26-44c9-4484-b0a7-8af8ab0fcf76"
  }
}