ListenHubDocs
API 参考图片生成

Nano Banana

Nano Banana Pro 与 Flash 的限制、四种极端宽高比,以及免费 relax 通道。

Nano Banana 是 ListenHub 上 Google 的图片模型系列:gemini-3-pro-image(Nano Banana Pro)主打 细节,gemini-3.1-flash-image(Nano Banana Flash)主打速度。两者都走共用的图片接口。接口本身、 请求 schema、异步流程和错误码请看 图片生成总览,本页只讲 Nano Banana 的专属 部分。

模型

模型显示名称适用场景
gemini-3-pro-imageNano Banana Pro整个模型目录中输出细节最丰富的模型
gemini-3.1-flash-imageNano Banana Flash生成更快更便宜,也是 Nano Banana 系列中唯一支持极端比例的档位

两个模型都使用 provider: "google"。preview 版 ID gemini-3-pro-image-preview 和 gemini-3.1-flash-image-preview 仍被接受,并会归一化为上面的 GA ID。

限制

限制项gemini-3-pro-imagegemini-3.1-flash-image
图片尺寸1K、2K、4K1K、2K、4K
宽高比10 种标准比例全部 14 种,含四种极端比例
默认宽高比1:1(schema 默认值)1:1(schema 默认值)
参考图最多 14 张最多 14 张
quality忽略忽略

在本系列中,1:4、4:1、1:8、8:1 仅 Flash 支持——发给 gemini-3-pro-image 会返回 400,code: 29003。Nano Banana 上每一次宽高比拒绝都带 29003,而不是 GPT-Image 和 Wan 2.7 用的 26019。

两个模型都没有声明系列级的参考图上限,因此 schema 全局的 14 项上限就是实际上限——也是整个模型目录 中最高的。

极端比例

有四种比例,用于标准比例集合无法表达的横幅、竖条和全景:

比例形状典型用途
1:4窄竖向侧边栏配图、竖条
4:1宽横向页面横幅、页头
1:8极窄竖向长滚动面板
8:1全景宽幅全景、页脚条

在 Nano Banana 系列内,它们仅 Flash 支持。系列之外,seedream-5-0-pro 也接受它们——它按尺寸 校验,而不是按比例校验。

免费额度

两个模型都有各自的免费额度资源,仅可用于 1K 和 2K——4K 请求一律按积分计费。额度如何获得、 如何读取,见总览。

模型免费额度资源
gemini-3-pro-imagegemini-3-pro-image-relax-1k-2k
gemini-3.1-flash-imagegemini-3.1-flash-image

relax 通道

gemini-3-pro-image 是模型目录中唯一为免费额度设有独立执行通道的模型。具体怎么跑取决于你的账户 类型:

  • 付过费的账户(有效订阅、充值或购买过积分包)在消费免费额度时仍保持完整优先级、正常容量和 正常 fallback——额度改变的是计费方式,而不是你运行在哪条通道上。
  • 纯免费账户(从未付过任何费用)运行在最低优先级的免费通道上,吞吐量有固定上限。高峰期请求 可能被排队,或以可重试的 busy/timeout 响应被拒绝。发生这种情况时,不扣任何积分,免费额度也 不会被消耗——稍后重试。

纯免费账户的 relax 失败会返回机器可读的元数据,你无需解析本地化文案就能识别:

  • failReason 为 free_relax_busy 或 free_relax_timeout。
  • retryable 为 true。
  • 免费额度退回后,freeUsageRolledBack 为 true。
  • userMessage 在同步错误响应体上携带可本地化的友好文案;异步任务对象把同一份文案暴露为 failUserMessage。两个接口面的字段名不同——两条路径都要处理的话,两个字段都得读。

同步请求下这些信息出现在错误响应体里;异步请求下出现在失败任务详情(以及任务列表)中。两种失败 原因都按「稍后重试,没有产生任何扣费」处理。

计费

两个模型都按图片尺寸固定积分计价(pricing.mode 为 fixed),并且都不会设置 requiresSubscription。4K 比 2K 贵,2K 比 1K 贵。不要写死数值——用模型和尺寸调用 POST /v1/images/generation/estimate-credits 获取精确数字。

示例

curl -X POST "https://api.marswave.ai/openapi/v1/images/generation/async" \
  -H "Authorization: Bearer $LISTENHUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "google",
    "model": "gemini-3.1-flash-image",
    "prompt": "A panoramic mountain range at dawn, layered mist, muted palette",
    "imageConfig": { "imageSize": "2K", "aspectRatio": "8:1" }
  }'

完整参数列表和带参考图的请求结构,见 图片生成总览。

本页内容