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

# Интеграция и использование API Nano Banana Tasks

> Nano Banana Image Generation 集成指南 - XHuoAPI

Основная функция API Nano Banana Tasks заключается в том, чтобы запрашивать статус выполнения задачи, используя идентификатор задачи, сгенерированный API Nano Banana Images.

В этом документе подробно описывается интеграция API Nano Banana Tasks, чтобы помочь вам легко интегрировать и в полной мере использовать мощные функции этого API. С помощью API Nano Banana Tasks вы можете легко реализовать запрос статуса выполнения задач API Nano Banana Images.

## Пример запроса

API Nano Banana Tasks можно использовать для запроса результатов API Nano Banana Images. Для получения информации о том, как использовать API Nano Banana Images, обратитесь к документации [Nano Banana Images API](https://api.xhuoapi.ai/documents/63e01dc3-eb21-499e-8049-3025c460058f).

Мы возьмем в качестве примера идентификатор задачи, возвращенный сервисом API Nano Banana Images, и продемонстрируем, как использовать этот API. Предположим, у нас есть идентификатор задачи: 4d320ead-4af4-4a55-8f3e-f2afebdf4fd0, далее мы покажем, как передать этот идентификатор задачи.

### Пример задачи

<p>
  <img src="https://cdn.xhuoapi.ai/nuiuth.png" width="500" className="m-auto" />
</p>

### Установка заголовков запроса и тела запроса

**Request Headers** включает в себя:

* `accept`: указывает на прием ответа в формате JSON, здесь указывается `application/json`.
* `authorization`: ключ для вызова API, который можно выбрать из выпадающего списка после запроса.

**Request Body** включает в себя:

* `id`: загруженный идентификатор задачи.
* `action`: способ выполнения операции над задачей.

Настройка показана на следующем изображении:

<p>
  <img src="https://cdn.xhuoapi.ai/nuiuth.png" width="500" className="m-auto" />
</p>

### Пример кода

Можно заметить, что на правой стороне страницы автоматически сгенерирован код на различных языках, как показано на изображении:

<p>
  <img src="https://cdn.xhuoapi.ai/r1u4vl.png" width="500" className="m-auto" />
</p>

Некоторые примеры кода приведены ниже:

#### CURL

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/nano-banana/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "id": "4d320ead-4af4-4a55-8f3e-f2afebdf4fd0",
  "action": "retrieve"
}'
```

#### Python

```python theme={null}
import requests

url = "https://api.xhuoapi.ai/v1/nano-banana/tasks"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "id": "4d320ead-4af4-4a55-8f3e-f2afebdf4fd0",
    "action": "retrieve"
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

### Пример ответа

После успешного запроса API вернет информацию о деталях этой задачи. Например:

```json theme={null}
{
  "_id": "68bc7c3c550a4144a53d0e24",
  "id": "4d320ead-4af4-4a55-8f3e-f2afebdf4fd0",
  "api_id": "9d8a117e-31ca-4322-a0fd-1771296ec610",
  "application_id": "8afd681a-2a4e-4265-aecb-43970094c019",
  "created_at": 1757183036.787,
  "credential_id": "097b2987-62f4-4ac0-b0cc-aed41e372a07",
  "request": {
    "action": "generate",
    "prompt": "a white siamese cat"
  },
  "trace_id": "7ba1f1e8-0ef8-450d-8bb2-b5c3bf1ea319",
  "type": "images",
  "user_id": "b87f67c1-b04f-4332-99a1-7a5e651331c6",
  "response": {
    "success": true,
    "task_id": "4d320ead-4af4-4a55-8f3e-f2afebdf4fd0",
    "trace_id": "7ba1f1e8-0ef8-450d-8bb2-b5c3bf1ea319",
    "data": [
      {
        "prompt": "a white siamese cat",
        "image_url": "https://platform.cdn.xhuoapi.ai/nanobanana/7e7bd000-698a-4e14-bb2d-3db61237e4bb.png"
      }
    ]
  }
}
```

Возвращаемый результат содержит несколько полей, поле request — это тело запроса, отправленного для создания задачи, в то время как поле response — это тело ответа, возвращенное после завершения задачи. Описание полей следующее.

* `id`: идентификатор, сгенерированный для этой задачи, используется для уникальной идентификации данной задачи.
* `request`: информация о запросе в задаче.
* `response`: информация о возвращаемом ответе в задаче.

## Пакетный запрос

Это запрос для получения деталей нескольких идентификаторов задач, в отличие от вышеописанного, здесь необходимо выбрать action как `retrieve_batch`.

**Request Body** включает в себя:

* `ids`: массив загруженных идентификаторов задач.
* `action`: способ выполнения операции над задачей.

Пример приведен ниже:

```bash theme={null}
curl -X POST 'https://api.xhuoapi.ai/v1/nano-banana/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "ids": ["1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed","1ebe4f2b-59ba-4385-a4ea-0ce8a3fe12ed"],
  "action": "retrieve_batch"
}'
```

### Пример ответа

После успешного запроса API вернет конкретную информацию о всех пакетных задачах. Например:

```json theme={null}
{
  "items": [
    {
      "_id": "68bc7c3c550a4144a53d0e24",
      "id": "4d320ead-4af4-4a55-8f3e-f2afebdf4fd0",
      "api_id": "9d8a117e-31ca-4322-a0fd-1771296ec610",
      "application_id": "8afd681a-2a4e-4265-aecb-43970094c019",
      "created_at": 1757183036.787,
      "credential_id": "097b2987-62f4-4ac0-b0cc-aed41e372a07",
      "request": {
        "action": "generate",
        "prompt": "a white siamese cat"
      },
      "trace_id": "7ba1f1e8-0ef8-450d-8bb2-b5c3bf1ea319",
      "type": "images",
      "user_id": "b87f67c1-b04f-4332-99a1-7a5e651331c6",
      "response": {
        "success": true,
        "task_id": "4d320ead-4af4-4a55-8f3e-f2afebdf4fd0",
        "trace_id": "7ba1f1e8-0ef8-450d-8bb2-b5c3bf1ea319",
        "data": [
          {
            "prompt": "a white siamese cat",
            "image_url": "https://platform.cdn.xhuoapi.ai/nanobanana/7e7bd000-698a-4e14-bb2d-3db61237e4bb.png"
          }
        ]
      }
    }
  ],
  "count": 1
}
```

Возвращаемый результат содержит несколько полей, среди которых items включает в себя конкретную информацию о пакетных задачах, каждая задача имеет такую же структуру, как и возвращаемый результат для одиночной задачи. Информация о полях следующая.

* `items`: все конкретные детали пакетных задач. Это массив, каждый элемент которого имеет такую же структуру, как и возвращаемый результат для одиночной задачи.
* `count`: количество задач в данном пакетном запросе.

## Обработка ошибок

При вызове API, если возникает ошибка, API возвращает соответствующий код ошибки и информацию. Например:

* `400 token_mismatched`：Неверный запрос, возможно, из-за отсутствующих или недействительных параметров.
* `400 api_not_implemented`：Неверный запрос, возможно, из-за отсутствующих или недействительных параметров.
* `401 invalid_token`：Неавторизован, недействительный или отсутствующий токен авторизации.
* `429 too_many_requests`：Слишком много запросов, вы превысили лимит частоты.
* `500 api_error`：Внутренняя ошибка сервера, что-то пошло не так на сервере.

### Пример ответа об ошибке

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Заключение

С помощью этого документа вы узнали, как использовать API Nano Banana Tasks для запроса информации о единичных или пакетных задачах. Надеемся, что этот документ поможет вам лучше интегрировать и использовать данный API. Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь обращаться в нашу техническую поддержку.
