WaveSpeedAI APIViduVidu Image To Video Q2 Pro

Vidu Image To Video Q2 Pro

Vidu Image To Video Q2 Pro

Playground

Try it on WavespeedAI!

Vidu Q2 Pro turns a single still image into smooth, cinematic image-to-video with stable motion, clean edges, and consistent lighting. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Vidu Q2 Pro — Image-to-Video

Vidu Q2 Pro turns a single still image into a smooth, cinematic video. It’s built for creators who need stable motion, clean edges, and consistent lighting—fast.


Why it looks great

  • Crisp motion from one frame: Generates natural camera moves and subject animation without warping.
  • Identity & detail preservation: Protects faces, hair, hands, and thin structures.
  • Layout-aware dynamics: Respects depth and parallax for believable foreground/background movement.
  • Sound, if you want it: Optional BGM can be auto-added for social-ready clips.

What it supports

  • Input: 1 reference image (PNG/JPG/WebP)
  • Duration: 1–10 seconds
  • Resolutions: 540p, 720p, 1080p
  • Controls: movement_amplitude (auto/small/medium/large), seed (reproducibility), optional BGM

How to use

  1. Upload your image (clear subject, good lighting works best).
  2. Write a prompt that describes desired motion, mood, and camera move.
  3. Choose duration (1–10s) and resolution (540p/720p/1080p).
  4. (Optional) Toggle BGM and set movement_amplitude.
  5. (Optional) Set a seed to reproduce results.
  6. Run and download your video.

Price

ResolutionDurationPricing
540p1s$0.04
540p2s$0.05
540p3s$0.075
540p4s$0.10
540p5s$0.125
540p6s$0.15
540p7s$0.175
540p8s$0.20
540p9s$0.30
540p10s$0.40
720p1s$0.075
720p2s$0.125
720p3s$0.175
720p4s$0.225
720p5s$0.275
720p6s$0.325
720p7s$0.375
720p8s$0.425
720p9s$0.525
720p10s$0.625
1080p1s$0.275
1080p2s$0.35
1080p3s$0.425
1080p4s$0.50
1080p5s$0.575
1080p6s$0.65
1080p7s$0.725
1080p8s$0.80
1080p9s$0.90
1080p10s$1.00

Notes

  • Results depend on input quality, motion complexity, and chosen amplitude.
  • Ensure you have the right to use the uploaded image in your project.

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-q2-pro" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "duration": 5,
    "resolution": "720p",
    "bgm": true,
    "movement_amplitude": "auto",
    "seed": -1
}'

# 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

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-The positive prompt for the generation.
imagestringYes-The start image for generating the output.
durationintegerNo51, 2, 3, 4, 5, 6, 7, 8The duration of the generated media in seconds.
resolutionstringNo720p540p, 720p, 1080pVideo resolution.
bgmbooleanNotrue-The background music for generating the output.
movement_amplitudestringNoautoauto, small, medium, largeThe movement amplitude of objects in the frame. Defaults to auto, accepted value: auto small medium large.
seedintegerNo-1-1 ~ 2147483647The random seed to use for the generation. -1 means a random seed will be used.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.