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

# Lấy tác vụ ảnh Kling Omni

> Sử dụng CometAPI GET /kling/v1/images/omni-image/{task_id} để thăm dò trạng thái tác vụ Kling Omni Image và lấy các URL ảnh đã tạo.

Sử dụng endpoint này sau khi bạn [tạo một tác vụ ảnh Kling Omni](/api/image/kling/omni-image). Truyền `data.task_id` được trả về từ yêu cầu tạo và thăm dò cho đến khi `data.task_status` là `succeed` hoặc `failed`.

<Note>
  Tuyến truy vấn công khai của CometAPI là `GET /kling/v1/images/omni-image/{task_id}`. Không sử dụng `GET /v1/images/omni-image`; tuyến đó không phải là endpoint truy vấn công khai của CometAPI cho các tác vụ Kling Omni Image.
</Note>

## Hành vi thăm dò

* Sử dụng cùng tài khoản CometAPI đã tạo tác vụ
* Thăm dò mỗi 20-30 giây cho đến khi `task_status` là `succeed` hoặc `failed`
* Đọc các URL ảnh đã tạo từ `data.task_result.images` khi tác vụ thành công
* Lưu các ảnh đã hoàn tất vào hệ thống lưu trữ của riêng bạn nếu bạn cần truy cập lâu dài

Các tác vụ từ tài khoản khác, bản ghi đã hết hạn hoặc ID không xác định sẽ trả về `task_not_exist`.

## Các trường kết quả

Các phản hồi truy vấn thành công trả về các ảnh đã tạo trong `data.task_result.images`. Mỗi mục có thể bao gồm:

| Field           | Description                                             |
| --------------- | ------------------------------------------------------- |
| `index`         | Vị trí của ảnh đã tạo trong kết quả tác vụ.             |
| `url`           | URL ảnh đã tạo.                                         |
| `watermark_url` | URL ảnh có watermark khi đầu ra watermark được yêu cầu. |

URL tài nguyên đã tạo có thể hết hạn hoặc bị dịch vụ nhà cung cấp xóa. Hãy lưu các ảnh đã hoàn tất vào lớp lưu trữ của riêng bạn khi quy trình làm việc của bạn cần lưu giữ lâu dài.


## OpenAPI

````yaml api/openapi/image/kling/get-omni-image.openapi.json GET /kling/v1/images/omni-image/{task_id}
openapi: 3.1.0
info:
  title: Kling Omni Image Query API
  version: 1.0.0
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /kling/v1/images/omni-image/{task_id}:
    get:
      summary: Get a Kling Omni image task
      description: >-
        Get the status and result of a Kling Omni Image task by `task_id`. Use
        the `task_id` returned by `POST /kling/v1/images/omni-image`.
      operationId: get_kling_omni_image_task
      parameters:
        - name: task_id
          in: path
          required: true
          description: Task ID returned by `POST /kling/v1/images/omni-image`.
          schema:
            type: string
      responses:
        '200':
          description: Task status or result.
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - message
                  - data
                properties:
                  code:
                    type: integer
                    description: >-
                      Response code. `0` means the task was found and the status
                      payload was returned.
                  message:
                    type: string
                    description: Response message.
                  request_id:
                    type: string
                    description: Request identifier returned by CometAPI when present.
                  data:
                    type: object
                    required:
                      - task_id
                      - task_status
                      - created_at
                      - updated_at
                    properties:
                      task_id:
                        type: string
                        description: System-generated Kling task ID.
                      task_status:
                        type: string
                        description: Current task state.
                        enum:
                          - submitted
                          - processing
                          - succeed
                          - failed
                      task_status_msg:
                        type:
                          - string
                          - 'null'
                        description: Status detail or failure reason when returned.
                      task_info:
                        type: object
                        description: >-
                          Task metadata, including `external_task_id` when you
                          provided one during task creation.
                        properties:
                          external_task_id:
                            type:
                              - string
                              - 'null'
                            description: >-
                              User-defined task ID from the create request, when
                              provided.
                        additionalProperties: true
                      task_result:
                        type:
                          - object
                          - 'null'
                        description: >-
                          Generated output metadata. Present when the task
                          succeeds.
                        properties:
                          images:
                            type: array
                            description: Generated image results.
                            items:
                              type: object
                              properties:
                                index:
                                  type: integer
                                  description: Result image index.
                                url:
                                  type: string
                                  description: Generated image URL.
                                watermark_url:
                                  type: string
                                  description: >-
                                    Watermarked image URL when watermark output
                                    is requested.
                              additionalProperties: true
                        additionalProperties: true
                      created_at:
                        type: integer
                        description: Task creation timestamp in milliseconds.
                      updated_at:
                        type: integer
                        description: Task update timestamp in milliseconds.
                      final_unit_deduction:
                        type: string
                        description: >-
                          Final unit deduction after a successful task, when
                          returned.
                    additionalProperties: true
                additionalProperties: true
              examples:
                Succeed:
                  summary: Finished task
                  value:
                    code: 0
                    message: SUCCEED
                    request_id: <request_id>
                    data:
                      task_id: <task_id>
                      task_info: {}
                      created_at: 1782450245512
                      updated_at: 1782450286078
                      task_result:
                        images:
                          - url: https://your-image-host/generated.png
                            index: 0
                            watermark_url: https://your-image-host/generated-watermarked.png
                      task_status: succeed
                      final_unit_deduction: '8'
                Processing:
                  summary: Task still running
                  value:
                    code: 0
                    message: SUCCEED
                    request_id: <request_id>
                    data:
                      task_id: <task_id>
                      task_info: {}
                      created_at: 1782450245512
                      updated_at: 1782450245512
                      task_status: processing
        '400':
          description: Task not found for the current account or invalid request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type:
                      - string
                      - integer
                      - 'null'
                  message:
                    type: string
                additionalProperties: true
              example:
                code: null
                message: task_not_exist
      x-codeSamples:
        - lang: Shell
          label: Poll task
          source: >
            TASK_ID="<task_id>"


            curl "https://api.cometapi.com/kling/v1/images/omni-image/$TASK_ID"
            \
              -H "Authorization: Bearer $COMETAPI_KEY"
        - lang: Python
          label: Poll task
          source: |
            import os
            import time
            import requests

            task_id = "<task_id>"
            headers = {"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]}

            while True:
                task = requests.get(
                    f"https://api.cometapi.com/kling/v1/images/omni-image/{task_id}",
                    headers=headers,
                ).json()
                status = task["data"]["task_status"]
                print(status)
                if status in ("succeed", "failed"):
                    break
                time.sleep(30)

            if status == "succeed":
                print(task["data"]["task_result"]["images"][0]["url"])
        - lang: JavaScript
          label: Poll task
          source: >
            const taskId = "<task_id>";

            const headers = { Authorization: `Bearer
            ${process.env.COMETAPI_KEY}` };


            let task;

            while (true) {
              task = await (await fetch(
                `https://api.cometapi.com/kling/v1/images/omni-image/${taskId}`,
                { headers },
              )).json();
              const status = task.data.task_status;
              console.log(status);
              if (status === "succeed" || status === "failed") break;
              await new Promise((resolve) => setTimeout(resolve, 30000));
            }


            if (task.data.task_status === "succeed") {
              console.log(task.data.task_result.images[0].url);
            }
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Use your CometAPI API key.

````