Vidu Image to Video 2.0
Bring your images to life by turning them into dynamic videos that capture your vision and action.
Features
Vidu 2.0 image to video can produce fluid, dramatic videos by a single image. The model transforms a still image into a temporally rich narrative sequence by extrapolating realistic motion and scene dynamics.
Key Features
- High-resolution output (up to 1280×720)
- Temporal coherence up to 80 to 160 frames (4s to 8s)
- Artistic and photorealistic flexibility
- Excellent at facial and motion consistency
ComfyUI
vidu 2.0 image to video is available on ComfyUI, providing local inference capabilities through a node-based workflow, ensuring flexible and efficient image generation on your system.
Use Cases
- Portrait animation
- Historical photo storytelling
- Stylized photo-to-video transitions
- Product showcase generation
Accelerated Inference
Our accelerated inference approach leverages advanced optimization technology from WavespeedAI. This innovative fusion technique significantly reduces computational overhead and latency, enabling rapid image generation without compromising quality. The entire system is designed to efficiently handle large-scale inference tasks while ensuring that real-time applications achieve an optimal balance between speed and accuracy. For further details, please refer to the blog post.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/vidu/image-to-video-2.0" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"image": "https://d2g64w682n9w0w.cloudfront.net/media/images/1745492812795806468_P4jFBxup.jpg",
"prompt": "Two colorful clowns dancing wildly in a busy street market, their exaggerated gestures and big smiles drawing attention. Vibrant stalls in the background, chaotic and joyful atmosphere, fast-paced movement, playful energy",
"duration": 4,
"movement_amplitude": "auto",
"seed": 0
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
image | string | Yes | https://d2g64w682n9w0w.cloudfront.net/media/images/1745492812795806468_P4jFBxup.jpg | - | An image to be used as the start frame of the generated video. For fields that accept images: Only accepts 1 image; Images Assets can be provided via URLs or Base64 encode; You must use one of the following codecs: PNG, JPEG, JPG, WebP; The aspect ratio of the images must be less than 1:4 or 4:1; All images are limited to 50MB; The length of the base64 decode must be under 50MB, and it must include an appropriate content type string. |
prompt | string | Yes | Two colorful clowns dancing wildly in a busy street market, their exaggerated gestures and big smiles drawing attention. Vibrant stalls in the background, chaotic and joyful atmosphere, fast-paced movement, playful energy | - | Text prompt: A textual description for video generation, with a maximum length of 1500 characters |
duration | integer | No | 4 | 4, 8 | The number of seconds of duration for the output video Default to 4 accepted value: 4, 8 |
movement_amplitude | string | No | auto | - | The movement amplitude of objects in the frame. Defaults to auto, accepted value: auto small medium large |
seed | integer | No | - | -1 ~ 9999999999 | The seed to use for generating the video. Random seed: Defaults to a random seed number; Manually set values will override the default random seed. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |