Loading...
Loading...
No output yet
Run the model to see generated results.
import requests
result = requests.post(
'https://api.e2x.ai/v1/jobs/submit',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
},
json={
'model': 'google/nano-banana/edit-image',
'input': {}
}
)import time
job_id = result.json()['jobId']
while True:
response = requests.get(
f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
headers={'Authorization': f'Bearer {'{API_KEY}'}'}
)
data = response.json()['data']
if data['status'] == 'completed':
print('Done!', data['outputs'][0]['url'])
break
elif data['status'] == 'failed':
raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")
time.sleep(2)Nano Banana 的编辑 capability 就是 Google 的 gemini-2.5-flash-image,只不过它接收源图像而不是一块白布。我们在 google/nano-banana/edit-image 上提供它,每张编辑收费 $0.0312 —— 比 fal.ai 低 20% —— 它最多接受三张参考图,输出为 1K。在您写下第一行集成代码之前,有一件事必须排在最前面:Google 将于 2026 年 10 月 2 日 下线这个模型。
从本页上线那天算起,三十七天。在那之前,现有流水线照常运行,我们的价格也不会变。但把一个只剩五周倒计时的编辑器卖给您,只会让您在十月份买到一次重写。
我们与市场的价格对比,核查日期为 2026 年 8 月 26 日:
| API 提供商 | 每次编辑价格 | 与 E2X 相比 |
|---|---|---|
| E2X | $0.0312 | — |
| fal.ai | $0.039 | 我们低 20% |
| Google Gemini API | $0.039 | 我们低 20% |
| OpenRouter | $0.039 | 我们低 20% |
价格与产品条款可能随时间变化;在做出采购决定前,请核对各家提供商的当前价格。Google 的 Batch 或 Flex 价格在调度、可用容量和处理条件上均有所不同,因此与标准的按需 API request 并不直接等价,已从本对比中排除。这是一次限定范围的对比,并非声称 E2X 在任何配置下都是全球最便宜的选择。
因为 Google 自己就是这么做的。这家公司发布 Nano Banana 2 Lite 时写道:
「对于当前使用我们第一版 Nano Banana(gemini-2.5-flash-image)的开发者,这是我们推荐的替代方案,您现在就可以切换过去并立即获益。」
Google 的模型文档说得更直白,把这一版称作该系列的元老级先行者,并强烈建议客户迁移。厂商很少把客户从一个还在收费的产品上往外推。他们真这么做的时候,请相信他们。
手上没有源图像?那您要的是 Nano Banana text-to-image —— 同一个模型,同样的价格,只需 prompt。
这就是把这个 legacy 编辑器与家族中所有更新成员区分开的那个数字。Google 的指引很明确:要在 Gemini 2.5 Flash Image 上取得最佳效果,一次输入中最多包含三张图像。
三张足以应付很多真实工作。一个主体、一张背景板、一张色彩参考——这样的合成塞得下。塞不下的是广告式的需求单:角色、产品、道具和品牌色板全都要落在同一次调用里。Nano Banana Pro 正是为这类活儿准备的,可接受十四张参考图。在这里,您只能改为串联调用,每一跳都要付费,而每一跳都离原图更远一步。
在围绕这个模型做设计之前,还有两条限制值得摆在您眼前:
有两个字段是必填的:prompt 和 image_urls。请把 key 留在服务端。
curl -X POST https://api.e2x.ai/v1/jobs/submit \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/nano-banana/edit-image",
"input": {
"prompt": "把椅子后面的墙从白色改成深橄榄绿。椅子、地板和阴影全部保持原样不变。",
"image_urls": [
"https://example.com/interior.jpg"
],
"aspect_ratio": "4:5"
}
}'
提交后会返回一个 job ID。对它做 polling,直到出结果:
const headers = {
Authorization: `Bearer ${process.env.E2X_API_KEY}`,
"Content-Type": "application/json",
};
const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
method: "POST",
headers,
body: JSON.stringify({
model: "google/nano-banana/edit-image",
input: {
prompt: "图 1 是自行车,图 2 是场景。把这辆自行车放到图 2 的鹅卵石路面上,并匹配那里的阴天光线。",
image_urls: [
"https://example.com/bike.jpg",
"https://example.com/street.jpg",
],
aspect_ratio: "1:1",
},
}),
}).then((r) => r.json());
const jobId = submitted.data.jobId;
while (true) {
const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
.then((r) => r.json());
if (job.data.status === "completed") {
console.log(job.data.outputs[0].url);
break;
}
if (job.data.status === "failed") {
throw new Error(job.data.error?.message || "Edit failed");
}
await new Promise((r) => setTimeout(r, 2000));
}
状态依次为 pending → processing → completed,而 failed 和 cancelled 是终态。传入 webhookUrl 就可以完全省掉 polling。我们的 aspect_ratio 默认值是 9:16 —— 请显式设置它,否则您的横版源图会以竖版返回。实时 schema 见本模型的机器可读规格。
我们运行的每一个编辑模型,按图计价:
| 模型 | 每次编辑价格 | 什么时候选它 |
|---|---|---|
| Nano Banana 2 Lite | $0.0238 | 默认答案——更新的权重,更低的账单 |
| Nano Banana(legacy) | $0.0312 | 只在您把它迁走的过渡期内使用 |
| Nano Banana 2 | $0.04 | 高于 Lite 档的当代画质 |
| Nano Banana Pro | $0.075 | 十四张参考图、可读文字、4K |
| GPT Image 2 | $0.0525 | 基于 mask 的编辑,或 OpenAI 的观感 |
通常一次迁移是一笔交易:模型更新,账单更高,还得走审批。这次不是。Nano Banana 2 Lite 比这个 legacy 编辑器便宜 24%,并且领先它整整一代,这意味着财务上的对话和工程上的对话都会走向同一个结论。每月跑一千次编辑,您能省下约 $9,同时得到更好的输出。
比起让您留在一个我们明知会过期的 slug 上,我们宁愿把话讲明白。如果您的编辑涉及可读的文案——包装图、菜单牌、本地化创意——请越过 Lite,登上 Nano Banana Pro,Google 把多语言文字渲染放在了那里。其余模型可在 image-to-image 分类或我们的模型目录中浏览。
关于迁移有个好消息:prompt 上的功力可以完整迁移,所以您这周学到的东西不会白费。
先说改什么,再说什么不许动。「把沙发改成铁锈色亚麻质感;抱枕、地毯图案和窗光保持原样」比重写一整段场景描述稳定得多。想把整幅画面都描述一遍,这种本能来自 text-to-image;而在编辑里,它会与参考图争夺主导权,直到模型不是在调整,而是在重新生成。
当您传入两三张图时,请在 prompt 里说明每一张分别是什么——除此之外没有任何东西能告诉模型:您的第二个附件是场景,而不是第二个主体。也请忍住把三处改动塞进一次调用的冲动。把它们拆开,把第一次的输出串联进第二次,您花同样的钱,却少得多的偏移。
SynthID 始终开启。 Google 会在每一张输出中嵌入其不可感知的 watermark,而且在任何提供商那里都没有参数可以移除它。请在动工之前,先把这一点与客户合同对齐。
把 resolution 留在 1k —— 这一条是要花钱的。 我们的 schema 在整个 Nano Banana 家族中都带着同一个 resolution 字段,所以这个 endpoint 会毫无怨言地接受您传来的 2k 和 4k。但 Google 的权重不会兑现它们。gemini-2.5-flash-image 只输出 1K,再往上没有了,因此以 4k 发出的 request 会按我们的 2× 倍率计费 —— $0.0624 而不是 $0.0312 —— 然后交还给您一张与半价所得完全相同的 1K 图像。与其把这笔钱收走,我们宁愿提前把它标出来。更新的档位确实有真实的分辨率阶梯:Nano Banana Pro 真的能渲染到 4096×4096。
设一个日历提醒,而不是一张待办工单。 2026 年 10 月 2 日,上游模型停止应答,任何仍然指向这个 slug 的东西——一个 cron job、一个面向客户的按钮、一批夜间 batch——都会在那天失败。现在改一个字符串,好过那时去调试它。
最多三张。Google 针对 gemini-2.5-flash-image 的官方指引就是一次输入中最多包含三张图像,超过之后质量会下降。对更复杂的合成,Nano Banana Pro 最多可处理十四张参考图,分为角色、物体和风格三类角色。
发往 google/nano-banana/edit-image 的 request 将不再成功,因为 Google 是在所有地方下线底层权重,而不只是在我们的平台上。厂商关掉的模型,没有任何提供商还能继续提供。请在那个日期之前迁移到 Nano Banana 2 Lite。
真的 —— 每次编辑 $0.0238,对比这里的 $0.0312,差距 24%,而且跑在更新的权重上。Google 的说法也一样,理由是质量更好、生成更快、价格更低。这是罕见的、不附带任何成本取舍的升级。
在默认的 1k 分辨率下,每张编辑 $0.0312,比我们在 2026 年 8 月 26 日记录到的 fal.ai、Google Gemini API 和 OpenRouter 的 $0.039 低 20%。附带一张还是三张参考图,价格相同;但传 resolution: "4k" 会为这个模型实际产不出的输出套上 2× 倍率——请把它留在 1k。在敲定预算前,请到实时模型页面再核对一次。
不可靠。高级文字渲染属于 Gemini 3 这一代,而这个模型早于它,所以被编辑过的文字经常会变形或被重新臆造。Nano Banana Pro 才是为清晰、多语言的图内文字而生的档位。
带。SynthID 会嵌入这个模型的每一张输出,与 text-to-image capability 中完全一样。它是 Google 的来源标记,没有任何提供商提供关闭它的办法。
同样的权重,同样的 $0.0312 价格,输入不同。Edit-image 需要在 prompt 之外提供 image_urls,改动的是您给它的东西;text-to-image 只接受一个 prompt,从零开始构建。按「是否已经有一张源图像」来选就行。