跳轉到主要內容
Nano Banana Tasks API 的主要功能是通過輸入 Nano Banana Images API 生成的任務 ID 來查詢該任務的執行情況。 本文檔將詳細介紹 Nano Banana Tasks API 的對接說明,幫助您輕鬆集成並充分利用該 API 的強大功能。通過 Nano Banana Tasks API,您可以輕鬆實現查詢 Nano Banana Images API 的任務執行情況。

請求示例

Nano Banana Tasks API 可以用於查詢 Nano Banana Images API 的結果。關於怎樣使用 Nano Banana Images API,請參考文檔 Nano Banana Images API 我們以 Nano Banana Images API 服務返回的任務 ID 一個為例,演示如何使用該 API。假設我們有一個任務 ID:4d320ead-4af4-4a55-8f3e-f2afebdf4fd0,接下來演示如何通過傳入一個任務 ID 來。

任務示例圖

設置請求頭和請求體

Request Headers 包括:
  • accept:指定接收 JSON 格式的響應結果,這裡填寫為 application/json
  • authorization:調用 API 的密鑰,申請之後可以直接下拉選擇。
Request Body 包括:
  • id:上傳的任務 ID。
  • action:對任務的操作方式。
設置如下圖所示:

代碼示例

可以發現,在頁面右側已經自動生成了各種語言的代碼,如圖所示:

部分代碼示例如下:

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 字段就是發起任務時的 request body,同時 response 字段是任務完成後返回的 response body。字段介紹如下。
  • id,生成此任務的 ID,用於唯一標識此次生成任務。
  • request,查詢任務中的請求信息。
  • response,查詢任務中的返回信息。

批量查詢操作

這是是針對多個任務 ID 來進行查詢任務詳情,與上面不同的是需要將 action 選中為 retrieve_batch Request Body 包括:
  • ids:上傳的任務 ID 陣列。
  • action:對任務的操作方式。
示例如下:
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
}
返回結果一共有多個字段,其中 items 是包含了批量任務的具體詳情信息,每個任務的具體信息與上文的字段一樣,字段信息如下。
  • items,批量任務的所有具體詳情信息。它是一個陣列,每個陣列的元素和上文查詢單個任務的返回結果格式是一樣的。
  • count,此處批量查詢任務的個數。

錯誤處理

在調用 API 時,如果遇到錯誤,API 會返回相應的錯誤代碼和信息。例如:
  • 400 token_mismatched:錯誤的請求,可能是因為缺少或無效的參數。
  • 400 api_not_implemented:錯誤的請求,可能是因為缺少或無效的參數。
  • 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。如有任何問題,請隨時聯繫我們的技術支持團隊。