Authentication
authorization string required
All APIs require authentication via Bearer Token.
Get API Key:
Visit API Key Management Page to get your API Key
Usage:
Add to request header:
Authorization: Bearer YOUR_API_KEY
Parameters
model string required
Model ID to use for the request
Value: viduq2_pro_extend
video_creation_id string
Vidu video ID, one of video_url or video_creation_id is required
video_url string
Any video URL, one of video_url or video_creation_id is required
Note: Video duration must be at least 4 seconds and no more than 1 minute
images array
Reference image for extending to the end frame, the model will use the image passed in this parameter as the end frame to extend the video
Format Requirements:
Supports Base64 encoding or image URL (must be accessible)
Only supports input of 1 image
Supported formats: png, jpeg, jpg, webp
Image aspect ratio must be less than 1:4 or 4:1
Image size must not exceed 50MB
HTTP request POST body must not exceed 20MB, and encoding must include appropriate content type string. Example: data:image/png;base64,{base64_encode}
prompt string
Extension prompt to control the extended video content
resolution string
Video resolution
Options: 540p, 720p, 1080p
Default: 720p
duration integer
Extension duration in seconds
Options: 1 - 7
Default: 5
watermark boolean
Whether to add a watermark. When true, a watermark is added; when false, no watermark is added
Currently watermark content is fixed and AI-generated, by default no watermark is added
Options: true, false
Default: false
wm_url string
Watermark content, provided as a watermark image URL, this parameter is invalid if watermark is not added
When watermark is enabled but custom watermark URL is not provided, the default AI-generated watermark is used
wm_position string
Watermark position, this parameter is invalid if watermark is not added
Options: top_left (Top-left), top_right (Top-right), bottom_right (Bottom-right), bottom_left (Bottom-left)
Default: bottom_left
meta_data string
Metadata identifier, JSON format string, pass-through field
You can customize the format or use the example format. Example:
{
"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 default metadata identifier generated by vidu is used
payload string
Pass-through parameter, no processing required, only data transmission, maximum 1048576 characters
callback_url string
Callback URL
Polling
Since video generation takes time, you need to poll the task status after creation
The initial response returns the task ID and initial status. The actual generation results must be obtained through polling the task status endpoint
Response Format
error object
Error information. Only present when status is failed.
code
integerError code
error_message
stringDetailed error message.
output array
Generation results. Only present when status is completed.
content
arrayList of generated content
type
stringResource type
url
stringContent URL
jobId
stringJob ID
usage object
Usage statistics. Only present when status is completed.
model
stringModel name
duration
integerVideo duration
resolution
stringVideo resolution
credits
integerCredits consumed
metadata object
Metadata information
Error Codes
| Error Code | Description |
|---|---|
| 008012001 | Video parameter missing |
| 008012002 | Video URL invalid |
| 008012003 | Video creation ID invalid |
| 008012004 | Prompt length invalid |
| 008012005 | Duration invalid |
| 008012006 | Resolution invalid |
| 008012007 | Image count invalid |
| 008012008 | Image format invalid |
| 008012009 | Image size invalid |
| 008012010 | Pass-through parameter length invalid |
| 008012011 | Callback URL invalid |
| 008012098 | Generation failed |
| 008012099 | Service unavailable |