Browse ModelsViduVidu Q3 Pro Start End To Video

Vidu Q3 Pro Start End To Video

Vidu Q3 Pro Start End To Video

Playground

Try it on WavespeedAI!

Vidu Q3 Pro Start-End-to-Video creates smooth transitions between two keyframes with viduq3-pro (1–16s). Billing follows Vidu’s published Q3-pro per-second rates by resolution. Ready-to-use REST inference API on WaveSpeed.

Features

Vidu Q3 Pro Start-End-to-Video

Vidu Q3 Pro Start-End-to-Video generates videos with precise control over both the first and last frames. Provide a start image, an end image, and a text prompt, and the model creates a smooth, coherent transition between the two visual states. It supports multiple resolutions, motion control, and optional audio generation with background music.


Why Choose This?

  • Start and end frame control Define both the opening and ending visuals for more precise and predictable video transitions.

  • Smooth interpolation Generate natural, fluid motion between two reference frames.

  • Fast pro-speed generation Q3 Pro is built for rapid iteration, testing, and content prototyping.

  • Multiple resolution options Choose from 540p, 720p, or 1080p depending on your quality and budget needs.

  • Optional audio generation Generate synchronized audio and optional background music for richer outputs.

  • Motion intensity control Adjust movement_amplitude to control how subtle or dramatic the transition feels.


Parameters

ParameterRequiredDescription
promptYesText description of the desired motion, action, and transition.
imageYesStart frame image (URL or upload).
last_imageYesEnd frame image (URL or upload).
durationNoVideo length in seconds. Supports 1–16 seconds for Q3 Pro. Default: 5.
resolutionNoOutput resolution: 540p, 720p, or 1080p. Default: 720p.
bgmNoWhether to include background music. Default: enabled.
generate_audioNoWhether to generate synchronized audio. Default: enabled.
movement_amplitudeNoControls the intensity of motion in the transition. Default: auto.
seedNoRandom seed for reproducible results. Default: -1.

How to Use

  1. Upload your start image — provide the first frame of the video.
  2. Upload your end image — provide the last frame of the video.
  3. Write your prompt — describe the motion, action, and transition between the two frames.
  4. Set duration — choose how long you want the video to be.
  5. Set resolution — use 540p for speed, 720p for balance, or 1080p for quality.
  6. Adjust motion (optional) — control movement intensity with movement_amplitude.
  7. Enable audio (optional) — toggle generate_audio and bgm if you want sound in the result.
  8. Submit — run the model and download your video.

Example Prompt

A cinematic transformation from a clean product photo to a glowing premium hero shot, with subtle camera push-in, soft reflections, and smooth visual motion between the two states.


Pricing

Pricing is based on duration and resolution.

ResolutionCost per Second
540p$0.05
720p$0.125
1080p$0.15

Example Costs

Resolution5s10s16s
540p$0.25$0.50$0.80
720p$0.625$1.25$2.00
1080p$0.75$1.50$2.40

Billing Rules

  • Pricing scales linearly with duration
  • Higher resolutions cost more per second
  • movement_amplitude, generate_audio, bgm, and seed do not affect pricing
  • Off-peak pricing may be available separately through the provider

Best Use Cases

  • Scene transitions — Create smooth cinematic transitions between two visual states.
  • Product morphing — Show product transformations, feature changes, or visual upgrades.
  • Before/after content — Generate engaging videos that compare two different looks or conditions.
  • Character animation — Animate a subject moving from one pose or mood to another.
  • Rapid prototyping — Quickly test visual transition ideas with fast generation speed.

Pro Tips

  • Use images with similar composition for smoother transitions.
  • Describe the motion happening between the two frames, not just the static start and end states.
  • Start with shorter durations like 5s to validate the transition before generating longer clips.
  • Use a fixed seed when you want more consistent variations.
  • Lower movement_amplitude for subtle transitions, and raise it for more dramatic changes.

Notes

  • prompt, image, and last_image are all required.
  • duration supports 1–16 seconds for Q3 Pro.
  • seed = -1 means a random seed will be used.
  • Native Vidu documentation uses the audio flag, while this WaveSpeed schema exposes generate_audio and bgm.
  • Higher resolution increases both output quality and total cost.

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-pro/start-end-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "duration": 5,
    "resolution": "720p",
    "bgm": true,
    "generate_audio": 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
imagestringYes-The start image for generating the output.
promptstringYes-The positive prompt for the generation.
last_imagestringYes--The end image for generating the output.
durationnumberNo51 ~ 16The duration of the generated media in seconds.
resolutionstringNo720p540p, 720p, 1080pThe resolution of the generated media.
bgmbooleanNotrue-The background music for generating the output.
generate_audiobooleanNotrue-Whether to generate audio.
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.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.