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/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 示例
轮询策略
错误码