Vidu Q3 Image To Video Pro
Playground
Try it on WavespeedAI!Vidu Q3 Image-to-Video Pro generates high-resolution videos (720p/1080p/2K/4K) from images with exceptional visual fidelity and diverse motion. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Vidu Q3 Image-to-Video Pro
Vidu Q3 Image-to-Video Pro is a high-performance variant of Vidu Q3 that brings static images to life with enhanced visual quality. Generate stunning videos up to 4K resolution with smooth motion, optional audio, and cinematic detail.
Why Choose This?
-
High-resolution output Generate videos in 720p, 1080p, 2K, or 4K quality.
-
Image-driven generation Transform any image into dynamic video with natural motion.
-
Flexible duration Create videos from 1 to 16 seconds in length.
-
Audio generation Optional synchronized audio and background music.
-
Motion control Adjust movement amplitude for subtle or dynamic animations.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the desired motion and action |
| image | Yes | Reference image to animate (URL or upload) |
| resolution | No | Output quality: 720p (default), 1080p, 2k, 4k |
| duration | No | Video length in seconds (1-16, default: 5) |
| movement_amplitude | No | Motion intensity: auto (default), small, medium, large |
| generate_audio | No | Generate synchronized audio (default: enabled) |
| bgm | No | Add background music (default: enabled) |
| seed | No | Random seed for reproducibility |
How to Use
- Upload your image — provide the reference image to animate.
- Write your prompt — describe the motion, camera movement, and action.
- Set resolution — choose 720p, 1080p, 2K, or 4K output.
- Adjust duration — set video length up to 16 seconds.
- Configure audio (optional) — enable/disable audio generation and background music.
- Set motion intensity (optional) — control how dynamic the movement is.
- Run — submit and download your video.
Pricing
| Duration | 720p | 1080p | 2K | 4K |
|---|---|---|---|---|
| 5 s | $0.45 | $0.50 | $0.60 | $0.75 |
| 10 s | $0.90 | $1.00 | $1.20 | $1.50 |
| 15 s | $1.35 | $1.50 | $1.80 | $2.25 |
Billing Rules
- 720p rate: $0.09 per second
- 1080p rate: $0.10 per second
- 2K rate: $0.12 per second
- 4K rate: $0.15 per second
Best Use Cases
- Premium Production — High-resolution video requiring superior visual quality.
- Photo Animation — Bring portraits, landscapes, and product images to life.
- Social Media Content — Create engaging high-resolution video content from static images.
- Marketing & Ads — Generate dynamic promotional videos from product photos.
- Creative Projects — Explore motion concepts from reference images at high resolution.
Pro Tips
- Be specific about movement direction, speed, and camera angles.
- Set movement_amplitude to “small” for subtle, cinematic motion or “large” for dramatic action.
- Enable generate_audio for realistic sound effects matching the scene.
- Use high-quality source images for better video results.
- Higher resolutions (2K, 4K) produce better detail but cost more.
Notes
- Both prompt and image are required fields.
- Maximum video duration is 16 seconds.
- Audio generation adds synchronized sound effects and ambient audio.
- BGM adds background music appropriate to the scene mood.
- Ensure uploaded image URLs are publicly accessible.
Related Models
- Vidu Q3 Image-to-Video — Standard resolution image-to-video at lower cost.
- Vidu Q3 Text-to-Video — Generate video directly from text descriptions.
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/q3/image-to-video-pro" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"resolution": "720p",
"duration": 5,
"movement_amplitude": "auto",
"generate_audio": true,
"bgm": true
}'
# 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 |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| image | string | Yes | - | The URL of the image to generate an image from. | |
| resolution | string | No | 720p | 720p, 1080p, 2k, 4k | The resolution of the generated media. |
| duration | number | No | 5 | 1 ~ 16 | The duration of the generated media in seconds. |
| movement_amplitude | string | No | auto | auto, small, medium, large | The movement amplitude of objects in the frame. Defaults to auto, accepted value: auto small medium large. |
| generate_audio | boolean | No | true | - | Whether to generate audio. |
| bgm | boolean | No | true | - | The background music for generating the output. |
| seed | integer | No | - | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
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 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, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | 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.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 |