> ## 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.

# Kling V2.1 Image-to-Video

Kling V2.1 is the latest generation AI-powered image-to-video model from the Kuaishou team, capable of generating high-quality, cinematic short videos from a single image or text prompt. Compared to Kling 2.0, version 2.1 features significant breakthroughs in motion smoothness, visual consistency, and prompt comprehension.

<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="image" type="string" required={true}>
  First frame image for the video. Supported image formats include `.jpg`, `.jpeg`, `.png`. Image file size must not exceed 10MB, with a minimum resolution of 300x300 pixels.
</ParamField>

<ParamField body="prompt" type="string" required={true}>
  Positive text prompt for video generation. Must not exceed 2500 characters.
</ParamField>

<ParamField body="mode" type="string" required={false}>
  Video generation mode.

  Supported:

  * `Standard`: Fast generation, lower cost, produces 720p video.
  * `Professional`: High quality, higher cost, produces 1080p video.

  Default: `Standard`.
</ParamField>

<ParamField body="duration" type="string" default="5">
  Duration of the generated video (in seconds).

  Possible values: `5`, `10`
</ParamField>

<ParamField body="guidance_scale" type="number" default={0.5}>
  Guidance scale parameter that controls how closely the generated content adheres to the prompt.

  Range: 0 to 1<br />
  Step: 0.01
</ParamField>

<ParamField body="negative_prompt" type="string">
  Negative prompt to specify content to avoid in the generation. Must not exceed 2500 characters.
</ParamField>

## Response

<ResponseField name="task_id" type="string" required={true}>
  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.
</ResponseField>
