Skip to content

同步请求模式

mode"sync" 或不传时,服务器将等待图像生成完成后一次性返回结果。这是最简单的集成方式,适合脚本调用和简单的后端集成场景。

请求示例

sh
curl -X POST https://www.nananobanana.com/api/v1/generate \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer nb_your_api_key_here" \
  -d '{
    "prompt": "一只可爱的橘猫坐在窗台上",
    "selectedModel": "nano-banana",
    "mode": "sync"
  }'

TIP

mode 参数可以省略,默认即为同步模式。

响应格式

成功响应 (200 OK)

json
{
  "success": true,
  "generationId": "clxx...",
  "imageUrls": ["https://..."],
  "creditsUsed": 1,
  "remainingCredits": 99
}
字段类型说明
successboolean是否成功
generationIdstring生成记录 ID
imageUrlsstring[]生成的图片 URL 列表
creditsUsednumber本次消耗的积分
remainingCreditsnumber账户剩余积分

警告响应 (200 OK)

当生成完成但触发内容安全检查时:

json
{
  "success": false,
  "warning": true,
  "generationId": "clxx...",
  "message": "内容安全检查未通过",
  "creditsUsed": 1,
  "remainingCredits": 99
}

错误响应

参见 通用错误响应

代码示例

python
import requests

API_KEY = "nb_your_api_key_here"
BASE_URL = "https://www.nananobanana.com/api/v1"

# 文生图 — 同步模式(默认)
response = requests.post(
    f"{BASE_URL}/generate",
    headers={
        "Content-Type": "application/json",
        "Authorization": f"Bearer {API_KEY}"
    },
    json={
        "prompt": "一只可爱的橘猫坐在窗台上,阳光洒在它身上",
        "selectedModel": "nano-banana"
    }
)

result = response.json()
if result.get("success"):
    print("Image URLs:", result["imageUrls"])
    print("Credits used:", result["creditsUsed"])
else:
    print("Error:", result.get("error"))

# 图生图 — 同步模式
response_img2img = requests.post(
    f"{BASE_URL}/generate",
    headers={
        "Content-Type": "application/json",
        "Authorization": f"Bearer {API_KEY}"
    },
    json={
        "prompt": "将背景替换为海滩,保持人物不变",
        "referenceImageUrls": ["https://example.com/your-image.jpg"],
        "selectedModel": "nano-banana"
    }
)

result_img2img = response_img2img.json()
print("Img2Img Result:", result_img2img)
javascript
const API_KEY = "nb_your_api_key_here";
const BASE_URL = "https://www.nananobanana.com/api/v1";

// 文生图 — 同步模式(默认)
async function generateImage() {
  const response = await fetch(`${BASE_URL}/generate`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "Authorization": `Bearer ${API_KEY}`
    },
    body: JSON.stringify({
      prompt: "一只可爱的橘猫坐在窗台上",
      selectedModel: "nano-banana"
    })
  });

  const result = await response.json();
  if (result.success) {
    console.log("Image URLs:", result.imageUrls);
    console.log("Credits used:", result.creditsUsed);
  } else {
    console.error("Error:", result.error);
  }
}

generateImage();

适用场景

  • ✅ 脚本批量调用(单次调用等待完成即可)
  • ✅ 后端服务集成(无需前端进度展示)
  • ✅ 快速原型验证

注意事项

WARNING

同步模式下,请求会一直等待直到图像生成完成。根据模型和图像复杂度,生成时间可能需要 10-60 秒。请确保客户端的超时设置足够长,建议至少设置为 120 秒。

Released under the MIT License.