> ## Documentation Index
> Fetch the complete documentation index at: https://api-doc.vncps.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nano Banana 图片生成节点

> 在 ComfyUI 中使用 Nano Banana 进行高质量图片生成（文生图 / 图生图 / 多图参考）

## 节点概述

<Note>
  **节点名称：** Nano Banana\
  **功能：** 使用 Google Nano Banana 模型进行文生图、图生图和多图参考生成\
  **推荐程度：** ⭐ 推荐，支持并发请求和多行提示词，高性能图片生成
</Note>

### 支持的能力（与根 README 保持一致）

* ✅ **文生图**：根据文本提示生成高质量图片
* ✅ **图生图**：支持单图输入生成新图片
* ✅ **多图参考**：支持 1–4 张图片作为参考
* ✅ **分行提示词**：多行提示词批量生成，每行独立处理
* ✅ **并发请求**：真正的并发请求和图片下载
* ✅ **匹配参考尺寸**：图生图模式下自动匹配参考图尺寸（缩放 + 居中裁剪）
* ✅ 支持 Nano Banana 2 / Gemini 3 Pro Image 模型
* ✅ 支持 10 种宽高比
* ✅ 支持 1K / 2K / 4K 分辨率（仅部分模型）
* ✅ 使用 Gemini 原生 API 格式（contents + parts + inline\_data）
* ✅ 自动重试机制 + 连接池复用 + 参数自动保存

***

## 节点界面

<img src="https://mintcdn.com/shihuo/ksPaHu-gA636miQn/images/nano-banana_run.png?fit=max&auto=format&n=ksPaHu-gA636miQn&q=85&s=e0981a33f8cb3c131f8f9f0876cf81ef" alt="Nano Banana 节点配置与运行界面" width="2139" height="1336" data-path="images/nano-banana_run.png" />

***

## 请求示例（Gemini 原生格式）

```json theme={null}
{
  "contents": [
    {
      "parts": [
        {"text": "一只可爱的猫咪，卡通风格，高清"},
        {
          "inline_data": {
            "mime_type": "image/jpeg",
            "data": "<base64_encoded_image>"
          }
        }
      ]
    }
  ],
  "generationConfig": {
    "imageConfig": {
      "aspectRatio": "1:1",
      "imageSize": "2K"
    }
  }
}
```

***

## 参数说明

| 参数        | 类型      | 说明              | 可选值                                                            |
| --------- | ------- | --------------- | -------------------------------------------------------------- |
| `提示词`     | STRING  | 图片生成的文本描述（支持多行） | 支持中英文                                                          |
| `API密钥`   | STRING  | API 身份验证密钥      | `sk-xxx`                                                       |
| `API地址`   | STRING  | API 服务端点        | 例如 `https://api.openai.com`                                    |
| `模型`      | ENUM    | 选择模型            | `nano-banana-2` / `gemini-3-pro-image-preview` 等               |
| `宽高比`     | ENUM    | 图片宽高比           | `1:1 / 4:3 / 3:4 / 16:9 / 9:16 / 2:3 / 3:2 / 4:5 / 5:4 / 21:9` |
| `分辨率`     | ENUM    | 图像分辨率           | `none / 1K / 2K / 4K`                                          |
| `超时秒数`    | INT     | API 请求超时时间      | `30-600`，默认 `120`                                              |
| `最大重试次数`  | INT     | 失败后重试次数         | `1-10`，默认 `3`                                                  |
| `并发请求数`   | INT     | 一次生成的图片数量       | `1-10`，默认 `1`                                                  |
| `启用分行提示词` | BOOLEAN | 是否按行拆分提示词       | 默认 `False`                                                     |
| `匹配参考尺寸`  | BOOLEAN | 是否将输出匹配参考图尺寸    | 默认 `False`                                                     |
| `详细日志`    | BOOLEAN | 是否显示详细调试信息      | 默认 `False`                                                     |
| `参考图片1-4` | IMAGE   | 可选参考图片          | 用于图生图/多图参考                                                     |

<Info>
  * `宽高比` 和 `分辨率` 会共同影响最终生成尺寸；
  * 图生图模式下可开启“匹配参考尺寸”，在本地对结果做缩放+裁剪对齐参考图。
</Info>

***

## 功能模式

1. **文生图**
   * 只填写提示词，不连接任何参考图片输入；
   * 适合从零构图、灵感草图、海报/封面创作。

2. **图生图**
   * 连接 1 张参考图片到 `参考图片1`；
   * 提示词描述对该图片的变换，例如“变为油画风格”或“改成赛博朋克城市背景”。

3. **多图参考**
   * 连接 2–4 张参考图片到 `参考图片1-4`；
   * 提示词中说明希望如何融合这些图片的内容/风格。

4. **批量生成（分行提示词）**
   * 在提示词中每行写一个独立描述；
   * 勾选“启用分行提示词”；
   * 设置 `并发请求数 = N` 时，**总图片数 ≈ 行数 × N**。

***

## 使用示例

### 示例 1：基础文生图

<Steps>
  <Step title="配置参数">
    * 模型：`nano-banana-2`
    * 宽高比：`16:9`
    * 分辨率：`2K`
    * 并发请求数：`2`
  </Step>

  <Step title="输入提示词">
    ```
    一只可爱的猫咪，卡通风格，高清，
    色彩鲜艳，背景是温馨的客厅场景。
    ```
  </Step>

  <Step title="运行节点">
    将 Nano Banana 节点输出连接到 SaveImage，可一次得到 2 张不同结果。
  </Step>
</Steps>

### 示例 2：分行提示词批量生成

<Steps>
  <Step title="多行提示词">
    ```
    一只可爱的猫咪，卡通风格
    赛博朋克风格的城市夜景
    海洋深处的神秘生物
    ```
  </Step>

  <Step title="启用分行 + 并发">
    * 启用分行提示词：`True`
    * 并发请求数：`3`
  </Step>

  <Step title="执行生成">
    将输出 `3 行 × 3 并发 = 9` 张图片，方便批量选图。
  </Step>
</Steps>

### 示例 3：图生图（匹配参考尺寸）

<Steps>
  <Step title="连接参考图片">
    将一张 `1600×2848` 的图片连接到 `参考图片1`。
  </Step>

  <Step title="配置参数">
    * 提示词：`"将这张图片转换为油画风格"`
    * 匹配参考尺寸：`True`
    * 分辨率：`2K`
  </Step>

  <Step title="生成结果">
    输出图片会在本地被处理为 `1600×2848` 的尺寸，适合继续拼接或替换。
  </Step>
</Steps>

### 示例 4：多图参考

<Steps>
  <Step title="连接多张参考图片">
    * 参考图片1：人物照片；
    * 参考图片2：城市夜景；
  </Step>

  <Step title="输入提示词">
    ```
    融合两张图片的风格和内容，
    将人物放置在霓虹灯闪烁的城市夜景中，
    整体风格偏赛博朋克。
    ```
  </Step>

  <Step title="执行生成">
    运行后输出多张融合风格的图片，可连接 SaveImage 保存。
  </Step>
</Steps>

***

## 重试机制

<Info>
  Nano Banana 节点沿用 README 中描述的自动重试策略：

  * 遇到 503 / 429 等错误自动重试；
  * 使用 2s → 4s → 8s 的指数退避等待；
  * 对除 429 之外的 4xx 客户端错误直接失败，不浪费重试次数；
  * 每次重试会在详细日志模式下打印重试次数与原因。
</Info>

***

## 常见问题

<AccordionGroup>
  <Accordion title="Nano Banana 与 Gemini Banana 有什么区别？">
    * 两者都可以进行文生图/图生图/多图参考；
    * Nano Banana 更偏向你的 Nano Banana 集成配置；
    * Gemini Banana 使用 OpenAI 风格的 `images/generations` 接口；
    * 实际选择可根据你接入的后端服务进行调整。
  </Accordion>

  <Accordion title="提示词写不动，有没有范式？">
    建议包含以下要素：

    * 主体（人物/物体/场景）；
    * 风格（写实/二次元/油画/赛博朋克等）；
    * 光线与环境（白天/夜晚、室内/室外、柔光/强光）；
    * 构图（特写/中景/远景、横版/竖版）；
    * 质量关键词（高清/8K/细节丰富）。
  </Accordion>

  <Accordion title="分行提示词和并发会很烧额度吗？">
    * 会显著增加调用次数和总消耗；
    * 建议调试阶段使用较少行数和较小并发；
    * 确认方向后再提高并发/分行数量批量生成。
  </Accordion>
</AccordionGroup>
