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

Generate coherent videos from multiple keyframe images. Supports 540p, 720p, and 1080p resolutions.

<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 watermark 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. No processing is performed; data is transmitted as-is. Maximum 1,048,576 characters.
</ParamField>

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

<ParamField body="watermark" type="boolean" default={false}>
  Whether to add a watermark. true: add watermark. false: no watermark. Default: no watermark.
</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}>
  First 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. Image size must not exceed 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. Each task requires a minimum of 2 keyframes and a maximum of 9 keyframes.

  Array length: 2 - 9

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

    <ParamField body="duration" type="integer" default={5}>
      Multi-frame duration. Video duration between different keyframes. Default: 5s. Options: 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 to generate the video. Supports Base64-encoded images or image URLs. Only 1 image is supported. Input order corresponds to timeline order (from first frame to last frame). Supported formats: png, jpeg, jpg, webp. Image aspect ratio must be less than 1:4 or 4:1. Image size must not exceed 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>
