Nano Banana 2.1 怎么收费?图片生成成本怎么算、预算怎么估
Nano Banana 2.1 生图费用怎么算?按 Ofox 2026 年 10 月 13 日目录拆解输入、图片和思考 token,复算真实 1K 请求与批量预算,并说明 4K 文档差异及账单核验边界。
截至 2026 年 10 月 13 日,Ofox 公开目录中 google/gemini-nano-banana-2.1 的价格为:每百万输入 token 1.50 美元、每百万文本输出 token 7.50 美元、每百万图像输出 token 30 美元,每次网页搜索 0.014 美元。 一张经过测试的 1K 图片使用了 1,120 个图像输出 token,按目录标价计算,其图像部分费用为 0.0336 美元。这不是整个请求的固定价格:输入、文本、可能计费的思考 token、搜索、重试和后续编辑都可能增加费用。
本文由 Ofox 发布,测试使用的网关也是 Ofox。以下价格是截至特定日期对其公开目录的读取结果,不是账单,也不保证未来请求会按相同金额计费。文中 API 检查通过 Ofox 网关完成;图片响应和用量数字是这些检查中的实际观测结果。
各项标价及其计费单位
Ofox 上该模型的准确 ID 是 google/gemini-nano-banana-2.1。它的公开模型页面列出了 Gemini 和 OpenAI 协议,提供方为 Vertex。目录中的各项价格计费单位不同:
| 目录计费项 | 标价(美元) | 单位 | 用途 |
|---|---|---|---|
| 输入 | $1.50 | 每百万输入 token | 提示词及其他提交的上下文,包括服务计入的图像或对话上下文 |
| 文本输出 | $7.50 | 每百万输出 token | 生成的文本;Google 的定价页面将文本和思考 token 归在这一费率下 |
| 图像输出 | $30.00 | 每百万图像输出 token | 生成图片所用的 token——不是每张图片 30 美元 |
| 网页搜索 | $0.014 | 每次搜索请求 | 适用时单独按请求计费,不是每次生成图片都要加上的费用 |
该模型在目录中的提供方价格为 null。这并不能证明提供方有折扣、提供方成本为零,或存在可以替代目录标价的另一套费率。同样,目录类型定义将 output_image 作为按 token 计价的字段,与另一个单独的按图片数量计价字段 output_image_per_num 区分开来。不要把前者当成目录中的固定单张图片价格。
这些价格取自 2026 年 10 月 13 日的公开 Ofox 目录。我们还在编辑审核中对照了带日期的代码仓库版本,检查目录实现和字段定义。目录是动态的:其实现并未在 Git 中存储固定价格表。input、output 和 output_image 是按 token 计价的字段;web_search 按请求计价。实现层面的检查只能确认字段含义,并不能证明已部署的服务与某个特定仓库版本一致,也不能证明估算金额等于最终账单。
一次实测请求,以及明确标注为假设的总费用
我们通过 Ofox 原生 Gemini 端点,首次测试生成了一张 1:1、1K 海报。请求返回 HTTP 200 和 STOP,生成了一张 1024 × 1024 PNG,并报告了 54 个输入 token、80 个文本输出 token、1,120 个图像输出 token 和 639 个思考 token。实际内容只包含一个图像部分,没有可见的文本部分;这 80 个 token 是用量元数据报告值,不代表可见文字的数量。图像输出部分的费用很容易计算:
1,120 image-output tokens × ($30 / 1,000,000 tokens) = $0.033600
54 input tokens × ($1.50 / 1,000,000 tokens) = $0.000081
80 reported text tokens × ($7.50 / 1,000,000 tokens) = $0.000600
Subtotal = $0.034281
如果——这只是用于估算的假设,不是经过验证的账单计算——报告的 639 个思考 token 全部按每百万文本和思考 token 7.50 美元的费率计费,那么还会增加:
639 × $7.50 / 1,000,000 = $0.0047925
Assumed estimate for this request = $0.034281 + $0.0047925
= $0.0390735
这项估算未计入本次请求无法确认的任何适用费用,不应被表述为 Ofox 实际收取的金额。它也说明了为什么“1K 图片只要 3.36 美分”需要加以限定:在这个实测案例中,3.36 美分只是图像部分的费用。
你可以用以下请求检查自己的响应,而不是依赖单一的固定价格假设。它使用了本次检查中的第一条原始提示词,并保存完整响应,以便分别检查用量和图像部分:
cat > request.json <<'JSON'
{
"contents": [{
"role": "user",
"parts": [{
"text": "Create a square minimalist event poster on warm cream paper. Large exact headline: ORCHARD MARKET. Smaller exact line: SATURDAY 10 AM. Draw three red apples in a blue ceramic bowl below the text. No other text, no logos, no border."
}]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}
JSON
curl --fail-with-body \
-H "x-goog-api-key: $OFOX_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @request.json \
"https://api.ofox.io/gemini/v1beta/models/google/gemini-nano-banana-2.1:generateContent" \
> response.json
python3 - <<'PY'
import base64
import json
with open("response.json", encoding="utf-8") as f:
response = json.load(f)
print(json.dumps(response.get("usageMetadata", {}), indent=2))
for candidate_index, candidate in enumerate(response.get("candidates", [])):
for part_index, part in enumerate(candidate.get("content", {}).get("parts", [])):
inline = part.get("inlineData")
mime = (inline or {}).get("mimeType", "")
if inline and inline.get("data") and mime.startswith("image/"):
extension = {"image/png": ".png", "image/jpeg": ".jpg", "image/webp": ".webp"}.get(mime)
if extension is None:
raise ValueError("Unsupported image MIME type: " + mime)
name = f"image-{candidate_index}-{part_index}{extension}"
with open(name, "wb") as f:
f.write(base64.b64decode(inline["data"], validate=True))
print("Saved", name, inline.get("mimeType"))
elif "text" in part:
print("Text part:", part["text"])
PY
请先在环境中设置 OFOX_API_KEY。这段代码会保存所有返回的内嵌图像部分,而不是把文本部分当作图像。文件扩展名会根据返回的 MIME 类型确定;如果遇到不支持的类型,提取会停止,而不会错误地将其标记为 PNG。如果要继续对话,请保留完整 JSON:在我们的多轮检查中,每次都会原样传回此前的 candidates[0].content,包括其中的 thought-signature 部分,然后再添加新的用户轮次。用提取出的文本和图片重新拼装这些内容,并不等同于原样传回。有关请求设置和响应处理的更多说明,请参阅 Nano Banana 2.1 API 指南。
分辨率会改变图像部分的费用
Google 的官方定价提供了 token 数量和图片价格示例;其模型文档介绍了分辨率能力。下表将我们通过 Ofox 实际收到的结果,与其他地方记录的数字分开列出:
| 请求分辨率 | 用于示例计算的图像输出 token 数 | 按每百万 30 美元计算的图像部分费用 | 证据及限制 |
|---|---|---|---|
| 1K | 1,120 | $0.0336 | 三次经过测试的 2.1 请求中均实际观测到;每次都返回 1024 × 1024 PNG |
| 2K | 1,680 | $0.0504 | Google 文档中的数字;未通过此 Ofox 路由测试 |
| 4K | 3,780 | 约 $0.1134 | Google 定价材料和 Vertex 文档中的数字;未通过此 Ofox 路由测试 |
4K 文档之间存在实质性冲突:Google 的图像生成文档中的图像生成表格还列出了 2,520 个图像 token。按每百万 30 美元计算,2,520 个 token 对应的图像部分费用为 0.0756 美元,而不是 0.1134 美元。不要悄悄对这些冲突数字取平均,也不要把它们当成 Ofox 4K 价格的保证值。在按任一数字编制 4K 预算前,请核对最新文档和目录,并检查实际的 4K 响应与账单。即使是列出的 1K 和文档中的 2K 数字,也没有包含请求的其他费用部分。
估算通过验收的图片、重试和编辑费用
批量任务应按生成的输出数量计算,而不只是计算最终保留的图片数量。假设 1K 图片的图像部分始终为实测的 1,120 个 token:
100 generated 1K outputs × $0.0336 = $3.36 image component
125 generated 1K outputs × $0.0336 = $4.20 image component
第二行描述的是一个假设任务:生成 125 张图片,最终接受 100 张,即验收率为 80%。这不是实测验收率,也不是预测。两个金额都不包含输入、文本、思考 token、适用时的搜索费用及其他可能费用。生成多个候选图、因结果不合适而重新运行,以及尝试编辑,都会影响总费用,因为被拒绝的图片也已经生成。
编辑流程还有另一个复杂之处:后续请求会提交此前的对话内容和图片,因此输入用量可能增加。我们对 2.1 进行的一组单次三步测试,使用了以下两条后续提示词:
“Change only the headline from ORCHARD MARKET to ORCHARD FAIR. Keep SATURDAY 10 AM exactly unchanged. Preserve the three red apples, blue bowl, cream background, composition and all other pixels as closely as possible.”
“Now change only the bowl from blue to dark green. Preserve ORCHARD FAIR, SATURDAY 10 AM, the three red apples and the layout.”
| 2.1 测试轮次 | 报告的输入 token 数 | 报告的图像输出 token 数 | 按目录标价计算的图像部分费用 | 按目录标价计算的输入部分费用 |
|---|---|---|---|---|
| 初始海报 | 54 | 1,120 | $0.033600 | $0.0000810 |
| 修改标题 | 1,167 | 1,120 | $0.033600 | $0.0017505 |
| 修改碗的颜色 | 2,272 | 1,120 | $0.033600 | $0.0034080 |
仅三次图像部分费用合计为 0.1008 美元。报告的输入部分费用合计为 0.0052395 美元,还未计入基于文本输出或思考 token 假设计算的费用。第一轮报告了 80 个文本输出 token 和 639 个思考 token;第二轮没有报告 TEXT 输出类别,并报告了 358 个思考 token;第三轮没有报告 TEXT 输出类别,也没有报告思考 token。“未报告”不能被当成“计费为零”。返回的用量信息也没有解释提交的对话历史究竟如何计入所有细节。因此,在没有核对实际用量和账单前,把简单的三张图片估算费用加到编辑流程报价中并不稳妥。海报编辑演示侧重于编辑后的视觉变化,而不是把保留指令当成像素级保证。
2.1 比 Nano Banana 2 便宜吗?
这取决于你指的是哪一项费用。旧版模型在 Ofox 上的准确 ID 是 google/gemini-3.1-flash-image。在带日期的目录快照中,其标价为:每百万输入 token 0.50 美元、每百万文本输出 token 3 美元、每百万图像输出 token 60 美元。如果图像输出 token 数同为 1,120,按标价计算的图像部分费用为:
Nano Banana 2: 1,120 × $60 / 1,000,000 = $0.0672
Nano Banana 2.1: 1,120 × $30 / 1,000,000 = $0.0336
因此,2.1 的图像 token 费率是旧版模型的一半。但它的输入费率是旧版的三倍,文本输出费率是旧版的 2.5 倍。把整个请求或工作流的费用宣传成一律“打五折”是不准确的。
我们还在旧版模型上进行了对应的三步测试。两个模型的六次请求都返回 HTTP 200 和 STOP,每轮各返回一张 1024 × 1024 PNG。在这个范围有限的比较中,观察到的提示词和图像输出 token 数相符,但两个模型可能使用了不同的默认设置;测试没有设置 seed 或思考等级,也没有重复运行。旧版模型在这些运行中没有报告思考 token,但这并不能证明思考费用为零。请参阅2.1 与 2 的对比,了解这次测试在视觉表现方面的局限,不要将其视为对模型质量或总成本的普遍排名。
确定预算前应检查什么
在进行大规模任务前,请重新查看Ofox 实时目录和模型页面;带日期的快照可能已经过时,Git 实现链接也不会锁定动态价格。记录模型 ID、请求分辨率、响应中的用量、生成图片数量,以及发票或账户账单数据。将实际观测到的账单与按目录标价计算的金额分开记录。如果请求只返回文本、返回错误,或没有可用图片,不要假设它是免费的:请检查该请求的用量和账单结果。没有图片的故障排查指南介绍了响应部分和失败情况的检查方法。
最后,请把能力声明与费用声明分开。Google 文档说明模型最多可使用 14 张参考图,并支持 1K、2K 和 4K 能力,但本次检查并未通过 Ofox 路由测试这些功能的全部情况。Ofox 公开模型页面的界面只能证明模型已列出并可进行准备,不能证明 API 已生成结果;页面内嵌的 Playground 需要登录,经过身份验证的 Agent 模型选择也未经过测试。本文没有任何结论依赖于 Agent 一定会选中 2.1。
本文由 AI 辅助撰写,并根据所述 API 响应和来源链进行了核对;发布前还经过了独立的 AI 审阅。目前最稳妥的工作估算仍然是:实测 1K 生成中,图像输出部分为 0.0336 美元;其余部分应分别估算,并在实际请求使用情况和账单出来后再行核验。


