> ## 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 O1 Image Edit

> Edit images with Kling O1 using visual references and subject elements, with batch output and resolutions up to 2K.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. A `task_id` is returned immediately. Keep it until the task reaches `finished` or `failed`.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. If you provide a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails.
</Tip>

# Kling O1 Image Edit

Edit images with Kling O1 using visual references and subject elements, with batch output and resolutions up to 2K.

## Available Models

* **kwaivgi/kling-image-o1** - Edit images using a prompt and image references.

## Output Options

### Image Size

* `size`: Optional. Accepted values: `auto`, `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3`, `21:9`. Default: `auto`.

### Resolution

* `resolution`: Optional. Accepted values: `1K`, `2K`. Default: `1K`.

### Image Count

* `n`: Optional. Number of images to generate. Integer from `1` to `9`. Default: `1`.

### Output Format

* `output_format`: Optional. Accepted values: `jpeg`, `png`, `webp`. Default: `png`.

## Key Features

* Edit images using a prompt and image references.
* Accepts 1-10 images in `image_urls`.
* Choose from `1K`, `2K` output resolutions.
* Supply additional subject references through `elements`.
* Control the number of output images with `n`.

## Advanced Parameters

Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`.

Send only the input fields supported by this workflow. Unsupported `input` fields are rejected before credits are deducted. Input URLs must use HTTP(S), include a hostname, and contain no embedded credentials.

### Prompt

* `prompt`: Required. Describe the desired image. Length: **1-2,000 characters**.
* The value must not be blank when supplied.

### Image URLs

* `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-10 items. Each item must be an HTTP(S) URL. A single URL string and Base64 inputs are not accepted.

### Subject Elements

* `elements`: Optional array of subject-reference objects. Refer to them in the prompt as `@Element1`, `@Element2`, etc., in array order. Additional object properties are preserved. No element or additional-view count limit is specified by the upstream contract.

* `elements[].frontal_image_url`: Optional. Use a publicly accessible HTTP(S) URL.

* `elements[].reference_image_urls`: Optional. Supply an array. Each item must be an HTTP(S) URL.

### Tested multi-image example

```json theme={null}
{
  "model": "kwaivgi/kling-image-o1",
  "input": {
    "prompt": "Use image 1 as the flooded forest boardwalk scene to edit and image 2 only as the animal identity reference. Edit the scene in image 1 by adding exactly one adult Malayan tapir, the tapir from image 2, standing on the wide wooden deck in the left-center foreground. Preserve the exact tapir identity and anatomy from image 2: black head, neck and hindquarters, broad white saddle, short flexible snout and white-rimmed ears. The tapir faces left in three-quarter side view, pausing as if listening toward the flooded forest. Its full body must be visible, four feet planted naturally on the boardwalk, correct real-world scale, weight and soft contact shadows. Preserve the boardwalk structure, tree positions, floodwater reflections, original camera perspective and documentary photographic style. Match the soft green canopy daylight. Do not add people, other animals, accessories, text, logos or watermark.",
    "image_urls": [
      "https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/01/input-01.png",
      "https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/01/input-02.png"
    ],
    "resolution": "2K",
    "size": "16:9",
    "output_format": "png",
    "n": 1
  }
}
```

## Billing Factors

Billing depends on output image count (`n`). Both supported resolutions use the same rate. Reference images and subject elements do not add charges.

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


## OpenAPI

````yaml api-manual/image-series/kwaivgi-kling-image-o1.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Kling O1 Image Edit
  description: >-
    Edit images with Kling O1 using visual references and subject elements, with
    batch output and resolutions up to 2K.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - Image Series
      summary: Kling O1 Image Edit
      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_image_o1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: kwaivgi/kling-image-o1
                input:
                  type: object
                  required:
                    - image_urls
                    - prompt
                  description: Input parameters for image editing
                  properties:
                    prompt:
                      type: string
                      description: Editing prompt describing the desired output
                      maxLength: 2000
                      example: >-
                        Place the referenced animal on the forest boardwalk,
                        preserving its markings and the scene perspective
                      minLength: 1
                    image_urls:
                      type: array
                      items:
                        type: string
                        format: uri
                      minItems: 1
                      maxItems: 10
                      description: >-
                        Reference image URLs for editing. Required for
                        kling-o1-image-edit.
                      example:
                        - https://example.com/reference1.png
                    elements:
                      type: array
                      description: >-
                        Optional array of element descriptors for
                        character/object control. Reference them in prompt as
                        @Element1, @Element2, etc. Recommended fields are
                        `frontal_image_url` and optional `reference_image_urls`.
                      items:
                        type: object
                        properties:
                          frontal_image_url:
                            type: string
                            format: uri
                            description: >-
                              Public image URL for the main face/object
                              reference.
                          reference_image_urls:
                            type: array
                            description: >-
                              Optional additional public image URLs for the same
                              element.
                            items:
                              type: string
                              format: uri
                        additionalProperties: true
                      example:
                        - frontal_image_url: https://example.com/subject-front.png
                          reference_image_urls:
                            - https://example.com/subject-side.png
                    resolution:
                      type: string
                      description: Output resolution preset
                      enum:
                        - 1K
                        - 2K
                      default: 1K
                      example: 2K
                    size:
                      type: string
                      description: Output aspect ratio preset
                      enum:
                        - auto
                        - '16:9'
                        - '9:16'
                        - '1:1'
                        - '4:3'
                        - '3:4'
                        - '3:2'
                        - '2:3'
                        - '21:9'
                      default: auto
                      example: '16:9'
                    output_format:
                      type: string
                      description: Output image format.
                      enum:
                        - jpeg
                        - png
                        - webp
                      default: png
                      example: png
                    'n':
                      type: integer
                      description: >-
                        Number of images to generate (1-9). Billing depends on
                        `n`; both supported resolutions use the same rate.
                      minimum: 1
                      maximum: 9
                      default: 1
                      example: 2
                  additionalProperties: false
                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:
              edit-01:
                summary: The Tapir at the Flooded Boardwalk
                value:
                  model: kwaivgi/kling-image-o1
                  input:
                    prompt: >-
                      Use image 1 as the flooded forest boardwalk scene to edit
                      and image 2 only as the animal identity reference. Edit
                      the scene in image 1 by adding exactly one adult Malayan
                      tapir, the tapir from image 2, standing on the wide wooden
                      deck in the left-center foreground. Preserve the exact
                      tapir identity and anatomy from image 2: black head, neck
                      and hindquarters, broad white saddle, short flexible snout
                      and white-rimmed ears. The tapir faces left in
                      three-quarter side view, pausing as if listening toward
                      the flooded forest. Its full body must be visible, four
                      feet planted naturally on the boardwalk, correct
                      real-world scale, weight and soft contact shadows.
                      Preserve the boardwalk structure, tree positions,
                      floodwater reflections, original camera perspective and
                      documentary photographic style. Match the soft green
                      canopy daylight. Do not add people, other animals,
                      accessories, text, logos or watermark.
                    image_urls:
                      - >-
                        https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/01/input-01.png
                      - >-
                        https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/01/input-02.png
                    resolution: 2K
                    size: '16:9'
                    output_format: png
                    'n': 1
              edit-02:
                summary: Listening Inside the Salt Cavern
                value:
                  model: kwaivgi/kling-image-o1
                  input:
                    prompt: >-
                      Make one precise localized edit to this documentary
                      photograph: change only the faded blue canvas messenger
                      bag and its shoulder strap into worn warm-brown leather.
                      Preserve the exact bag silhouette, flap, size, position at
                      the man's right hip, strap route and existing perspective.
                      Add believable leather grain, subtle creases and gently
                      polished worn edges; keep the design plain and unbranded.
                      Everything else must remain unchanged: the same man's
                      face, skin tone, shaved head, expression, pose, hands,
                      dark fleece jacket, trousers, boots, black headphones,
                      handheld recorder, camera framing, salt-crystal cavern
                      geometry, lighting and shadows. Do not add or remove
                      objects, people or animals. No text, logos or watermark.
                    image_urls:
                      - >-
                        https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/02/input-01.png
                    resolution: 2K
                    size: '3:4'
                    output_format: png
                    'n': 1
              edit-03:
                summary: Rainwater Routes in Two-Color Woodcut
                value:
                  model: kwaivgi/kling-image-o1
                  input:
                    prompt: >-
                      Transform this rooftop rainwater-collection photograph
                      into a detailed hand-carved two-color woodcut print, using
                      deep indigo and warm terracotta ink on warm ivory paper.
                      Preserve the original camera view and spatial composition
                      exactly: two cylindrical tanks side by side on the left,
                      the sloping corrugated roof at upper left, downpipe
                      feeding the left tank, connector between the tanks,
                      descending outlet, low brick parapet, drain grate at right
                      foreground, and distant apartment skyline. Keep all pipes
                      connected plausibly and each original object recognizable.
                      Translate shading into expressive carved hatching, bold
                      clean silhouettes, slightly imperfect ink edges and subtle
                      paper texture; no photographic gradients. One continuous
                      scene, no borders, panels, diagrams, added objects,
                      people, animals, text, labels, branding or watermark.
                    image_urls:
                      - >-
                        https://cdn.vidgo.ai/apis/models/kwaivgi/kling-image-o1/edit/v1/03/input-01.png
                    resolution: 2K
                    size: '4:3'
                    output_format: png
                    'n': 1
      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: G9UB0VC3IRIBRX9W
                  status: running
                  created_time: '2026-09-24T11:52:39'
        '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.

````