Vidu Q Video Models
auto_subjectsbooleanWhether to use the intelligent subject library capability. Default is false. Accepted values: true, false
subjectsstring*When using the 2.0 model, only image subjects and text subjects can be used.
namestring*Subject name specified by the user. It can be used via [@name] during generation. For example: [@Image1]
imagesstringTemporary subject images. Up to 3 images.
Note 1: Images can be provided via Base64 encoding or image URLs (make sure they are accessible).Note 2: Images must be in PNG, JPEG, JPG, or WebP format.Note 3: Image dimensions cannot be less than 128*128 pixels, and the aspect ratio must be less than 1:4 or 4:1.Note 4: Please note that the post body of the HTTP request must not exceed , and the encoding must include an appropriate content type string. For example:
promptstring*Text prompt
A textual description for video generation.
Note 1: The length cannot exceed 5000 characters.
Note 2: Use [@subjects_name] to represent subject content. For example: "@1 and @2 are eating hot pot together, and the narrator says that everyone loves hot pot."
audiobooleanWhether to use the audio-video output capability. Default is false. Accepted values: true, false
durationintegerVideo duration parameter, with default values depending on the model:vidu2.0: Default is 4 seconds, available option: 4
seedintegerRandom seed
aspect_ratiostringDefaults to 16:9. Accepted values: 1:1, 9:16, 16:9, 3:4, 4:3
auto: Automatically recommended based on the input image or video.
resolutionstringResolution parameter, with default values depending on the model and video duration:vidu2.0 (4s): Default is 360p, available options: 360p, 720p
movement_amplitudestringMovement amplitude. Default is auto. Accepted values: auto, small, medium, large
payloadstringTransparent transmission parameters. No processing, only data transmission.
Note: Maximum of 1048576 characters.
off_peakbooleanOff peak mode. Default: false. Accepted values:
watermarkbooleanWhether to add a watermark.
wm_positionintegerWatermark position. Indicates where the watermark appears on the image. Default: 3. Options:
1: Top left
2: Top right
3: Bottom right
4: Bottom left
wm_urlstringWatermark content. This is an image URL. When not passed, the default watermark is used: "Content generated by AI".
meta_datastringMetadata label. A JSON-formatted string. Transparent transmission field. You can customize the format or use the example format as follows:
{
"Label": "your_label", "ContentProducer": "yourcontentproducer", "ContentPropagator": "your_content_propagator", "ProduceID": "yourproductid", "PropagateID": "your_propagate_id", "ReservedCode1": "yourreservedcode1", "ReservedCode2": "your_reserved_code2"
}
When this parameter is empty, the metadata label generated by Vidu is used by default.
callback_urlstringCallback protocol
When creating a task, you need to actively set the callback_url with a POST request. When the video generation task changes its status, Vidu will send a callback request to this URL, containing the latest status of the task. The structure of the callback request content will be the same as the return body of the Query Task API.
The "status" in the callback response includes the following states:
task_idstringTask ID generated by Vidu
statestringProcessing state
Accepted values:created Created successfullyqueueing Task in queueprocessing Task is being processedsuccess Task succeededfailed Task failed
modelstringThe model name used for this call
promptstringThe prompt parameter used for this call
data:image/png;base64,{base64_encode}videosstringTemporary subject video. Up to one 5-second video.
Note 1: Only the viduq2-pro Reference to Video model supports video subjects.
Note 2: Up to one 5-second video can be uploaded.
Note 3: Videos must be in MP4, AVI, or MOV format.
Note 4: Video dimensions cannot be less than 128*128 pixels, and the aspect ratio must be less than 1:4 or 4:1.
Note 5: Please note that the byte length after base64 decoding must be less than 20M, and the encoding must include an appropriate content type string. For example:data:video/mp4;base64,{base64_encode}
voice_idstringVoice ID
Used to determine the voice timbre in the video. When empty, the system will automatically recommend one. For optional enumeration values, refer to the Voice List.
Or you can use the Voice Cloning API to clone any voice. The voice_id parameters can be used interchangeably.
server_idstringThe subject ID obtained through the Create Subject API.
Note: When server_id is not passed, it is treated as a temporary subject and will not be saved by the system.
imagesstringThe image parameter used for this call
durationintegerThe video duration parameter used for this call
seedintegerThe random seed parameter used for this call
aspect_ratiostringThe aspect ratio parameter used for this call
resolutionstringThe resolution parameter used for this call
bgmbooleanThe background music parameter used for this call
movement_amplitudestringThe camera movement amplitude parameter used for this call
payloadstringThe transparent transmission parameter passed in this call
off_peakbooleanWhether off-peak mode is used in this call
creditsintegerThe credits consumed by this call
watermarkbooleanWhether a watermark is used for this submitted task
created_atstringTask creation time
Authorizationstring*Replace {your api key} with your token
Token {your api key}idstring*Task ID. Returned by the Create Task API upon successful creation.
modelstring*Model name
Accepted values: vidu2.0
imagesstringImage reference supports multiple images. The model will use the subjects in the images provided in this parameter as references to generate a video with subject consistency. Different model versions support different numbers of reference images. Specific requirements are as follows:
Note 1: The vidu2.0 series models support uploading 1 to 7 images.
Note 2: Images can be provided via Base64 encoding or image URLs (make sure they are accessible).
Note 3: Images must be in PNG, JPEG, JPG, or WebP format.
Note 4: Image dimensions cannot be less than 128*128 pixels, and the aspect ratio must be less than 1:4 or 4:1.
Note 5: Please note that the post body of the HTTP request must not exceed 20MB, and the encoding must include an appropriate content type string. For base64,{base64_encode}normal
data:image/pngsoundsstringAudio reference supports uploading 1 to 3 audio files. The model will use the audio provided in this parameter as references to generate a video with subject consistency.
Note 1: When using the audio reference feature, up to 3 audio files can be uploaded, and the audio duration ranges from 3-12s.
Note 2: Audio must be in MP3 format.
Note 3: The size of each audio file must not exceed 50M.
Note 4: Please note that the byte length after base64 decoding must be less than 20M, and the encoding must include an appropriate content type string. For base64,{base64_encode}
Note: Only the q3-drama, q3-mix, and q3-ad models support this parameter.normal
data:video/mp3promptstring*Text prompt
A textual description for video generation.
Note: The length cannot exceed 5000 characters.
bgmbooleanWhether to add background music to the generated video. Default: false. Acceptable values: true, false.
durationintegerVideo duration parameter, with default values depending on the model:viduq3-drama: Default is 8s, available option: 2-15sviduq3-ad, viduq3-turbo, viduq3-mix: Default is 5 seconds, available option: 3-15viduq3: Default is 5 seconds, available option: 3-16viduq2-pro, viduq2: Default is 5 seconds, available option: 1-10viduq1: Default is 5 seconds, available option: 5vidu2.0: Default is 4 seconds, available option: 4
seedintegerRandom seed
aspect_ratiostringAspect ratio parameter. The q2 and q3 models support any ratio or auto.viduq3-drama supports 9:16, 16:9viduq3-ad supports 1:1, 9:16, 16:9, 3:4, 4:3
Defaults to 16:9. Accepted values: 1:1, 9:16, 16:9, 3:4, 4:3
auto: Automatically recommended based on the input image or video.
audiobooleanWhether to use the audio-video output capability. Default is true. Valid values:
movement_amplitudestringMovement amplitude
Defaults to auto. Accepted values: auto, small, medium, large
Note: The q2 and q3 series models do not support this parameter.
resolutionstringResolution parameter, with default values depending on the model and video duration:vidu2.0 (4s): Default is 360p, available options: 360p, 720p
payloadstringTransparent transmission parameters
No processing, only data transmission.
Note: Maximum of 1048576 characters.
off_peakbooleanOff peak mode. Default: false. Accepted values:
watermarkbooleanWhether to add a watermark.
wm_positionintegerWatermark position. Indicates where the watermark appears on the image. Default: 3. Options:
1: Top left
2: Top right
3: Bottom right
4: Bottom left
wm_urlstringWatermark content. This is an image URL. When not passed, the default watermark is used: "Content generated by AI".
meta_datastringMetadata label. A JSON-formatted string. Transparent transmission field. You can customize the format or use the example format as follows:
{
"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"
}
When this parameter is empty, the metadata label generated by Vidu is used by default.
callback_urlstringCallback protocol
When creating a task, you need to actively set the callback_url with a POST request. When the video generation task changes its status, Vidu will send a callback request to this URL, containing the latest status of the task. The structure of the callback request content will be the same as the return body of the Query Task API.
The "status" in the callback response includes the following states:
application/jsonResponse fields
idstringTask ID
statestringProcessing state
Accepted values:created Created successfullyqueueing Task in queueprocessing Task is being processedsuccess Task succeededfailed Task failed
err_codestringError code. See the error code table for details.
creditsintegerThe number of credits consumed by this task. Unit: credits.
payloadstringThe transparent transmission parameter passed in this task call
bgmbooleanWhether bgm is used in this task call
off_peakbooleanWhether off-peak mode is used in this task call
creationsarrayGeneration results
idstringGeneration ID. Used to identify different generations.
urlstringGeneration URL. Valid for 24 hours.
cover_urlstringGeneration cover. Valid for 24 hours.
watermarked_urlstringWatermarked generation URL. Valid for 24 hours.
application/jsonResponse fields
task_idstringTask ID generated by Vidu
statestringProcessing state
Accepted values:created Created successfullyqueueing Task in queueprocessing Task is being processedsuccess Task succeededfailed Task failed
modelstringThe model name used for this call
promptstringThe prompt parameter used for this call
imagesstringThe image parameter used for this call
durationintegerThe video duration parameter used for this call
seedintegerThe random seed parameter used for this call
aspect_ratiostringThe aspect ratio parameter used for this call
resolutionstringThe resolution parameter used for this call
bgmbooleanThe background music parameter used for this call
movement_amplitudestringThe camera movement amplitude parameter used for this call
payloadstringThe transparent transmission parameter passed in this call
off_peakbooleanWhether off-peak mode is used in this call
creditsintegerThe credits consumed by this call
watermarkbooleanWhether a watermark is used for this submitted task
created_atstringTask creation time
curl --request GET \
--url 'https://api.vidu.com/ent/v2/tasks/{your_id}/creations' \
--header 'Authorization: Token {your api key}'{
"id":"your_task_id",
"state": "success",
"err_code": "",
"credits": 4,
"payload": "",
"creations": [
{
"id": "your_creations_id",
"url": "your_generated_results_url",
"cover_url": "your_generated_results_cover_url",
"watermarked_url": "your_generated_results_watermarked_url"
}
]
}curl --request POST \
--url 'https://api.vidu.com/ent/v2/reference2video' \
--header 'Content-Type: application/json' \
--data '{
"model": "vidu2.0",
"images": "data:image/png",
"sounds": "data:video/mp3",
"prompt": "Santa Claus and the bear hug by the lakeside.",
"bgm": true,
"duration": 5,
"seed": 0,
"aspect_ratio": "3:4",
"audio": true,
"movement_amplitude": "string",
"resolution": "1080p",
"payload": "string",
"off_peak": true,
"watermark": true,
"wm_position": 0,
"wm_url": "string",
"meta_data": "string",
"callback_url": "string"
}'{
"task_id": "your_task_id_here",
"state": "created",
"model": "vidu2.0",
"images": ["https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/reference2video-1.png","https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/reference2video-2.png","https://prod-ss-images.s3.cn-northwest-1.amazonaws.com.cn/vidu-maas/template/reference2video-3.png"],
"prompt": "Santa Claus and the bear hug by the lakeside.",
"duration": 5,
"seed": random_number,
"aspect_ratio": "3:4",
"resolution": "540p",
"movement_amplitude": "auto",
"payload":"",
"off_peak": false,
"credits":credits_number,
"created_at": "2025-01-01T15:41:31.968916Z"
}
{
"task_id": "your_task_id_here",
"state": "created",
"model": "vidu2.0",
"images": [""],
"prompt": "[@1] and [@2] are eating hot pot together at [@3]",
"duration": 5,
"seed": random_number,
"aspect_ratio": "3:4",
"resolution": "720p",
"audio": true,
"payload":"",
"off_peak": false,
"credits":credits_number,
"created_at": "2025-01-01T15:41:31.968916Z"
}