vidu-video-q4-preview, vidu-video-q3, vidu-video-q3-pro, and vidu-video-q3-turbo.task_id and the initial status created upon success.task_id until state = success, and obtain the video URL from the result.request_id (at the top level, for troubleshooting). The query API additionally returns tokenhub_usage (usage consumption).Model Name | model Parameter Value | Supported Capability | Video Duration (s) | Resolution Tier | Selection Recommendations |
Vidu-Video-q4-preview | vidu-video-q4-preview | Image-to-video / reference-to-video / synchronized audio-video generation | 3 ~ 16 | 540p / 720p / 1080p / 2K / 4K | Flagship preview version, supports 2K/4K output, with up to 15 reference images and up to 3 reference audio clips. |
Vidu-Video-q3.0 | vidu-video-q3 | Reference-to-video / smart shot transition / synchronized audio-video generation | Reference-to-video generation: 3 to 16 | 540p / 720p / 1080p | Better multi-camera consistency |
Vidu-Video-q3.0-pro | vidu-video-q3-pro | Text-to-video / image-to-video / first-last frame / smart shot transition / synchronized audio-video generation | Text-to-video, image-to-video, and first-last frame: 1 to 16 | 540p / 720p / 1080p | Q3 high-quality version |
Vidu-Video-q3.0-turbo | vidu-video-q3-turbo | Text-to-video / image-to-video / reference-based generation / first-last frame / smart shot segmentation / synchronized audio-video generation | Text-to-video, image-to-video, and first-last frame: 1 to 16; reference-to-video: 3 to 16 | 540p / 720p / 1080p | Fastest generation speed and highest cost-effectiveness |
model and duration for each API are subject to the "Input Parameters" of that API. Duration ranges vary by capability. See Appendix: Quick Reference for Duration Values by API.audio), with resolution support for 540p / 720p / 1080p.audio) is enabled by default for image-to-video, while reference-to-video requires explicitly passing true. Resolution additionally supports 2K / 4K, with a default of 720p. Reference-to-video supports up to 15 reference images + 3 reference audio clips (sounds).POST https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/text-to-videoParameter Name | Required | Type | Description |
model | Yes | string | Model name. Values: vidu-video-q3-turbo, vidu-video-q3-pro |
prompt | Yes | string | Text prompt. No more than 5000 characters. |
duration | No | integer | Video duration in seconds. Options: 1 to 16. Default value: 5. |
aspect_ratio | No | string | Aspect ratio. Default value: 16:9. Options: 16:9 / 9:16 / 3:4 / 4:3 / 1:1 (some ratios are supported only by specific models). |
resolution | No | string | Resolution. Options: 540p / 720p / 1080p. The default value depends on the model and duration. |
audio | No | boolean | Whether to output audio and video directly (output a video with audio containing dialogue/sound effects). The default value depends on the model. |
audio_type | No | string | Audio type (required when audio=true). Default value: all. Options: all / speech_only / sound_effect_only. |
seed | No | integer | Random seed. If not specified or set to 0, a random number is used. |
payload | No | string | Pass-through parameter. No more than 1,048,576 characters. |
watermark | No | boolean | Whether to add a watermark. Default value: false. |
wm_position | No | integer | Watermark position. TokenHub does not support this parameter. When watermark is enabled, a Tencent watermark is added to the upper left corner by default. |
wm_url | No | string | Custom watermark image URL. If not specified, the default watermark is used. |
curl -X POST 'https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/text-to-video' \\-H 'Authorization: Bearer YOUR_API_KEY' \\-H 'Content-Type: application/json' \\-d '{"model": "vidu-video-q3-turbo","prompt": "A kitten runs under the moonlight, with the camera following","duration": 5,"aspect_ratio": "16:9","resolution": "720p","audio": true}'
model in the example with vidu-video-q3-pro to call the corresponding model. For parameters such as duration / aspect_ratio / resolution / audio, see the input parameters above.Field | Type | Description |
task_id | string | Task ID generated by Vidu |
state | string | Processing status: created / queueing / processing / success / failed |
model | string | Model name used in this call |
prompt | string | Prompt parameter used in this call |
duration | integer | Video duration parameter used in this call |
aspect_ratio | string | Aspect ratio parameter used in this call |
resolution | string | Resolution parameter used in this call |
audio | boolean | Whether to enable direct audio and video output in this call |
seed | integer | Random seed parameter used in this call |
credits | integer | Number of credits consumed by this call |
created_at | string | Task creation time (ISO 8601) |
request_id | string | Unique request identifier, used for troubleshooting. |
{"task_id": "4-WandVideo-a786becfdc80433b8cff4aa344c8fd3d","state": "created","model": "vidu-video-q3-turbo","prompt": "A kitten runs under the moonlight, with the camera following","duration": 5,"aspect_ratio": "16:9","resolution": "720p","audio": true,"seed": 0,"credits": 100,"created_at": "2026-07-31T15:41:31.968Z","request_id": "3aec3299-06ad-4654-8b45-c57b823a15d2"}
aspect_ratio parameter).POST https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/image-to-videoParameter Name | Required | Type | Description |
model | Yes | string | Model name. Values: vidu-video-q4-preview, vidu-video-q3-turbo, vidu-video-q3-pro |
images | Yes | array[string] | images: supports input of 1 image in URL or Base64 format. Image formats: png/jpeg/jpg/webp. Image aspect ratio must be less than 1:4 or greater than 4:1. 1. Base64: The image size must be less than or equal to 15 MB, and the total size after conversion to Base64 must be less than or equal to 20 MB. Format requirement: data:image/<image_format>;base64,. Note: If the image is in jpg format, use jpeg as the image format.2. URL: The size of a single file must be less than or equal to 50 MB, and the file must be publicly accessible (http/https). |
prompt | No | string | Text prompt. No more than 5000 characters. This parameter is ignored when is_rec is used. |
audio | No | boolean | Whether to output audio and video directly (output a video with audio containing dialogue/sound effects). Default value: true. |
audio_type | No | string | Audio type (required when audio=true). Default value: all. Options: all / speech_only / sound_effect_only. |
is_rec | No | boolean | Whether to use recommended prompts. When set to true, the system automatically recommends and generates them (each task consumes 10 additional credits). |
duration | No | integer | Video duration in seconds. q4-preview: 3 to 16; q3-turbo / q3-pro: 1 to 16. Default value: 5. |
resolution | No | string | Resolution. q4-preview: 540p / 720p / 1080p / 2K / 4K, default value: 720p; q3-turbo / q3-pro: 540p / 720p / 1080p, default value depends on the model and duration. |
seed | No | integer | Random seed. If not specified or set to 0, a random number is used. |
payload | No | string | Pass-through parameter. No more than 1,048,576 characters. |
watermark | No | boolean | Whether to add a watermark. Default value: false. |
wm_position | No | integer | Watermark position. TokenHub does not support this parameter. When watermark is enabled, a Tencent watermark is added to the upper left corner by default. |
wm_url | No | string | Custom watermark image URL. If not specified, the default watermark is used. |
curl -X POST 'https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/image-to-video' \\-H 'Authorization: Bearer YOUR_API_KEY' \\-H 'Content-Type: application/json' \\-d '{"model": "vidu-video-q4-preview","images": ["https://example.com/start.jpg"],"prompt": "Make the subject in the frame move naturally and slowly push the camera in","duration": 5,"resolution": "720p","audio": true}'
model in the example with vidu-video-q3-turbo or vidu-video-q3-pro to call the corresponding model. For parameters such as duration / resolution / audio, see the input parameters above.Field | Type | Description |
task_id | string | Task ID generated by Vidu |
state | string | Processing status: created / queueing / processing / success / failed |
model | string | Model name used in this call |
prompt | string | Prompt parameter used in this call |
images | array[string] | Image parameter used in this call |
duration | integer | Video duration parameter used in this call |
audio | boolean | Whether audio and video are synchronized in this call |
seed | integer | Random seed parameter used in this call |
resolution | string | Resolution parameter used in this call |
credits | integer | Number of credits consumed by this call |
created_at | string | Task creation time (ISO 8601) |
request_id | string | Unique request ID used for troubleshooting |
{"task_id": "4-WandVideo-a786becfdc80433b8cff4aa344c8fd3d","state": "created","model": "vidu-video-q4-preview","prompt": "Make the subject in the frame move naturally and slowly push the camera in","images": ["https://example.com/start.jpg"],"duration": 5,"audio": true,"seed": 0,"resolution": "720p","credits": 100,"created_at": "2026-07-31T15:41:31.968Z","request_id": "3aec3299-06ad-4654-8b45-c57b823a15d2"}
subjects (which can be referenced in the prompt as @subject_name).images directly as references. You must choose one of the two methods.POST https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/reference-to-videoParameter Name | Required | Type | Description |
model | Yes | string | Model name. Values: vidu-video-q4-preview, vidu-video-q3-turbo, vidu-video-q3 |
subjects | Conditionally required | array[object] | Subject collection (method 1, mutually exclusive with images). See the table below for subfields. |
images | Conditionally required | array[string] | Reference images (method 2, mutually exclusive with subjects): q4-preview supports up to 15 images in URL or Base64 format. Image formats: png/jpeg/jpg/webp. Image aspect ratio must be less than 1:4 or greater than 4:1. 1. Base64: The total size of all images must be less than or equal to 15 MB, and the total size after conversion to Base64 must be less than or equal to 20 MB. Format requirement: data:image/<image_format>;base64,. Note: If the image is in jpg format, use jpeg as the image format. 2. URL: The size of a single file must be less than or equal to 50 MB, and the file must be publicly accessible (http/https). |
prompt | Yes | string | Text prompt. No more than 5000 characters in subject mode (can be referenced with @subject name); no more than 2000 characters in direct reference mode. |
auto_subjects | No | boolean | Whether to use the intelligent subject library capability. Default value: false. |
audio | No | boolean | Whether to output audio and video directly. Default value: true for q3 / q3-turbo. If not passed for q4-preview, false is used. To output audio and video together, explicitly pass true. For non-subject calls, only q3 supports this. q4-preview requires the subjects method. |
audio_type | No | string | Audio type (required when audio=true). Default value: all. Options: all / speech_only / sound_effect_only. |
duration | No | integer | Video duration in seconds. Options: 3 to 16. Default value: 5. |
aspect_ratio | No | string | Aspect ratio. Default value: 16:9. Options: 16:9 / 9:16 / 3:4 / 4:3 / 1:1. |
resolution | No | string | Resolution. q4-preview: 540p / 720p / 1080p / 2K / 4K, default value: 720p; q3 / q3-turbo: 540p / 720p / 1080p, default value depends on the model. |
seed / payload / watermark / wm_position / wm_url | No | - | Common configuration, same as that for image-to-video. |
Parameter Name | Required | Type | Description |
name | Yes | string | Subject ID/name, referenced later in the prompt as @name. |
images | Yes | array[string] | Image subjects.images[]: supports input of 1 to 3 images in URL or Base64 format. Image formats: png/jpeg/jpg/webp. Image aspect ratio must be less than 1:4 or greater than 4:1. 1. Base64: The total size of all images must be less than or equal to 15 MB, and the total size after conversion to Base64 must be less than or equal to 20 MB. Format requirement: data:image/<image_format>;base64,. Note: If the image is in jpg format, use jpeg as the image format. 2. URL: The size of a single file must be less than or equal to 50 MB, and the file must be publicly accessible (http/https). |
sounds).curl -X POST 'https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/reference-to-video' \\-H 'Authorization: Bearer YOUR_API_KEY' \\-H 'Content-Type: application/json' \\-d '{"model": "vidu-video-q4-preview","subjects": [{ "name": "girl", "images": ["https://example.com/girl1.jpg"] },{ "name": "boy", "images": ["https://example.com/boy1.jpg"] }],"prompt": "@girl and @boy are eating hot pot together","duration": 8,"audio": true}'
curl -X POST 'https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/reference-to-video' \\-H 'Authorization: Bearer YOUR_API_KEY' \\-H 'Content-Type: application/json' \\-d '{"model": "vidu-video-q4-preview","images": ["https://example.com/input.jpg"],"prompt": "Keep the appearance of the subject in the reference image and move naturally",}'
model in the example with vidu-video-q3-turbo or vidu-video-q3 to call the corresponding model.Field | Type | Description |
task_id | string | Task ID generated by Vidu |
state | string | Processing status: created / queueing / processing / success / failed |
model | string | Model name used in this call |
prompt | string | Prompt parameter used in this call |
images | array[string] | Image parameter used in this call |
duration | integer | Video duration parameter used in this call |
audio | boolean | Whether to enable direct audio and video output in this call |
seed | integer | Random seed parameter used in this call |
credits | integer | Number of credits consumed by this call |
created_at | string | Task creation time (ISO 8601) |
request_id | string | Unique request ID used for troubleshooting |
{"task_id": "4-WandVideo-a786becfdc80433b8cff4aa344c8fd3d","state": "created","model": "vidu-video-q4-preview","prompt": "@girl and @boy are eating hot pot together","images": ["https://example.com/girl1.jpg", "https://example.com/boy1.jpg"],"duration": 8,"audio": true,"seed": 0,"credits": 100,"created_at": "2026-07-31T15:41:31.968Z","request_id": "3aec3299-06ad-4654-8b45-c57b823a15d2"}
POST https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/start-end-to-videoParameter Name | Required | Type | Description |
model | Yes | string | Model name. Values: vidu-video-q3-turbo, vidu-video-q3-pro |
images | Yes | array[string] | Images: supports input of 2 images in URL or Base64 format. The resolutions of the first and last frame input images must be similar, and the ratio of the first frame image resolution to the last frame image resolution must be between 0.8 and 1.25. The image aspect ratio must be less than 1:4 or greater than 4:1. Image formats: png/jpeg/jpg/webp. Base64: image size must not exceed 15 MB, and the total size after conversion to Base64 must not exceed 20 MB. Format requirement: data:image/<image format>;base64,. Note: when the image is in jpg format, enter jpeg as the image format. URL: a single file must not exceed 50 MB and must be publicly accessible over http or https. |
prompt | No | string | Text prompt. No more than 5000 characters. This parameter is ignored when is_rec is used. |
is_rec | No | boolean | Whether to use recommended prompts. When set to true, the system automatically recommends and generates them (each task consumes 10 additional credits). |
duration | No | integer | Video duration in seconds. Options: 1 to 16. Default value: 5. |
resolution | No | string | Resolution. Options: 540p / 720p / 1080p. The default value depends on the model. |
audio | No | boolean | Whether to output audio and video directly. Default value: true. |
seed / payload / watermark / wm_position / wm_url | No | - | Common configuration, same as that for text-to-video. |
curl -X POST 'https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/start-end-to-video' \\-H 'Authorization: Bearer YOUR_API_KEY' \\-H 'Content-Type: application/json' \\-d '{"model": "vidu-video-q3-turbo","images": ["https://example.com/start.jpg", "https://example.com/end.jpg"],"prompt": "Naturally transition from the first frame to the last frame","duration": 5,"resolution": "720p"}'
Field | Type | Description |
task_id | string | Task ID generated by Vidu |
state | string | Processing status: created / queueing / processing / success / failed |
model | string | Model name used in this call |
prompt | string | Prompt parameter used in this call |
images | array[string] | Image parameters used in this call (first frame and last frame) |
duration | integer | Video duration parameter used in this call |
seed | integer | Random seed parameter used in this call |
resolution | string | Resolution parameter used in this call |
credits | integer | Number of credits consumed by this call |
created_at | string | Task creation time (ISO 8601) |
request_id | string | Unique request ID used for troubleshooting |
{"task_id": "4-WandVideo-a786becfdc80433b8cff4aa344c8fd3d","state": "created","model": "vidu-video-q3-turbo","prompt": "Naturally transition from the first frame to the last frame","images": ["https://example.com/start.jpg", "https://example.com/end.jpg"],"duration": 5,"seed": 0,"resolution": "720p","credits": 100,"created_at": "2026-07-31T15:41:31.968Z","request_id": "3aec3299-06ad-4654-8b45-c57b823a15d2"}
task_id, poll the task status through this API. Upon success, obtain the video URL from the result.GET https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/tasks/{task_id}{task_id} in the path is the task_id returned when the task was submitted (represented by YOUR_TASK_ID in the example). Video generation takes approximately 1 to 5 minutes. It is recommended to poll every 5 to 10 seconds.Parameter Name | Required | Type | Description |
task_id | Yes | string | Task ID (path parameter), which is the task_id returned when the task is submitted |
curl -X GET 'https://tokenhub-intl.tencentcloudmaas.com/v1/wand/vidu/tasks/YOUR_TASK_ID' \\-H 'Authorization: Bearer YOUR_API_KEY'
Field | Type | Description |
task_id | string | Task ID |
state | string | Processing status: created / queueing / processing / success / failed |
model | string | Model name used in this call |
prompt | string | Prompt parameter used in this call |
duration | integer | Video duration parameter used in this call |
seed | integer | Random seed parameter used in this call |
resolution | string | Resolution parameter used in this call |
creations | array[object] | List of generated results (returned on success) |
creations[].url | string | Download URL of the generated video. It is a temporary URL valid for 12 hours. Download and store it promptly. |
creations[].cover_url | string | Cover image URL of the generated video |
credits | integer | Number of credits consumed by this call |
created_at | string | Task creation time (ISO 8601) |
request_id | string | Unique request ID used for troubleshooting |
tokenhub_usage | object | Usage consumption |
tokenhub_usage.total_tokens | integer | Number of tokens consumed by this task, used for billing/reconciliation |
{"task_id": "4-WandVideo-a786becfdc80433b8cff4aa344c8fd3d","state": "success","model": "vidu-video-q4-preview","prompt": "Make the subject in the frame move naturally and slowly push the camera in","duration": 5,"seed": 0,"resolution": "720p","creations": [{"url": "https://aigc-video.cos.myqcloud.com/xxx/result.mp4","cover_url": "https://aigc-video.cos.myqcloud.com/xxx/cover.jpg"}],"credits": 100,"created_at": "2026-07-31T15:41:31.968Z","request_id": "3aec3299-06ad-4654-8b45-c57b823a15d2","tokenhub_usage": { "total_tokens": 102655 }}
state | Description | Handling Recommendation |
success | Generation succeeded | Obtain the result video from creations[].url. |
processing / queueing | Processing or queued | Poll once every 5 to 10 seconds until success. |
failed | Generation failed | Check the failure cause, make modifications, and retry. If failures persist, contact technical support and provide the request_id. |
Error Code | Error Message | Description |
BadRequest | bad request | Invalid request |
FieldLacking | field is missing or empty | Missing required field |
FieldUnwanted | unwanted field | Unwanted field was passed. |
FieldInvalid | invalid field | Input parameter failed validation. |
FieldItemCountOutOfRange | field item count out of range | The number of field items exceeds the limit (for example, the number of images exceeds the limit). |
PageSizeOutOfRange | page size out of range | Image size/parameter exceeds the limit |
ImageFormatInvalid / VideoFormatInvalid | invalid image/video format | Image/video format does not meet requirements. |
ImageSizeInvalid | image size invalid | Image size is too large or too small. |
ImageDownloadFailure / VideoDownloadFailure | image/video download failure | Failed to download image/video URL |
ImageCheckFaceFailed | Image Check Face Failed | Input image face detection failed. |
ImageCheckBodyJointsFailed | Image Check Body Joints Failed | Input image human body detection failed. |
NoFaceDetected / MultiFaceDetected | no / multi face detected | No face detected / multiple faces detected |
TaskPromptPolicyViolation | prompt policy violation | Prompt triggers security review and risk control. |
CreationPolicyViolation | creation policy violation | Generated content triggers risk control. |
AuditSubmitIllegal / AuditFailed | submit is illegal / audit failed | Input failed security review / audit failed. |
CreditInsufficient | insufficient credits | Insufficient credits |
ModelUnavailable | model unavailable | Model unavailable |
Unauthorized | unauthorized | Unauthorized (check Authorization) |
Forbidden | forbidden | The request has no permission. |
TaskNotFound / CreationNotFound / NotFound | not found | Task/creation/resource does not exist. |
QuotaExceeded | quota exceeded | Exceeding the concurrency limit |
TooManyRequests | too many requests | Requests are too frequent. |
SystemThrottling | system is throttling | Resource limit exceeded (throttling) |
UserCancelled / Canceled | user cancelled / request canceled | User manually terminated / request canceled. |
InternalServiceFailure | internal service failure | Internal server error |
Unknown | unknown | Unknown cause |
API | vidu-video-q4-preview | q3 Series (q3 / q3-Pro / q3-turbo) |
Text-to-video generation | Not supported | 1 to 16, default 5 |
Image-to-video generation | 3 to 16, default 5 | 1 to 16, default 5 |
Multi-image reference video generation | 3 to 16, default 5 | 3 to 16, default 5 |
First-last frame video generation | Not supported. | 1 to 16, default 5 |
duration varies by API capability and is not determined solely by the model. For example, with q3-turbo, text-to-video supports 1 to 16 seconds, while reference-to-video requires a minimum of 3 seconds.data:image/png;base64, prefix).subjects method for reference-to-video generation, define subject names through subjects[].name and reference them in the prompt as @subject_name (for example, @girl and @boy are eating hot pot together). Avoid using subject names that are substrings of each other.vidu-video-q4-preview (supports only image-to-video and reference-to-video).vidu-video-q3-turbo;vidu-video-q3;vidu-video-q3-pro.@subject_name, which is suitable for multi-subject interaction scenarios. The prompt can contain up to 5,000 characters. Audio and video can be generated simultaneously (audio).audio enables direct audio-video output, producing videos with dialogue and sound effects. Both the q3 series and q4-preview support this feature:audio: true.bgm background music parameter.aspect_ratio parameter. Image-to-video and first/last frame-to-video do not have this parameter, and the output aspect ratio follows the input image ratio.creations[].url and transfer it to your own storage. Do not rely on this link long-term.Apakah halaman ini membantu?
Anda juga dapat Menghubungi Penjualan atau Mengirimkan Tiket untuk meminta bantuan.
masukan