Vidu Q3 Pro Text To Video
Playground
Try it on WavespeedAI!Vidu Q3 Pro Text to Video is a fast AI video generation model that creates high-quality, audio-capable videos from text prompts with support for 1–16 second outputs. Ready-to-use REST inference API for cinematic clips, advertising creatives, social media videos, product visuals, storytelling, and professional text-to-video workflows with simple integration, no coldstarts, and affordable pricing.
Features
Vidu Q3 Pro Text-to-Video
Vidu Q3 Pro Text-to-Video is a fast, versatile text-to-video model that generates high-quality videos from natural-language prompts. It supports multiple resolutions, style presets, motion intensity control, and optional audio generation with background music, making it well suited for rapid creative iteration, content production, and concept visualization.
API Reference
- This modality: Vidu Text-to-Video API (
POST /ent/v2/text2video, modelviduq3-pro) - Related: Image-to-Video · Start-End-to-Video
- Official pricing: Vidu Pricing — Q3 Pro
text2video,img2video, andstart-end2videoshare the same1–16spricing tiers by resolution.
Why Choose This?
-
Fast generation Pro architecture delivers quick results for rapid prototyping and iteration.
-
Text-driven video creation Turn scene descriptions into dynamic video clips with controllable motion and style.
-
Multiple resolutions Choose from
540p,720p, or1080pto balance quality and cost. -
Style presets Select a visual style preset to better match your creative direction.
-
Motion control Adjust
movement_amplitudeto control the intensity of motion in the video. -
Optional audio generation Generate synchronized audio and background music for more complete video output.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the desired video scene. |
| style | No | Visual style preset. Default: general. |
| resolution | No | Output resolution: 540p, 720p, or 1080p. Default: 720p. |
| duration | No | Video length in seconds. Supports 1–16 seconds for Q3 Pro. Default: 5. |
| movement_amplitude | No | Controls motion intensity. Default: auto. |
| generate_audio | No | Whether to generate synchronized audio. Default: enabled. |
| bgm | No | Whether to include background music. Default: enabled. |
| seed | No | Random seed for reproducible results. Use -1 for a random seed. |
How to Use
- Write your prompt — describe the scene, action, camera feel, and visual style you want.
- Choose a style — select a preset that matches your creative direction.
- Set resolution — use
540pfor speed,720pfor balance, or1080pfor higher quality. - Set duration — choose the desired video length.
- Adjust motion (optional) — control movement intensity with
movement_amplitude. - Configure audio (optional) — toggle
generate_audioandbgmif you want sound in the output. - Set a seed (optional) — use a fixed seed for more reproducible generations.
- Submit — run the model and download the generated video.
Example Prompt
A cinematic night drive through a neon-lit city, light rain reflecting on the road, smooth forward camera motion, moody atmosphere, realistic lighting, subtle environmental motion
Pricing
Pricing is based on duration and resolution.
| Resolution | Cost per Second |
|---|---|
| 540p | $0.05 |
| 720p | $0.125 |
| 1080p | $0.15 |
Example Costs
| Resolution | 1s | 5s | 10s | 16s |
|---|---|---|---|---|
| 540p | $0.05 | $0.25 | $0.50 | $0.80 |
| 720p | $0.125 | $0.625 | $1.25 | $2.00 |
| 1080p | $0.15 | $0.75 | $1.50 | $2.40 |
Billing Rules
- Pricing scales linearly with
duration 540pcosts $0.25 per 5 seconds720pcosts 2.5× the540pbase rate1080pcosts 3× the540pbase ratestyle,movement_amplitude,generate_audio,bgm, andseeddo not affect pricing- Off-peak pricing may be available separately through the provider
Best Use Cases
- Social media content — Create engaging short-form videos for Reels, Shorts, and similar formats.
- Rapid prototyping — Quickly visualize creative concepts before committing to production.
- Marketing and ads — Generate promotional clips with synchronized audio and motion.
- Storytelling — Bring narrative scenes to life with motion, mood, and background music.
- Game and app assets — Create animated content for interactive experiences and presentations.
Pro Tips
- Be specific in your prompt about scene, action, lighting, and camera movement.
- Start with
540pfor rapid iteration, then switch to720por1080pfor final-quality output. - Use a fixed
seedwhen you want more consistent variations. - Enable
bgmfor atmospheric content, and disable it when you plan to add custom audio later. - Lower
movement_amplitudefor calmer scenes, and raise it for more energetic or dramatic motion.
Notes
promptis the only required field.durationsupports1–16seconds for Q3 Pro.- Higher resolution increases both output quality and total cost.
- Native Vidu documentation uses the
audioflag, while this WaveSpeed schema exposesgenerate_audioandbgm. seed = -1means a random seed will be used.
Related Models
- Vidu Q3 Pro Image-to-Video — Animate a reference image into video with Q3 Pro speed.
- Vidu Q3 Pro Start-End-to-Video — Generate videos with precise start and end frame control.
- Vidu Q3 Text-to-Video — Higher-quality text-to-video generation at the non-Pro tier.
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/text-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"style": "general",
"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. | |
| style | string | No | general | general, anime | The style of output video. |
| resolution | string | No | 720p | 540p, 720p, 1080p | 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.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 |