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

# VIDU Q2 Pro Smart Multi-Frame

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

<Tip>
  This is an **asynchronous** API and only returns the task\_id of the asynchronous task. You should use this task\_id to request the [Get Task Result API](/en/docs/models/reference-get-async-task-result) to retrieve the generated result.
</Tip>

## Request Headers

<ParamField header="Content-Type" type="string" required={true}>
  Enum value: `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. If watermarking is enabled but no custom watermark URL is provided, the default watermark is used. This parameter has no effect if no watermark is added.
</ParamField>

<ParamField body="payload" type="string">
  Pass-through parameter. It is not processed in any way and is only transmitted as data. Up to 1048576 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 a watermark; false: do not add a watermark. Not added by default.
</ParamField>

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

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

<ParamField body="start_image" type="string" required={true}>
  First-frame image. Supports passing an image Base64 encoding or an image URL. Only 1 image is supported as input. Supports png, jpeg, jpg, and webp formats. The image aspect ratio must be within 1:4 to 4:1. Image size must not exceed 50 MB.
</ParamField>

<ParamField body="wm_position" type="string" default="bottom_left">
  Watermark position. Defaults to bottom left. This parameter has no effect if no watermark is added.

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

<ParamField body="image_settings" type="object[]" required={true}>
  Keyframe configuration array. Each task requires at least 2 keyframes and supports up to 9 keyframes.

  Array length: 2 - 9

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

    <ParamField body="duration" type="integer" default={5}>
      Multi-frame duration. The video duration between different keyframes. Default is 5s; options are 2–7s.

      Value range: \[2, 7]
    </ParamField>

    <ParamField body="key_image" type="string" required={true}>
      Reference image for an intermediate frame. The model uses the image in this parameter as the end frame to generate the video. Supports passing an image Base64 encoding or an image URL. Only 1 image is supported as input. The input order is the timeline order (from the first frame to the last frame). Supports png, jpeg, jpg, and webp formats. The image aspect ratio must be within 1:4 to 4:1. Image size must not exceed 50 MB.
    </ParamField>
  </Expandable>
</ParamField>

## Response

<ResponseField name="task_id" type="string" required={true}>
  Use task\_id to request the [Get Task Result API](/en/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>
