Vidu Text To Video Q2
Playground
Try it on WavespeedAI!Vidu Q2 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 Q2 Text-to-Video
Vidu Q2 Text-to-Video turns your text prompts into short cinematic clips with coherent motion, balanced lighting, and reliable scene composition. It supports style presets, multiple aspect ratios, motion intensity control, and optional background music — ideal for ads, social posts, explainers, and animation creation.
Why Choose This?
-
Fast, stable motion Clear details and smooth camera paths without flicker or artifacts.
-
Style presets Choose between general and animate modes for different creative directions.
-
Animation optimized Specifically tuned for high-quality animation creation.
-
Motion amplitude control Dial in subtle vs. energetic movement to match your vision.
-
Optional background music Auto-generate BGM for instant, shareable clips.
Parameters
| Parameter | Required | Description |
|---|---|---|
| prompt | Yes | Describe subject, setting, lighting, camera, and action |
| style | No | Style preset: general or animate |
| resolution | No | Output resolution: 540p, 720p, or 1080p |
| duration | No | Video length in seconds (1–10) |
| aspect_ratio | No | Aspect ratio: 4:3 or 3:4 |
| movement_amplitude | No | Motion intensity: low, medium, or high |
| bgm | No | Enable background music generation |
| seed | No | Random seed for reproducibility (-1 for random) |
How to Use
- Write your prompt — describe subject, camera, lighting, and motion.
- Pick a style — general for realistic, animate for animation.
- Choose resolution — 540p, 720p, or 1080p based on quality needs.
- Set aspect ratio — 4:3 or 3:4 for your target platform.
- Set duration — choose video length from 1 to 10 seconds.
- Adjust movement amplitude — low for subtle, high for dynamic.
- Enable BGM (optional) — add background music automatically.
- Run — submit and download your video.
Pricing
| Resolution | Duration | Price |
|---|---|---|
| 540p | 1s | $0.05 |
| 540p | 2s | $0.06 |
| 540p | 3s | $0.07 |
| 540p | 4s | $0.08 |
| 540p | 5s | $0.09 |
| 540p | 6s | $0.10 |
| 540p | 7s | $0.11 |
| 540p | 8s | $0.12 |
| 540p | 9s | $0.22 |
| 540p | 10s | $0.32 |
| 720p | 1s | $0.075 |
| 720p | 2s | $0.10 |
| 720p | 3s | $0.125 |
| 720p | 4s | $0.15 |
| 720p | 5s | $0.175 |
| 720p | 6s | $0.20 |
| 720p | 7s | $0.225 |
| 720p | 8s | $0.25 |
| 720p | 9s | $0.35 |
| 720p | 10s | $0.45 |
| 1080p | 1s | $0.10 |
| 1080p | 2s | $0.15 |
| 1080p | 3s | $0.20 |
| 1080p | 4s | $0.25 |
| 1080p | 5s | $0.30 |
| 1080p | 6s | $0.35 |
| 1080p | 7s | $0.40 |
| 1080p | 8s | $0.45 |
| 1080p | 9s | $0.55 |
| 1080p | 10s | $0.60 |
Billing Rules
540p: $0.05 for 1s, +$0.01/s up to 8s, then $0.22 for 9s, $0.32 for 10s
720p: $0.075 for 1s, +$0.025/s up to 8s, then $0.35 for 9s, $0.45 for 10s
1080p: $0.10 for 1s, +$0.05/s up to 8s, then $0.55 for 9s, $0.60 for 10s
Best Use Cases
- Animation Creation — Specifically optimized for high-quality animated content.
- Social Media Ads — Create engaging video ads from text descriptions.
- Explainer Videos — Generate concept visualizations and explainers.
- Quick Concept Reels — Rapid iteration on creative ideas.
- Marketing Content — Produce promotional clips without filming.
Pro Tips
- Start with subject + action + camera (e.g., “tracking shot of…”, “handheld close-up…”).
- Add lighting details (e.g., “neon backlight”, “golden-hour sun”).
- Use movement_amplitude instead of stuffing the prompt with motion words — cleaner results.
- Keep style words minimal; let the style preset and resolution do the heavy lifting.
- Use animate style for cartoon/anime content, general for realistic scenes.
Notes
- Maximum duration is 10 seconds per generation.
- The style parameter optimizes the model for specific scenarios, but the final effect still depends on your prompt.
- Ensure your prompts comply with content guidelines.
Related Models
- Vidu Q2 Turbo Image-to-Video — Fast image-to-video generation.
- Vidu Q2 Pro Image-to-Video — High-quality image-to-video generation.
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/text-to-video-q2" \
--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",
"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 ~ 10 | The duration of the generated media in seconds. |
| aspect_ratio | string | No | 4:3 | 3:4, 4:3 | 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. |
| 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 |