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

# Vidu Q3 T2V

> Generate high-quality videos from text descriptions with multiple resolutions and audio support.

Vidu Q3 Text-to-Video generates high-quality videos from text descriptions with support for multiple resolutions up to 1080p, various aspect ratios, and optional audio generation. It includes style options for general or anime aesthetics.

<Card title="Try in playground" icon="play" href="https://console.runpod.io/hub/playground/video/vidu-q3-t2v" horizontal>
  Test Vidu Q3 T2V in the Runpod Hub playground.
</Card>

|              |                                                |
| ------------ | ---------------------------------------------- |
| **Endpoint** | `https://api.runpod.ai/v2/vidu-q3-t2v/runsync` |
| **Pricing**  | \$0.15 per second                              |
| **Type**     | Video generation                               |

## Request

All parameters are passed within the `input` object in the request body.

<ParamField body="input.prompt" type="string" required>
  Text description of the video scene and action.
</ParamField>

<ParamField body="input.style" type="string" default="general">
  Visual aesthetic style. Options: `general`, `anime`.
</ParamField>

<ParamField body="input.resolution" type="string" default="720p">
  Output video resolution. Options: `540p`, `720p`, `1080p`.
</ParamField>

<ParamField body="input.duration" type="integer" default="5">
  Video length in seconds (1-16).
</ParamField>

<ParamField body="input.aspect_ratio" type="string" default="4:3">
  Output aspect ratio. Options: `16:9`, `9:16`, `4:3`, `3:4`, `1:1`.
</ParamField>

<ParamField body="input.movement_amplitude" type="string" default="auto">
  Motion intensity control. Options: `auto`, `small`, `medium`, `large`.
</ParamField>

<ParamField body="input.generate_audio" type="boolean" default="true">
  Enable synchronized audio generation.
</ParamField>

<ParamField body="input.bgm" type="boolean" default="true">
  Enable background music.
</ParamField>

<ParamField body="input.seed" type="integer" default="-1">
  Random seed for reproducibility. Set to -1 for random.
</ParamField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST "https://api.runpod.ai/v2/vidu-q3-t2v/runsync" \
    -H "Authorization: Bearer $RUNPOD_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "input": {
        "prompt": "A futuristic city at night with flying cars and neon lights",
        "style": "general",
        "resolution": "720p",
        "duration": 5,
        "aspect_ratio": "16:9",
        "movement_amplitude": "auto",
        "generate_audio": true,
        "bgm": true,
        "seed": -1
      }
    }'
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      "https://api.runpod.ai/v2/vidu-q3-t2v/runsync",
      headers={
          "Authorization": f"Bearer {RUNPOD_API_KEY}",
          "Content-Type": "application/json",
      },
      json={
          "input": {
              "prompt": "A futuristic city at night with flying cars and neon lights",
              "style": "general",
              "resolution": "720p",
              "duration": 5,
              "aspect_ratio": "16:9",
              "movement_amplitude": "auto",
              "generate_audio": True,
              "bgm": True,
              "seed": -1,
          }
      },
  )

  result = response.json()
  print(result["output"]["video_url"])
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch(
    "https://api.runpod.ai/v2/vidu-q3-t2v/runsync",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${RUNPOD_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        input: {
          prompt: "A futuristic city at night with flying cars and neon lights",
          style: "general",
          resolution: "720p",
          duration: 5,
          aspect_ratio: "16:9",
          movement_amplitude: "auto",
          generate_audio: true,
          bgm: true,
          seed: -1,
        },
      }),
    }
  );

  const result = await response.json();
  console.log(result.output.video_url);
  ```
</RequestExample>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the request.
</ResponseField>

<ResponseField name="status" type="string">
  Request status. Returns `COMPLETED` on success, `FAILED` on error.
</ResponseField>

<ResponseField name="delayTime" type="integer">
  Time in milliseconds the request spent in queue before processing began.
</ResponseField>

<ResponseField name="executionTime" type="integer">
  Time in milliseconds the model took to generate the video.
</ResponseField>

<ResponseField name="output" type="object">
  The generation result containing the video URL and cost.

  <ResponseField name="output.video_url" type="string">
    URL of the generated video. This URL expires after 7 days.
  </ResponseField>

  <ResponseField name="output.cost" type="float">
    Cost of the generation in USD.
  </ResponseField>
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "COMPLETED",
    "delayTime": 28,
    "executionTime": 52341,
    "output": {
      "video_url": "https://video.runpod.ai/abc123/output.mp4",
      "cost": 0.75
    }
  }
  ```

  ```json 400 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "FAILED",
    "error": "Invalid prompt"
  }
  ```
</ResponseExample>

<Warning>
  Video URLs expire after 7 days. Download and store generated videos immediately if you need to keep them.
</Warning>

## Cost calculation

Vidu Q3 T2V charges \$0.15 per second of video generated.

| Duration   | Cost   |
| ---------- | ------ |
| 5 seconds  | \$0.75 |
| 10 seconds | \$1.50 |
| 16 seconds | \$2.40 |
