> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myrouter.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# VIDU Q2 Text to Video

Generate videos from text prompts. Supports three resolutions: 540p, 720p, and 1080p.

<Tip>
  This is an **async** API that only returns the task\_id of the async task. Use the task\_id to call the [Get Async Task Result API](/docs/models/reference-get-async-task-result) to retrieve the generated result.
</Tip>

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum: `application/json`
</ParamField>

<ParamField header="Authorization" type="string" required={true}>
  Bearer authentication format: Bearer \{\{API Key}}.
</ParamField>

## Request Body

<ParamField body="bgm" type="boolean" default={false}>
  Whether to add background music.
</ParamField>

<ParamField body="seed" type="integer">
  Random seed for controlling the randomness of generation. The same seed produces similar results.
</ParamField>

<ParamField body="audio" type="boolean" default={false}>
  Whether to generate audio.
</ParamField>

<ParamField body="style" type="string">
  Video style, e.g. cinematic, realistic, artistic, etc.
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  Text prompt describing the desired video content in detail.

  Length limit: 1 - unlimited
</ParamField>

<ParamField body="duration" type="integer" required={true} default={5}>
  Video duration (seconds), supports 1-10 seconds.

  Possible values: `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`
</ParamField>

<ParamField body="subjects" type="array" default="[]">
  Subject list. Each subject contains id, images, and voice\_id (can be empty for text-to-video).

  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="id" type="string" required={true}>
      Subject ID, referenced in the prompt using @id.
    </ParamField>

    <ParamField body="images" type="array" required={true}>
      List of subject image URLs.

      Array length: 1 - unlimited
    </ParamField>

    <ParamField body="voice_id" type="string" default="">
      Voice ID, optional.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="watermark" type="boolean" default={false}>
  Whether to add a watermark.
</ParamField>

<ParamField body="resolution" type="string" default="720p">
  Output video resolution. Default: 720p.

  Possible values: `540p`, `720p`, `1080p`
</ParamField>

<ParamField body="aspect_ratio" type="string">
  Video aspect ratio, e.g. 16:9, 9:16, 1:1, etc.
</ParamField>

<ParamField body="movement_amplitude" type="string">
  Movement amplitude, controlling the intensity of object motion in the video.

  Possible values: `auto`, `small`, `medium`, `high`
</ParamField>

## Response

<ResponseField name="task_id" type="string" required={true}>
  Use the task\_id to call the [Get Async Task Result API](/docs/models/reference-get-async-task-result) to retrieve the generated output.
</ResponseField>

<ResponseField name="provider_request_id" type="string" required={false}>
  Provider request ID (optional)
</ResponseField>
