Vidu Q3 Text To Video
Playground
Try it on WavespeedAI!Vidu Q3 Text-to-Video turns text prompts into high-quality videos with exceptional visual fidelity and diverse motion. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Vidu Q3 Text-to-Video
Vidu Q3 Text-to-Video is an advanced AI video generation model that creates high-quality videos directly from text descriptions. With support for multiple styles, resolutions up to 1080p, and optional audio generation, it delivers cinematic results with smooth motion and rich detail.
Why Choose This?
-
Multiple styles Choose between general realistic style or anime aesthetic.
-
High resolution output Generate videos in 540p, 720p, or 1080p quality.
-
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.
-
Prompt Enhancer Built-in tool to automatically improve your video descriptions.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Text description of the video scene and action |
| style | No | Visual style: general (default), anime |
| resolution | No | Output quality: 540p, 720p (default), 1080p |
| duration | No | Video length in seconds (1-16, default: 5) |
| aspect_ratio | No | Output ratio: 16:9, 4:3, 9:16, etc. |
| 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 (-1 for random) |
How to Use
- Write your prompt — describe the scene, characters, and action in detail.
- Select style — choose general for realistic or anime for animated style.
- Set resolution — higher resolution for better quality, lower for faster processing.
- 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
| Resolution | Cost per second |
|---|---|
| 540p | $0.07 |
| 720p | $0.15 |
| 1080p | $0.16 |
Best Use Cases
- Social Media Content — Create short-form videos for TikTok, Reels, and Stories.
- Concept Visualization — Bring creative ideas to life without filming.
- Anime Content — Generate anime-style animations from descriptions.
- Marketing Videos — Produce promotional content from text.
- Storytelling — Create narrative scenes for creative projects.
Pro Tips
- Use the Prompt Enhancer to refine your descriptions automatically.
- Be specific about character actions, emotions, and scene details.
- Use “anime” style for stylized, animated content.
- Set movement_amplitude to “small” for subtle, cinematic motion or “large” for dynamic action.
- Enable generate_audio and bgm for complete video with sound.
- Use seed for reproducible results when iterating on prompts.
Notes
- 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 prompts describe clear, visualizable scenes for best results.
Related Models
- Vidu Q3 Image-to-Video — Generate video from reference images.
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/text-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"style": "general",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "4:3",
"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. |
| aspect_ratio | string | No | 4:3 | 16:9, 9:16, 4:3, 3:4, 1:1 | The aspect ratio of the generated media. |
| 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 |