三步快速对接谷歌 Nano-Banana:图像一致性强到“以假乱真”!
·
本文面向后端/平台同学,介绍如何在阿波罗 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
- DALL·E 生成:
接入准备
- Base URL 与 API Key: 从控制台获取
BASE_URL
与API_KEY
;请求头需含Authorization: Bearer <YOUR_API_KEY>
- 响应格式: 与 OpenAI DALL·E 一致,支持
url
或b64_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/completions
,model: 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
/1024x1024
与n=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
文档链接
- 文生图(DALL·E 生成):OpenAI DALL·E 格式 · Nano-banana(文生图)
- 图生图/编辑:OpenAI DALL·E 格式 · Nano-banana(图生图)
更多推荐
所有评论(0)