正在打开页面…
正在加载内容,请稍候。
正在打开页面…
正在加载内容,请稍候。
Nano Banana Pro API 通过 generateContent 绘制有依据的数据说明图,或用包装参考图制作棚拍样稿。文字、数字和品牌元素逐项验收,再保存真正返回的最终图像。
全球顶尖大模型 · 一站式接入
| 参考价格 | 单位 |
|---|---|
| $0.04853 | 基准价 |
仅展示当前最低基础单价,实际扣费以请求时的价格和后台记录为准。价格使用 5 分钟缓存;页面读取于 2026-11-06 09:08:13 UTC。
基础单价不能直接换算成固定每张图价格。输入量、输出尺寸和质量会影响总费用。
先提供已经确认的数据与短文案,指定标题、区域和阅读顺序。对照原始内容核对数字、单位与关系,避免把视觉效果当成事实正确性。
上传商品或包装参考图,要求保留核心标识并调整光线、背景或展示角度。验收时放大检查标签、边缘、材质和主体比例。
描述字体气质、文案层级与画面留白,在固定品牌素材下尝试不同布局。先检验文字和构图,再提高输出尺寸用于后续设计。
gemini-3-pro-image官方规格核对于 2026-10-06。具体通道开放的参数、长度与限流,请按当前令牌核对。
Nano Banana Pro 的型号页;不是普通文字 Pro 或 Nano Banana 2。
此型号规格未列出视频或音频输入,不沿用 Flash Image 的素材能力。
图像输出与思考会影响请求用量,通道上限另行核对。
实际像素尺寸与 aspectRatio 一起确定;不使用 Flash Image 的 0.5K 档。
使用 Gemini 原生格式,而非 OpenAI Images API。
示例指定 imageSize: 2K 与 aspectRatio;原生配置是否透传须检查。
单轮编辑可以重新提交参考图;多轮流程须保留所用协议要求的历史状态。
按 mimeType 保存文件,跳过 thought 标记的中间图像。
接口地址取自当前模型目录;使用前确认令牌支持相应协议。
在本地设置 API Key 环境变量,再选择所需示例。收到有效结果后,到控制台核对用量与费用。
此示例使用用户明确提供的 60 / 30 / 10 数据,不调用搜索。保存返回 JSON 与最终图片,逐项核对标题、数字及三块区域。
curl --fail-with-body --max-time 180 \
https://api.apizt.com/v1beta/models/gemini-3-pro-image:generateContent \
-H "Authorization: Bearer $tokenba_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "制作一张横版中文信息图,标题为“工单分流示例”。三个区域分别写“配置问题 60%”“账单问题 30%”“其他问题 10%”。数据仅为演示,不代表真实平台统计。使用白色背景、深紫色标题与清晰的三段式版式,标注“演示数据”,不要添加其他数字。"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT",
"IMAGE"
],
"imageConfig": {
"imageSize": "2K",
"aspectRatio": "16:9"
}
}
}' \
-o nano-banana-pro-generation-response.json
python3 - <<'PY'
import base64, json
from pathlib import Path
result = json.loads(Path("nano-banana-pro-generation-response.json").read_text())
saved = 0
extensions = {"image/png": "png", "image/jpeg": "jpg", "image/webp": "webp"}
for candidate in result.get("candidates", []):
for part in candidate.get("content", {}).get("parts", []):
image = part.get("inlineData")
if image and not part.get("thought"):
extension = extensions.get(image.get("mimeType"))
if not extension:
raise ValueError("Unexpected image MIME type")
saved += 1
path = Path(f"nano-banana-pro-generation-{saved}.{extension}")
path.write_bytes(base64.b64decode(image["data"], validate=True))
print(path)
if not saved:
raise RuntimeError("No final image returned; check response JSON and finishReason")
print(result.get("usageMetadata"))
PY将 PNG 包装图放到 reference.png。示例使用 Python 标准库上传 Base64,保存完整响应与最终图;对照原图检查文字、标志和商品比例。
import base64, json, os
from pathlib import Path
from urllib.request import Request, urlopen
reference = base64.b64encode(Path("reference.png").read_bytes()).decode("ascii")
payload = {
"contents": [{"role": "user", "parts": [
{"text": "将参考图中的包装盒制作成专业棚拍展示样稿。保留包装的所有品牌文字、标志、色块和比例,不修改标签内容。把背景改为浅灰色影棚,添加自然柔和的地面阴影,包装完整进入画面。不要添加其他商品或装饰文字。"},
{"inlineData": {"mimeType": "image/png", "data": reference}},
]}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"imageSize": "2K", "aspectRatio": "4:3"},
},
}
request = Request(
"https://api.apizt.com/v1beta/models/gemini-3-pro-image:generateContent",
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": "Bearer " + os.environ["tokenba_API_KEY"],
"Content-Type": "application/json",
},
method="POST",
)
with urlopen(request, timeout=180) as response:
result = json.load(response)
Path("nano-banana-pro-edit-response.json").write_text(json.dumps(result), encoding="utf-8")
saved = 0
extensions = {"image/png": "png", "image/jpeg": "jpg", "image/webp": "webp"}
for candidate in result.get("candidates", []):
for part in candidate.get("content", {}).get("parts", []):
image = part.get("inlineData")
if image and not part.get("thought"):
extension = extensions.get(image.get("mimeType"))
if not extension:
raise ValueError("Unexpected image MIME type")
saved += 1
path = Path(f"nano-banana-pro-edit-{saved}.{extension}")
path.write_bytes(base64.b64decode(image["data"], validate=True))
print(path)
if not saved:
raise RuntimeError("No final image returned; check response JSON and finishReason")
print(result.get("usageMetadata"))复杂排版和参考一致性是此型号的主要用途,但模型仍可能改变文字、数字或标志。用原始文案和参考图逐项比对,重要数据须有独立依据;提高分辨率不能代替内容核对。
官方规格支持搜索,但函数调用、JSON 模式和上下文缓存不受支持。网关搜索开放情况另行验证,不能直接套用普通 Gemini 文字型号的工具配置;本文示例先不用工具。
原生响应可能包含文字、思考与图片块。程序应遍历 candidates.content.parts、跳过 thought 图像并解码 inlineData。没有最终图片时先检查 finishReason,再核对用量决定是否重试;尺寸和通道档位会影响实扣。
本页使用的准确 model ID 是 gemini-3-pro-image。按下方示例调用 Gemini generateContent 路径,使用 Bearer Key,并保留 parts 与 generationConfig 格式。不能直接沿用 OpenAI Images 的请求体和结果解析。
原生响应可能包含文字、思考与图片块。程序应遍历 candidates.content.parts、跳过 thought 图像并解码 inlineData。没有最终图片时先检查 finishReason,再核对用量决定是否重试;尺寸和通道档位会影响实扣。