> ## 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 Turbo Multi-frame to Video

Quickly generate coherent videos from multiple keyframe images. Supports three resolutions: 540p, 720p, and 1080p. The Turbo version balances generation speed and video quality.

<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="wm_url" type="string">
  Watermark image URL. When watermark is enabled but no custom URL is provided, the default watermark is used. This parameter has no effect if watermark is disabled.
</ParamField>

<ParamField body="payload" type="string">
  Pass-through parameter, not processed in any way, used only for data transmission. Up to 1048576 characters.
</ParamField>

<ParamField body="meta_data" type="string">
  Metadata identifier, a JSON-format string. Pass-through field.
</ParamField>

<ParamField body="watermark" type="boolean" default={false}>
  Whether to add a watermark. true: add watermark; false: no watermark. Default: false.
</ParamField>

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

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

<ParamField body="start_image" type="string" required={true}>
  Start frame image. Supports Base64-encoded images or image URLs. Only 1 image is supported. Supported formats: png, jpeg, jpg, webp. Image aspect ratio must be less than 1:4 or 4:1. Maximum file size: 50 MB.
</ParamField>

<ParamField body="wm_position" type="string" default="bottom_left">
  Watermark position. Default: bottom-left. This parameter has no effect if watermark is disabled.

  Possible values: `top_left`, `top_right`, `bottom_right`, `bottom_left`
</ParamField>

<ParamField body="image_settings" type="array" required={true}>
  Keyframe configuration array. Minimum 2 keyframes per task, maximum 9 keyframes.

  Array length: 2 - 9

  <Expandable title="properties" defaultOpen={true}>
    <ParamField body="prompt" type="string">
      Text prompt for extending from the previous image, used to control the extended video content.
    </ParamField>

    <ParamField body="duration" type="integer" default={5}>
      Duration between keyframes (seconds). Default: 5s. Range: 2-7s.

      Range: \[2, 7]
    </ParamField>

    <ParamField body="key_image" type="string" required={true}>
      Reference image for the intermediate frame. The model uses this image as the end frame for video generation. Supports Base64-encoded images or image URLs. Only 1 image is supported. Input order corresponds to the timeline order (from start frame to end frame). Supported formats: png, jpeg, jpg, webp. Image aspect ratio must be less than 1:4 or 4:1. Maximum file size: 50 MB.
    </ParamField>
  </Expandable>
</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>
