# VIDU Q2 Text to Video - Documentation

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown is available with `Accept: text/markdown` and `.md` URL variants.

Source: /docs/api-reference/model-apis-vidu-q2-text2video

# VIDU Q2 Text to Video

POST

/

v3

/

async

/

vidu-q2-text2video

VIDU Q2 Text to Video

cURL

```
curl --request POST \
--url https://api.novita.ai/v3/async/vidu-q2-text2video \
--header 'Authorization: &#x3C;authorization>' \
--header 'Content-Type: &#x3C;content-type>' \
--data '
{
"bgm": true,
"seed": 123,
"audio": true,
"style": "&#x3C;string>",
"prompt": "&#x3C;string>",
"duration": 123,
"subjects": [
{
"id": "&#x3C;string>",
"images": [
{}
],
"voice_id": "&#x3C;string>"
}
],
"watermark": true,
"resolution": "&#x3C;string>",
"aspect_ratio": "&#x3C;string>",
"movement_amplitude": "&#x3C;string>"
}
'
```

200

```
{
"task_id": "&#x3C;string>"
}
```

VIDU Q2 Text to Video API, supports multiple resolution options. Generates video content based on text descriptions.

This is an asynchronous API; only the task_id will be returned. You should use the task_id to request the [Task Result API](/docs/api-reference/model-apis-task-result) to retrieve the video generation results.

##

[​](#request-headers)

Request Headers

[​](#param-content-type)

Content-Type

string

required

Supports: `application/json`

[​](#param-authorization)

Authorization

string

required

Bearer authentication format, for example: Bearer {{API Key}}.

##

[​](#request-body)

Request Body

[​](#param-bgm)

bgm

boolean

default:false

Whether to add background music

[​](#param-seed)

seed

integer

Random seed, used to control the randomness of the generation result. The same seed will produce similar results.

[​](#param-audio)

audio

boolean

default:false

Whether to generate audio

[​](#param-style)

style

string

Video style, e.g., cinematic, realistic, artistic, etc.

[​](#param-prompt)

prompt

string

required

Text prompt, describing the desired video content in detailLength limit: 1 - unlimited

[​](#param-duration)

duration

integer

default:5

required

Video duration in seconds, supports 1-10 secondsOptional values: `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`

[​](#param-subjects)

subjects

array

default:"[]"

List of subjects, each containing id, images, and voice_id (can be empty for text-to-video)

Hide properties

[​](#param-id)

id

string

required

Subject ID, referenced in the prompt using @id

[​](#param-images)

images

array

required

List of subject image URLsArray length: 1 - unlimited

[​](#param-voice-id)

voice_id

string

default:""

Voice ID, optional

[​](#param-watermark)

watermark

boolean

default:false

Whether to add watermark

[​](#param-resolution)

resolution

string

default:"720p"

Output video resolution. Default is 720p.Optional values: `540p`, `720p`, `1080p`

[​](#param-aspect-ratio)

aspect_ratio

string

Video aspect ratio, e.g., 16:9, 9:16, 1:1, etc.

[​](#param-movement-amplitude)

movement_amplitude

string

Movement amplitude, controls the intensity of object movement in the videoOptional values: `auto`, `small`, `medium`, `high`

##

[​](#response)

Response

[​](#param-task-id)

task_id

string

required

Use the task_id to request the [Task Result API](/docs/api-reference/model-apis-task-result) to retrieve the generated outputs.

Last modified on January 21, 2026
