本文面向后端/平台同学,介绍如何在阿波罗 AI 上对接并落地 Google 最新的图像生成与编辑模型 nano-banana。该模型同时兼容 OpenAI DALL·E 风格(生成/编辑/多图参考)、Chat 风格,以及官方 Gemini API 模型名别名,并支持 Fal 平台兼容格式。

基于阿波罗 AI 对接 Google nano-banana 的技术实践指南

官网:https://api.ablai.top/
参考文档:


能力与兼容性

  • 核心能力: 文生图、图生图、图像编辑、多图参考生图
  • 模型标识: nano-banana(等价于 gemini-2.5-flash-image-preview
  • 接口兼容:
    • DALL·E 生成: /v1/images/generations
    • DALL·E 编辑/重绘: /v1/images/edits
    • DALL·E 变体: /v1/images/variations
    • Chat 兼容: /v1/chat/completions
    • Fal 兼容: fal-ai/nano-banana

接入准备

  • Base URL 与 API Key: 从控制台获取 BASE_URLAPI_KEY;请求头需含 Authorization: Bearer <YOUR_API_KEY>
  • 响应格式: 与 OpenAI DALL·E 一致,支持 urlb64_json;生产建议服务端落盘 b64_json 后返回 CDN URL

快速开始:文生图

curl -X POST "$BASE_URL/v1/images/generations" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana",
    "prompt": "isometric, cozy reading room, warm light, 3D render, high detail",
    "n": 1,
    "size": "1024x1024",
    "response_format": "b64_json"
  }'
// Node.js (fetch)
const r = await fetch(`${BASE_URL}/v1/images/generations`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "nano-banana",
    prompt: "isometric, cozy reading room, warm light, 3D render, high detail",
    n: 1,
    size: "1024x1024",
    response_format: "b64_json",
  }),
});
const json = await r.json();
// json.data[0].b64_json
# Python (requests)
import requests, base64
r = requests.post(
    f"{BASE_URL}/v1/images/generations",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "nano-banana",
        "prompt": "isometric, cozy reading room, warm light, 3D render, high detail",
        "n": 1,
        "size": "1024x1024",
        "response_format": "b64_json",
    }
)
img_b64 = r.json()["data"][0]["b64_json"]
open("out.png","wb").write(base64.b64decode(img_b64))
  • 等价调用(Gemini 别名): 将 model 改为 gemini-2.5-flash-image-preview

在这里插入图片描述

图生图 / 编辑(含多图参考与蒙版)

curl -X POST "$BASE_URL/v1/images/edits" \
  -H "Authorization: Bearer $API_KEY" \
  -F "model=nano-banana" \
  -F "prompt=replace the sky with dramatic sunset clouds" \
  -F "image=@input.png" \
  -F "mask=@mask.png" \
  -F "n=2" \
  -F "size=1024x1024" \
  -F "response_format=b64_json"
  • 无蒙版重绘/风格化: 去掉 mask 字段
  • 多图参考: 重复传入 image 字段(如 -F "image=@ref1.png" -F "image=@ref2.png"

图像变体

curl -X POST "$BASE_URL/v1/images/variations" \
  -H "Authorization: Bearer $API_KEY" \
  -F "model=nano-banana" \
  -F "image=@input.png" \
  -F "n=4" \
  -F "size=1024x1024" \
  -F "response_format=b64_json"

Chat 兼容说明

  • 使用 POST /v1/chat/completionsmodel: nano-banana,在 messages 中描述生成/编辑意图;平台按模型类型返回图片结果(位于 choices[0] 扩展字段或可下载 URL)
  • 适合“对话式修图/生成”与工具链集成的统一入口

Fal 兼容模式

  • 使用 fal-ai/nano-banana 模型标识,遵循 Fal 规范传参与取回结果;便于已有 Fal 生态平滑迁移

提示词与质量建议

  • 风格: 明确材质/镜头/光照/后期,如 “cinematic lighting, volumetric fog, 85mm lens, octane render, film grain”
  • 主体与构图: 1–2 句描述主体和构图;用逗号列出属性
  • 分辨率与张数: 先用 768x768/1024x1024n=1 快速迭代,再放大与批量

生产实践建议

  • 超时与重试: 生成耗时可能较长;超时≥60s,配合幂等重试(自定义 Idempotency-Key
  • 异步/回调: 大图/多图任务建议异步执行并配置 WebHook
  • 响应落盘: 统一落盘 b64_json → 存储/CDN → 返回 URL,避免客户端大文件直传
  • 合规与审计: 对提示语做合规筛查与生成内容审计

最小集成清单

  • 必需:
    • POST /v1/images/generations 文生图(model: nano-banana
    • POST /v1/images/edits 图生图/编辑(多图/蒙版)
  • 可选:
    • POST /v1/images/variations 变体
    • POST /v1/chat/completions 对话式接入
    • 模型别名:gemini-2.5-flash-image-preview
    • Fal 兼容:fal-ai/nano-banana

文档链接

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐