> ## 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 Start-End Frame to Video

Quickly generate coherent videos from start and end frame 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="bgm" type="boolean" default={false}>
  Whether to add background music to the generated video. true: the system will automatically select and add suitable music from the preset BGM library; false: no BGM is added. BGM duration is not limited; the system automatically adapts to the video length.
</ParamField>

<ParamField body="seed" type="integer">
  Random seed. When not provided or set to 0, a random number is used; when manually set, the specified seed is used.
</ParamField>

<ParamField body="images" type="array" required={true}>
  Image array. The first image is treated as the start frame, and the second as the end frame. The model uses these images to generate the video. Exactly 2 images are supported. Note 1: The resolutions of the start and end frame images must be similar (start frame resolution / end frame resolution must be between 0.8 and 1.25). Note 2: Supports Base64-encoded images or image URLs (must be accessible). Note 3: Supported formats: png, jpeg, jpg, webp. Note 4: Maximum file size: 50MB. Note 5: Base64 encoding must include the appropriate content type string, e.g.: data:image/png;base64,{base64_encode}

  Array length: 2 - 2
</ParamField>

<ParamField body="is_rec" type="boolean" default={false}>
  Whether to use recommended prompts. true: the system automatically recommends a prompt and uses it to generate the video (costs an additional 10 credits per task); false: generate the video based on the provided prompt.
</ParamField>

<ParamField body="prompt" type="string">
  Text prompt describing the video to generate. Note 1: Maximum 2000 characters. Note 2: If the is\_rec recommended prompt parameter is enabled, the model will ignore the prompt provided here.

  Length limit: 0 - 2000
</ParamField>

<ParamField body="wm_url" type="string">
  Watermark content, specified as an image URL. When not provided, the default watermark is used: "AI Generated".
</ParamField>

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

  Length limit: 0 - 1048576
</ParamField>

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

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

<ParamField body="off_peak" type="boolean" default={false}>
  Off-peak mode. true: generate video during off-peak hours (lower credit cost, processed within 48 hours); false: generate video immediately. Note: tasks submitted in off-peak mode that are not completed will be automatically cancelled and credits refunded; you can also manually cancel off-peak tasks.
</ParamField>

<ParamField body="meta_data" type="string">
  Metadata identifier, a JSON-format string, pass-through field. You can customize the format or use the example format. When this parameter is empty, the default metadata identifier generated by Vidu is used.
</ParamField>

<ParamField body="watermark" type="boolean" default={false}>
  Whether to add a watermark. Default: no watermark. You can use the watermarked\_url parameter to retrieve the watermarked video.
</ParamField>

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

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

<ParamField body="wm_position" type="integer" default={3}>
  Watermark position, indicating where the watermark appears on the video. 1: top-left; 2: top-right; 3: bottom-right (default); 4: bottom-left.

  Possible values: `1`, `2`, `3`, `4`
</ParamField>

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

  Possible values: `auto`, `small`, `medium`, `large`
</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>
