---
title: "Create a Kling Omni image task"
method: POST
path: "/kling/v1/images/omni-image"
---

# Create a Kling Omni image task

`POST /kling/v1/images/omni-image`

Create an asynchronous Kling Omni Image task. Poll `GET /kling/v1/images/omni-image/{task_id}` until the task reaches a terminal state.

## Headers

- `Content-Type` string

## Request body

- object
  - `model_name` string — Optional model ID for this Omni Image request. Omit this field to use the route default.
  - `prompt` string, required — Text prompt for the generated image. The prompt can reference images with `<<<image_1>>>`, `<<<image_2>>>`, and matching indexes from `image_list`. Maximum length is 2,500 characters.
  - `image_list` object[] — Reference images that the prompt can cite with `<<<image_1>>>`, `<<<image_2>>>`, and so on. Keep the total number of reference images within the provider limits for the selected model.
    - `image` string, required — Image URL or Base64 image string. Supported formats are JPG, JPEG, and PNG. The image file must be accessible, no larger than 10 MB, at least 300 px on each side, and between 1:2.5 and 2.5:1 aspect ratio.
  - `resolution` '1k' | '2k' | '4k' — Requested output resolution. Use `1k`, `2k`, or `4k`; omitted requests use `1k`.
  - `result_type` 'single' — Use `single` for a single-image task.
  - `n` integer — Number of single-image results to generate. Range: 1 to 9.
  - `aspect_ratio` '16:9' | '9:16' | '1:1' | '4:3' | '3:4' | '3:2' | '2:3' | '21:9' | 'auto' — Requested output aspect ratio in width:height format. Use `auto` to let the provider choose from the prompt and references.
  - `watermark_info` object — Watermark options. When `enabled` is `true`, the task can return watermarked result URLs in addition to the original result URLs.
    - `enabled` boolean — Whether to request watermarked result URLs.
  - `callback_url` string, uri — Webhook URL that receives task status notifications when the task status changes. Omit this field to poll manually.
  - `external_task_id` string — User-defined task ID for your own tracking. It does not replace the system-generated `task_id` and must be unique per account.

## Response `200`

Task accepted.

- object
  - `code` integer, required — Response code. `0` means the task request was accepted.
  - `message` string, required — Response message.
  - `request_id` string — Request identifier returned by CometAPI when present.
  - `data` object, required
    - `task_id` string, required — System-generated Kling task ID. Use it to query `GET /kling/v1/images/omni-image/{task_id}`.
    - `task_status` 'submitted' | 'processing' | 'succeed' | 'failed', required — Task state at the time of the response.
    - `task_status_msg` string, nullable — Status detail or failure reason when the provider returns one.
    - `task_info` object — Task creation metadata, including `external_task_id` when you provide one.
      - `external_task_id` string, nullable — User-defined task ID from the request, when provided.
    - `task_result` object, nullable — Result metadata. This field is usually empty or omitted at submission time and is populated after a successful query.
      - `images` object[] — Generated single-image results.
        - `index` integer — Result image index.
        - `url` string — Generated image URL.
        - `watermark_url` string — Watermarked image URL when watermark output is requested.
    - `created_at` integer, required — Task creation timestamp in milliseconds.
    - `updated_at` integer, required — Task update timestamp in milliseconds.
    - `final_unit_deduction` string — Final unit deduction after a successful task, when returned.

---

[API](https://skmtc.net/cometapi/apis/create-api-key.md) · [All operations](https://skmtc.net/cometapi/apis/create-api-key/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cometapi/create-api-key/versions/0863102dbf34/schema)
