Nano Banana Tasks API 的集成与使用

1 阅读5分钟

在现代应用程序开发中,任务管理和状态查询是重要的组成部分。Nano Banana Tasks API 的主要功能是通过输入由 Nano Banana Images API 生成的任务 ID 来查询任务的执行状态。本文将详细介绍如何集成 Nano Banana Tasks API,帮助开发者轻松利用该 API 的强大功能。

背景介绍

Nano Banana 是 Ace Data Cloud 提供的一款强大的数据处理服务,专注于图像生成和处理。它的 API 包含了图像生成、任务管理等功能,适用于需要图像生成或处理的各种应用场景,如社交媒体、设计工具、广告创意等。

API 请求示例

Nano Banana Tasks API 可以用于查询 Nano Banana Images API 的结果。有关 Nano Banana Images API 的使用方法,请参考文档 Nano Banana Images API

假设我们有一个任务 ID:4d320ead-4af4-4a55-8f3e-f2afebdf4fd0,接下来我们将展示如何通过该任务 ID 进行查询。

请求头与请求体设置

请求头包括:

  • accept: 指定响应格式为 JSON,值为 application/json
  • authorization: 调用 API 时的授权密钥。

请求体包括:

  • id: 上传的任务 ID。
  • action: 任务的操作方法。

请求设置如下图所示:

代码示例

以下是使用 Nano Banana Tasks API 的示例代码:

CURL 示例

curl -X POST 'https://api.acedata.cloud/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 示例

import requests

url = "https://api.acedata.cloud/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 将返回任务的详细信息,例如:

{
  "_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.acedata.cloud/nanobanana/7e7bd000-698a-4e14-bb2d-3db61237e4bb.png"
      }
    ]
  }
}

返回的结果包含多个字段,其中 request 字段为任务发起时的请求体,response 字段为任务完成后的响应体。

批量查询操作

如果需要查询多个任务 ID 的详情,可以使用批量查询功能。此时,action 需设置为 retrieve_batch

请求体如下:

curl -X POST 'https://api.acedata.cloud/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 将返回所有批量任务的具体信息,例如:

{
  "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.acedata.cloud/nanobanana/7e7bd000-698a-4e14-bb2d-3db61237e4bb.png"
          }
        ]
      }
    }
  ],
  "count": 1
}

错误处理

在调用 API 时,如果发生错误,API 将返回相应的错误代码和信息。例如:

  • 400 token_mismatched: 请求错误,可能由于缺少或无效参数。
  • 401 invalid_token: 未授权,授权令牌无效或缺失。
  • 429 too_many_requests: 请求过多,已超过速率限制。
  • 500 api_error: 内部服务器错误。

错误响应示例

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

总结

通过本文,您已经学习了如何使用 Nano Banana Tasks API 查询单个或批量任务的详细信息。希望这些内容能帮助您更好地集成和使用该 API。如果您有任何问题,请随时联系技术支持团队。

相关链接

技术标签

  • API集成
  • Python
  • CURL
  • 数据处理
  • Ace Data Cloud