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

# Kling 1.6 Pro Image to Video

> Kling 1.6 Pro Image to Video parameters and billing factors.

# Kling 1.6 Pro Image to Video

Public model ID: `kwaivgi/kling-video/v1.6/pro/image-to-video`.

<Tip>
  Submit with `VIDGO_API_KEY`, then use [Query Task Status](/api-manual/task-management/status) with the returned `task_id`. Optional root-level `callback_url` enables [webhook notifications](/api-manual/task-management/webhooks).
</Tip>

## Input workflow

Provide **either** `start_image_url` for first-frame animation **or** `image_urls` for Elements. The endpoint does not accept text-only requests.

* Elements accepts 1–4 reference images and cannot be combined with `start_image_url`, `end_image_url`, or `cfg_scale`.
* Pro supports an optional `end_image_url` when `start_image_url` is present; aspect ratio is supported in both workflows.

The image fields select the workflow.

## Parameters

Place generation parameters inside `input`. Keep `model` and optional `callback_url` at the request root. Unsupported input fields are rejected before credits are deducted.

| Parameter         | Requirement | Description                                                                                                         |
| ----------------- | ----------- | ------------------------------------------------------------------------------------------------------------------- |
| `prompt`          | Required    | Required nonblank string, at most 2,500 Unicode characters after trimming.                                          |
| `duration`        | Required    | Required integer: 5 or 10 seconds. No API default.                                                                  |
| `aspect_ratio`    | Optional    | Optional: 1:1, 16:9 or 9:16. No API default.                                                                        |
| `negative_prompt` | Optional    | Optional string, at most 2,500 Unicode characters.                                                                  |
| `cfg_scale`       | Optional    | Optional finite number from 0 to 1. Not supported with image\_urls. No API default.                                 |
| `start_image_url` | Conditional | First-frame HTTP(S) URL. Required for the first-frame workflow; mutually exclusive with image\_urls.                |
| `end_image_url`   | Optional    | Optional Pro last-frame HTTP(S) URL. Requires start\_image\_url; not supported with image\_urls.                    |
| `image_urls`      | Conditional | Elements: 1 to 4 HTTP(S) reference URLs. Mutually exclusive with start\_image\_url, end\_image\_url and cfg\_scale. |

Image URLs must be public HTTP(S) URLs with a hostname, without embedded credentials or whitespace. Local files can be uploaded in the playground before submitting their URL. Optional parameters have no documented API defaults.

## Billing Factors

Billing depends on the selected model tier (Standard or Pro) and video duration (`duration`). Usage is charged per generated second. Within a tier, text-to-video, first-frame animation, and Elements use the same rate.

Credits are deducted on submission and refunded if the task fails.


## OpenAPI

````yaml api-manual/video-series/kwaivgi-kling-video-v1-6-pro-image-to-video.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Kling 1.6 Pro Image to Video
  description: >-
    Animate reference images with Kling 1.6 Pro, using text direction and
    negative prompts to shape the scene and motion.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Video Series
      summary: Kling 1.6 Pro Image to Video
      description: >-
        Send only the fields shown for this workflow. Parameters from other
        workflows are rejected before credits are deducted.


        When supplied, prompt must not be blank. Input URL fields require
        HTTP(S) URLs with a hostname and no embedded credentials.
      operationId: submit_kwaivgi_kling_video_v1_6_pro_image_to_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: kwaivgi/kling-video/v1.6/pro/image-to-video
                input:
                  type: object
                  required:
                    - prompt
                    - duration
                  description: >-
                    Input parameters for generation. PoYo selects the generation
                    workflow from the provided image fields.
                  additionalProperties: false
                  properties:
                    prompt:
                      type: string
                      description: >-
                        Required nonblank string, at most 2,500 Unicode
                        characters after trimming.
                      maxLength: 2500
                      example: A cinematic video scene
                      minLength: 1
                    duration:
                      type: integer
                      description: 'Required integer: 5 or 10 seconds. No API default.'
                      enum:
                        - 5
                        - 10
                      example: 5
                    aspect_ratio:
                      type: string
                      description: 'Optional: 1:1, 16:9 or 9:16. No API default.'
                      enum:
                        - '1:1'
                        - '16:9'
                        - '9:16'
                      example: '16:9'
                    negative_prompt:
                      type: string
                      description: Optional string, at most 2,500 Unicode characters.
                      maxLength: 2500
                      example: blur, low quality, artifacts
                    cfg_scale:
                      type: number
                      description: >-
                        Optional finite number from 0 to 1. Not supported with
                        image_urls. No API default.
                      minimum: 0
                      maximum: 1
                      example: 0.5
                    start_image_url:
                      type: string
                      format: uri
                      description: >-
                        First-frame HTTP(S) URL. Required for the first-frame
                        workflow; mutually exclusive with image_urls.
                      example: https://example.com/start-frame.png
                    end_image_url:
                      type: string
                      format: uri
                      description: >-
                        Optional Pro last-frame HTTP(S) URL. Requires
                        start_image_url; not supported with image_urls.
                      example: https://example.com/end-frame.png
                    image_urls:
                      type: array
                      items:
                        type: string
                        format: uri
                      description: >-
                        Elements: 1 to 4 HTTP(S) reference URLs. Mutually
                        exclusive with start_image_url, end_image_url and
                        cfg_scale.
                      minItems: 1
                      maxItems: 4
                      example:
                        - https://example.com/reference-1.png
                  oneOf:
                    - required:
                        - start_image_url
                      not:
                        required:
                          - image_urls
                    - required:
                        - image_urls
                      not:
                        anyOf:
                          - required:
                              - start_image_url
                          - required:
                              - end_image_url
                          - required:
                              - cfg_scale
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint for task completion
                    notifications. HTTPS is recommended. Omit, use null, or use
                    an empty string to disable callbacks.
              description: >-
                Keep model and callback_url at the root. Unknown root fields are
                ignored; unsupported input fields are rejected.
            examples:
              basic:
                summary: First-frame image to video
                value:
                  model: kwaivgi/kling-video/v1.6/pro/image-to-video
                  input:
                    prompt: A quiet forest in morning light, with a slow camera pan.
                    duration: 5
                    start_image_url: https://example.com/start-frame.png
              callback:
                summary: Receive a completion callback
                value:
                  model: kwaivgi/kling-video/v1.6/pro/image-to-video
                  input:
                    prompt: A quiet forest in morning light, with a slow camera pan.
                    duration: 5
                    start_image_url: https://example.com/start-frame.png
                  callback_url: https://your-domain.com/callback
              elements:
                summary: Elements reference images
                value:
                  model: kwaivgi/kling-video/v1.6/pro/image-to-video
                  input:
                    prompt: A quiet forest in morning light, with a slow camera pan.
                    duration: 5
                    aspect_ratio: '16:9'
                    image_urls:
                      - https://example.com/reference-1.png
              first-last-frame:
                summary: Pro first and last frames
                value:
                  model: kwaivgi/kling-video/v1.6/pro/image-to-video
                  input:
                    prompt: A quiet forest in morning light, with a slow camera pan.
                    duration: 5
                    start_image_url: https://example.com/start-frame.png
                    end_image_url: https://example.com/end-frame.png
                    cfg_scale: 0.5
                    aspect_ratio: '16:9'
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: task-unified-example
                  status: running
                  created_time: '2026-09-10T08:00:00'
        '400':
          description: >-
            Invalid input, unsupported tier, inaccessible media, or insufficient
            credits
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Unable to create the upstream generation task
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration or capability is not approved
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````