LogoNanoPhoto.AI文檔
LogoNanoPhoto.AI文檔
網站首頁文檔首頁

入門指南

入門指南

使用者指南

使用者指南

API

API 概覽Sora 浮水印去除 API影片反推提示詞 APISora 2 提示詞生成器 APISora 2 影片生成 APISora 2 TVC 廣告 APINano Banana Pro 圖片生成 APINano Banana 2 圖片生成 APIVeo 3.1 影片生成 API

OpenClaw 技能

OpenClaw 技能Sora 2 GenerateVeo 3.1Nano Banana ProNano Banana 2Video Prompt GeneratorVideo Reverse PromptSora Watermark RemoverComic Drama Generate

場景

Sora 2 TVC 廣告製作

帳單

帳單與發票

常見問題

常見問題
X (Twitter)

Nano Banana 2 圖片生成 API

使用 Nano Banana 2 進行 AI 圖片生成的 API,支援文生圖、圖生圖模式和 Google 搜尋增強提示詞。

線上體驗:https://nanophoto.ai/zh-TW/nano-banana-2

介面

方法路徑描述
POST/api/nano-banana-2/generate建立圖片生成任務
POST/api/nano-banana-2/check-status查詢任務狀態並取得結果

認證

Authorization: Bearer YOUR_API_KEY

積分

畫質積分
1K4
2K8
4K16

積分在任務建立時預扣,生成失敗時自動退還。

第一步:生成圖片

POST /api/nano-banana-2/generate

請求標頭

請求標頭值
Content-Typeapplication/json
AuthorizationBearer YOUR_API_KEY

請求主體參數

參數類型必填描述
promptstring是圖片生成提示詞
modestring是generate(文生圖)或 edit(圖生圖)
aspectRatiostring否16:9、9:16、4:3 或 3:4(預設:16:9)
imageQualitystring否1K、2K 或 4K(預設:1K)
googleSearchboolean否啟用 Google 搜尋增強提示詞(預設:false)
inputImageUrlsstring[]條件必填圖生圖模式的公開可存取圖片 URL(最多 14 張)。mode 為 edit 時必填
  • API 呼叫僅接受 inputImageUrls(公開可存取的 URL)用於圖生圖模式。不支援透過 API 上傳 Base64 圖片(inputImages)。
  • 最多支援 14 張輸入圖片。
  • 設定 googleSearch: true 可讓模型搜尋網路取得額外上下文來增強提示詞。

範例

文生圖

curl -X POST "https://nanophoto.ai/api/nano-banana-2/generate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-raw '{
    "prompt": "未來感城市日落景觀,飛行汽車與霓虹燈光",
    "mode": "generate",
    "aspectRatio": "16:9",
    "imageQuality": "2K"
  }'

使用 Google 搜尋增強的文生圖

curl -X POST "https://nanophoto.ai/api/nano-banana-2/generate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-raw '{
    "prompt": "最新款特斯拉 Cybertruck 在沙漠中行駛",
    "mode": "generate",
    "aspectRatio": "16:9",
    "imageQuality": "2K",
    "googleSearch": true
  }'

圖生圖

curl -X POST "https://nanophoto.ai/api/nano-banana-2/generate" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-raw '{
    "prompt": "將這張照片轉換為水彩畫風格",
    "mode": "edit",
    "aspectRatio": "16:9",
    "imageQuality": "1K",
    "inputImageUrls": ["https://static.nanophoto.ai/demo/nano-banana-pro.webp"]
  }'

回應

{
  "success": true,
  "generationId": "abc123xyz",
  "taskId": "task-456",
  "status": "pending"
}

第二步:查詢狀態(輪詢)

圖片生成是非同步的。使用第一步回傳的 generationId 輪詢取得結果。

POST /api/nano-banana-2/check-status

請求標頭

請求標頭值
Content-Typeapplication/json
AuthorizationBearer YOUR_API_KEY

請求主體參數

參數類型必填描述
generationIdstring是生成介面回傳的 generationId

範例

curl -X POST "https://nanophoto.ai/api/nano-banana-2/check-status" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  --data-raw '{
    "generationId": "abc123xyz"
  }'

回應

已完成

{
  "success": true,
  "status": "completed",
  "imageUrl": "https://static.nanophoto.ai/generations/abc123.png",
  "generationId": "abc123xyz",
  "progress": 100
}

處理中

{
  "success": true,
  "status": "pending",
  "generationId": "abc123xyz",
  "progress": 15
}

失敗

{
  "success": false,
  "status": "failed",
  "error": "Generation failed",
  "generationId": "abc123xyz",
  "progress": 0
}

完整 TypeScript 範例

generate-image.ts
async function generateImage(apiKey: string) {
  // 第一步:建立生成任務
  const generateRes = await fetch("https://nanophoto.ai/api/nano-banana-2/generate", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: `Bearer ${apiKey}`,
    },
    body: JSON.stringify({
      prompt: "寧靜的日式庭院,櫻花盛開,錦鯉池塘",
      mode: "generate",
      aspectRatio: "16:9",
      imageQuality: "2K",
      googleSearch: true,
    }),
  });

  const generateData = await generateRes.json();

  if (!generateData.success) {
    throw new Error(`生成失敗: ${generateData.error}`);
  }

  const { generationId } = generateData;
  console.log(`任務已建立: ${generationId}`);

  // 第二步:輪詢取得結果
  while (true) {
    await new Promise((r) => setTimeout(r, 3000)); // 等待 3 秒

    const statusRes = await fetch("https://nanophoto.ai/api/nano-banana-2/check-status", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        Authorization: `Bearer ${apiKey}`,
      },
      body: JSON.stringify({ generationId }),
    });

    const statusData = await statusRes.json();
    console.log(`狀態: ${statusData.status}, 進度: ${statusData.progress}%`);

    if (statusData.status === "completed") {
      console.log(`圖片網址: ${statusData.imageUrl}`);
      return statusData.imageUrl;
    }

    if (statusData.status === "failed") {
      throw new Error(`生成失敗: ${statusData.error}`);
    }
  }
}

輪詢策略

  • 每 3-5 秒 輪詢一次
  • 典型生成時間:10-30 秒
  • 狀態流轉:pending → generating → completed 或 failed
  • 生成失敗時積分自動退還

錯誤碼

errorCodeHTTP 狀態碼描述
LOGIN_REQUIRED401需要認證
API_KEY_RATE_LIMIT_EXCEEDED429超出速率限制
INSUFFICIENT_CREDITS402積分不足
INVALID_PROMPT400提示詞為空
MISSING_INPUT_IMAGE400圖生圖模式需要輸入圖片
TOO_MANY_IMAGES400超過 14 張輸入圖片
IMAGE_URLS_REQUIRED400API 呼叫圖生圖需使用 inputImageUrls
CREDIT_RESERVATION_FAILED500積分預扣失敗
GENERATION_FAILED500圖片生成失敗
NOT_FOUND404生成 ID 不存在
FORBIDDEN403無權存取(非本人的生成任務)

Nano Banana Pro 圖片生成 API

使用 Nano Banana Pro 進行 AI 圖片生成的 API,支援文生圖和圖生圖模式。

Veo 3.1 影片生成 API

使用 Google Veo 3.1 模型生成影片的 API,支援文字生成影片、參考圖片和首尾幀模式。支援多鏡頭長影片,最長 168 秒。

目錄

介面
認證
積分
第一步:生成圖片
請求標頭
請求主體參數
範例
文生圖
使用 Google 搜尋增強的文生圖
圖生圖
回應
第二步:查詢狀態(輪詢)
請求標頭
請求主體參數
範例
回應
已完成
處理中
失敗
完整 TypeScript 範例
輪詢策略
錯誤碼