Vidu Q3 Drama

Vidu Q3 Drama

Playground

Try it on WaveSpeedAI!

Vidu Q3 Drama generates complete script-driven drama videos from scripts and structured assets, including characters, scenes, tools, and references. It plans the narrative structure, scene pacing, and transitions to create a story-driven drama in one request, supporting up to 180 seconds. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

Vidu Q3 Drama generates a story-driven drama video from a script and a structured asset list. It is designed for one-click drama creation: provide the story, characters, scenes, tools, and references, and the model helps organize the narrative structure, scene pacing, and final video output.


Why Choose This?

  • One-click drama generation
    Generate a complete drama-style video in a single request instead of producing isolated clips one by one.

  • Script-driven storytelling
    Use content to describe the full drama plot, character actions, dialogue, emotions, camera movement, and scene details.

  • Structured asset control
    Define characters, scenes, and tools with IDs, names, types, reference images, and descriptions.

  • Reference-based consistency
    Use asset reference images to guide character identity, scene appearance, props, and visual details.

  • Flexible placement control
    Use image and placement to guide positioning, panorama, or step-based references.

  • Quality and layout options
    Choose quality, resolution, aspect ratio, and style to match your drama format and visual direction.


Properties

PropertyRequiredTypeDescription
nameYesstringTask name.
contentYesstringFull drama script or story content. Supports up to 5000 characters.
assetsYesarray-objectAsset list. Up to 14 assets are supported; 3–10 are recommended.
assets.idYesstringAsset ID, using numeric strings such as 01, 02, 03.
assets.nameYesstringAsset name, up to 30 characters.
assets.typeYesstring enumAsset type. Supported values: character, scene, tool.
assets.image_uriYesstringReference image for this asset. Supports public image URL or Base64 image data.
assets.descriptionNostringAsset description, such as identity, appearance, age, role, scene details, or tool details.
imageNostringPositioning reference image uploaded by the user.
placementNostring enumPlacement mode: upload, panorama, or step. Default: upload.
qualityNostring enumQuality level: standard or high. Default: high.
durationNointegerDuration value used for generation and pricing. Current pricing is calculated within the 2–30 second range.
resolutionNostring enumOutput resolution: 720p or 1080p. Default: 1080p.
aspect_ratioNostring enumOutput aspect ratio: 9:16 or 16:9. Default: 9:16.
styleNostringVideo style, such as realistic, 3D modeling, or 2D animation. Limit: 30 characters; punctuation is not recommended.

Image Requirements

  • assets.image_uri supports image URL or Base64 image data.
  • Supported image formats: PNG, JPEG, JPG, and WebP.
  • Base64 input should include the content type prefix, for example: data:image/png;base64,{base64_encode}.
  • Each asset can correspond to one image.
  • Keep image URLs publicly accessible.
  • Keep images within the documented size, aspect ratio, and request body limits.

How to Use

  1. Enter task name — Set name for the drama generation task.
  2. Write the story — Add the full drama script or story in content.
  3. Add assets — Provide characters, scenes, or tools in the assets list.
  4. Set asset IDs — Use numeric strings such as 01, 02, 03, and so on.
  5. Upload asset images — Provide image_uri for every asset.
  6. Add asset descriptions optional — Describe identity, appearance, scene details, or tool details.
  7. Add positioning reference optional — Provide image and choose placement if needed.
  8. Choose output settings — Select quality, resolution, aspect ratio, duration, and style.
  9. Submit — Generate the drama video.

Pricing

Pricing is based on the selected duration. The rate is $0.14 per second, calculated from $1.12 per 8 seconds.

DurationPrice
2s$0.28
5s$0.70
8s$1.12
10s$1.40
15s$2.10
20s$2.80
30s$4.20

Best Use Cases

  • Short drama generation — Create story-driven drama videos from a complete script and asset list.
  • Character-driven storytelling — Generate narrative clips with defined characters, scenes, tools, and references.
  • Story ads — Produce short promotional stories with structured characters and plot progression.
  • Serialized hooks — Create dramatic short-form hooks for episodic content or social platforms.
  • Product storytelling — Use characters, scenes, and props to present a product through a narrative format.
  • Creative prototyping — Quickly test story structure, scene pacing, and character presentation.

Pro Tips

  • Use clear asset IDs such as 01, 02, and 03 to keep references organized.
  • Provide 3–10 assets for better structure and easier scene planning.
  • Write content as a complete story, including plot, actions, emotions, dialogue, camera movement, and scene details.
  • Use detailed asset descriptions to clarify character identity, outfit, role, scene style, or tool appearance.
  • Use high quality for a more polished drama result.
  • Choose 9:16 for vertical short drama content and 16:9 for widescreen storytelling.
  • Keep style concise, such as realistic, 3D modeling, or 2D animation.

## Authentication

For authentication details, please refer to the [Authentication Guide](/api-authentication).

## API Endpoints

### Submit Task & Query Result

<ApiTabs submitUrl={model.submitUrl} resultUrl={model.resultUrl} payload={model.defaultValues} />

## Parameters

### Task Submission Parameters

#### Request Parameters

<RequestParams params={model.params} />

#### Response Parameters

<SubmitResponse />

#### 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 |
| data.model | string | Model ID used for the prediction |
| data.outputs | array&lt;string \| object&gt; | Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to poll for the prediction result |
| data.status | string | Status: `created`, `processing`, `completed`, or `failed` |
| data.created_at | string | ISO timestamp of when the request was created |
| 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 |
© 2026 WaveSpeedAI. All rights reserved.