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

# Image to Video

> Animate an image into a video using Kling.

## Body Parameters

<ParamField body="model" type="string" required>
  Kling model. Options:

  * `kling-v3` — Per-second billing, multi-shot, element control (3–15s), \$0.084–\$0.168/sec
  * `kling-v2-6` — Fixed pricing, std/pro modes (5s or 10s), \$0.21–\$1.40 per video
</ParamField>

<ParamField body="input" type="object" required>
  Input parameters for the generation.

  <Expandable title="properties">
    <ParamField body="image" type="string" required>
      Input image URL to animate.
    </ParamField>

    <ParamField body="image_tail" type="string">
      End frame image URL. When provided, the video transitions from the input image to this image.

      * **V3**: Supported in both `std` and `pro` modes
      * **V2.6**: Only supported in `pro` mode
    </ParamField>

    <ParamField body="prompt" type="string">
      Text description to guide the video generation.
    </ParamField>

    <ParamField body="negative_prompt" type="string">
      Describe what you do not want to see in the output.
    </ParamField>

    <ParamField body="duration" type="number">
      Video length in seconds.

      * **V3**: Integer from `3` to `15`
      * **V2.6**: `5` or `10`
    </ParamField>

    <ParamField body="aspect_ratio" type="string" default="16:9">
      Output aspect ratio. Options: `16:9`, `9:16`, `1:1`
    </ParamField>

    <ParamField body="mode" type="string" default="std">
      Generation quality mode. Options: `std` (standard), `pro` (professional)
    </ParamField>

    <ParamField body="sound" type="string" default="off">
      Enable audio generation with the video. Options: `on`, `off`.

      **Pricing impact (V3):**

      * std + no audio: \$0.084/sec
      * std + audio: \$0.126/sec
      * pro + no audio: \$0.112/sec
      * pro + audio: \$0.168/sec
    </ParamField>

    <ParamField body="multi_shot" type="string">
      **V3 only.** Enable multi-shot mode. Options:

      * `true` — Enable multi-shot with manual `multi_prompt` segments
      * `intelligence` — AI-powered automatic scene splitting
    </ParamField>

    <ParamField body="multi_prompt" type="object[]">
      **V3 only.** Multi-shot segment prompts. Requires `multi_shot` to be enabled. Maximum 6 segments.

      Each segment object:

      * `index` (number, required) — Shot number, starting from 1, must be consecutive
      * `prompt` (string, required) — Description for this shot
      * `duration` (number) — Duration of this segment in seconds
    </ParamField>

    <ParamField body="element_list" type="object[]">
      **V3 only.** Element control list. Maximum 4 elements. Each element object:

      * `element_id` (number, required) — Positive integer referencing a pre-created element
    </ParamField>

    <ParamField body="voice_list" type="object[]">
      Voice list for audio generation. Requires `sound: "on"`. Each voice object:

      * `voice_id` (string) — Voice identifier
      * `text` (string) — Text to speak
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="webhookUrl" type="string">
  URL to receive a webhook when the task completes.
</ParamField>

<ParamField body="metadata" type="object">
  Custom key-value metadata to attach to the task.
</ParamField>

<ResponseExample>
  ```json 202 theme={null}
  {
    "success": true,
    "data": {
      "id": "task_ghi789",
      "status": "pending",
      "type": "image-to-video",
      "provider": "kling",
      "model": "kling-v3",
      "created_at": "2026-02-27T10:00:00Z",
      "estimated_seconds": 60
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": {
      "code": "VALIDATION_ERROR",
      "message": "Invalid request parameters"
    }
  }
  ```
</ResponseExample>
