# ComfyUI 三合一 AI 图像生成节点 这个项目为 ComfyUI 提供了两个强大的自定义节点,集成了三个主流的中文AI图像生成平台:**即梦AI**、**火山引擎豆包**和**NanoBanana**。支持文生图和图生图功能。 ## 功能特点 - 🎨 **三平台集成**:同时支持即梦AI、火山引擎豆包、NanoBanana三个平台 - 🔄 **双模式支持**:文生图 (Text-to-Image) 和 图生图 (Image-to-Image) - ⚡ **并行生成**:可同时调用多个平台生成图片,提高效率 - 🎯 **智能轮询**:自动等待图片生成完成,无需手动查询 - 🛡️ **容错处理**:单个平台失败不影响其他平台正常工作 - 📊 **详细状态**:实时显示每个平台的生成状态和错误信息 - 🔗 **URL输出**:提供每个API生成的图片URL,便于后续处理和分享 - 🔄 **重试机制**:支持API调用失败时自动重试,提高成功率 - ⏱️ **超时控制**:可配置请求和轮询超时时间,避免长时间等待 ## 系统要求 - Python 3.8 或更高版本 - ComfyUI 已安装并运行 - 至少 4GB 可用内存 ## 依赖说明 本项目需要以下 Python 包: - **Pillow** (>=9.0.0): 用于图像处理 - **numpy** (>=1.21.0): 用于数值计算和数组操作 - **torch** (>=1.12.0): PyTorch 深度学习框架(ComfyUI 通常已包含) > **注意**: ComfyUI 通常已经包含了 `torch` 和 `numpy`,如果您的 ComfyUI 环境已配置好,可能只需要安装 `Pillow`。 ## 安装方法 ### 方法一:使用 Git 克隆(推荐) 1. 将此仓库克隆到 ComfyUI 的 `custom_nodes` 目录: ```bash cd ComfyUI/custom_nodes git clone https://github.com/AlexXia007/AIYang_TripleAPI.git ``` 2. 进入项目目录并安装依赖: ```bash cd AIYang_comfyui_tripapi pip install -r requirements.txt ``` 3. 重启 ComfyUI ### 方法二:手动安装 1. 下载项目 ZIP 文件并解压到 `ComfyUI/custom_nodes` 目录 2. 在项目目录下打开终端,执行: ```bash pip install -r requirements.txt ``` 3. 重启 ComfyUI ### 验证安装 重启 ComfyUI 后,在节点菜单中应该能看到: - `TripleAPIGenerate` (三合一文生图节点) - `TripleAPIImg2Img` (三合一图生图节点) 如果节点未出现,请检查: - 依赖是否安装成功 - ComfyUI 控制台是否有错误信息 - 项目是否在正确的 `custom_nodes` 目录下 ## 节点说明 ### 1. TripleAPIGenerate (三合一文生图节点) 用于根据文字描述生成图片。 #### 输入参数详解 **基础参数** - **`prompt`** (STRING): - **描述**: 图片生成的主要提示词 - **填写**: 详细描述你想要生成的图片内容,如"一只可爱的小猫坐在花园里,阳光明媚,高清摄影风格" - **建议**: 越详细越好,包含风格、场景、光线、质量等描述 - **`negative_prompt`** (STRING): - **描述**: 负面提示词,指定不想要的元素 - **填写**: 如"模糊,低质量,变形,多余的手指,nsfw" - **可选**: 可以留空,但建议填写以提高图片质量 - **`image_urls_input`** (STRING): - **描述**: 参考图片的URL地址(多个URL用换行分隔) - **填写**: 如"https://example.com/image1.jpg" - **用途**: 提供风格参考或构图参考 - **可选**: 纯文生图时可留空 **平台开关** - **`enable_hidream`** (BOOLEAN): 是否启用即梦AI (默认: True) - **`enable_volcengine`** (BOOLEAN): 是否启用火山引擎豆包 (默认: True) - **`enable_nanobanana`** (BOOLEAN): 是否启用NanoBanana (默认: True) **API配置** - **`hidream_req_key`** (STRING): 即梦AI的API密钥 - **`volcengine_api_key`** (STRING): 火山引擎的API密钥 - **`nanobanana_api_key`** (STRING): NanoBanana的API密钥 **生成参数** - **`image_width`** (INT): 生成图片宽度 (默认: 1024, 范围: 256-2048) - **`image_height`** (INT): 生成图片高度 (默认: 1024, 范围: 256-2048) - **`num_images`** (INT): 生成图片数量 (默认: 1, 范围: 1-4) **高级设置** - **`request_timeout`** (INT): 单次请求超时时间,秒 (默认: 240) - **`poll_interval`** (INT): 轮询间隔时间,秒 (默认: 3) - **`poll_timeout`** (INT): 总轮询超时时间,秒 (默认: 240) - **`max_retries`** (INT): 最大重试次数 (默认: 3, 范围: 1-5) - **`white_image_width`** (INT): 失败时白色占位图宽度 (默认: 512) - **`white_image_height`** (INT): 失败时白色占位图高度 (默认: 512) **特定平台参数** - **`nanobanana_model`** (STRING): NanoBanana使用的模型 (默认: "flux") - **`nanobanana_style`** (STRING): NanoBanana的艺术风格 (默认: "默认") #### 输出说明 **图片输出** - **`nanobanana_image`** (IMAGE): NanoBanana生成的图片张量 - **`doubao_image`** (IMAGE): 豆包生成的图片张量 - **`hidream_image`** (IMAGE): 即梦AI生成的图片张量 **任务信息** - **`nanobanana_task_id`** (STRING): NanoBanana任务ID - **`hidream_task_id`** (STRING): 即梦AI任务ID **API响应** - **`nanobanana_response`** (STRING): NanoBanana的完整API响应 (JSON格式) - **`doubao_response`** (STRING): 豆包的完整API响应 (JSON格式) - **`hidream_response`** (STRING): 即梦AI的完整API响应 (JSON格式) **状态信息** - **`status_info`** (STRING): 详细的状态信息,包含每个平台的执行结果 **图片URL输出** ⭐ **新功能** - **`nanobanana_image_url`** (STRING): NanoBanana生成的图片URL - **`doubao_image_url`** (STRING): 豆包生成的图片URL - **`hidream_image_url`** (STRING): 即梦AI生成的图片URL **URL值说明**: - **成功时**: 返回实际的图片URL地址 - **API错误时**: 返回 `"api_error"` - **API禁用时**: 返回 `"api_disabled"` ### 2. TripleAPIImg2Img (三合一图生图节点) 用于基于输入图片进行图像转换和编辑。 #### 输入参数详解 **图片输入** - **`input_image`** (IMAGE): - **描述**: 输入的基础图片张量 - **连接**: 从图片加载节点或其他图像处理节点连接 - **必填**: 图生图必须提供基础图片 **基础参数** - **`prompt`** (STRING): - **描述**: 对图片进行修改的描述 - **填写**: 如"将这个人的头发改为金色,背景改为海滩" - **建议**: 描述你想要的变化,而不是重复描述原图内容 - **`negative_prompt`** (STRING): - **描述**: 不想要的效果 - **填写**: 如"模糊,扭曲,多余的肢体" **其他参数**: 与文生图节点相同 #### 输出说明 输出与文生图节点完全相同。 ## URL输出功能详解 ### 什么是URL输出? URL输出功能为每个API生成的图片提供直接的URL链接,让您可以: - **直接访问图片**:无需下载到本地即可查看生成的图片 - **分享图片**:将URL分享给他人查看 - **集成到其他系统**:将URL传递给其他应用或服务 - **调试和监控**:快速检查API是否成功生成了图片 ### URL值含义 | 值 | 含义 | 说明 | |---|---|---| | `https://example.com/image.jpg` | 成功 | 返回实际的图片URL地址 | | `api_error` | API错误 | API调用失败或响应格式错误 | | `api_disabled` | API禁用 | 该API被禁用或未提供密钥 | ### 使用场景 1. **质量对比**:同时获取三个平台的图片URL,对比生成效果 2. **自动化流程**:将URL传递给后续的图片处理节点 3. **错误诊断**:通过URL值快速判断哪个API出现问题 4. **批量处理**:收集多个生成的图片URL进行批量操作 ## 使用示例 ### 文生图工作流 1. 添加 `TripleAPIGenerate` 节点 2. 填写提示词: "一只橘色的小猫在阳光下睡觉,温暖的午后,高清摄影" 3. 填写负面提示词: "模糊,低质量,变形" 4. 配置API密钥 5. 设置图片尺寸 (如 1024x1024) 6. 运行生成 **获取图片URL**: - 连接 `nanobanana_image_url` 输出到文本显示节点,查看NanoBanana生成的图片URL - 连接 `doubao_image_url` 输出到文本显示节点,查看豆包生成的图片URL - 连接 `hidream_image_url` 输出到文本显示节点,查看即梦AI生成的图片URL ### 图生图工作流 1. 添加图片加载节点,加载基础图片 2. 添加 `TripleAPIImg2Img` 节点 3. 将图片加载节点的输出连接到 `input_image` 4. 填写修改提示词: "将背景改为星空,保持人物不变" 5. 配置其他参数 6. 运行生成 ### API密钥获取 **即梦AI** 1. 访问 [即梦AI官网](https://jimeng.jianying.com/) 2. 注册账号并获取API密钥 **火山引擎豆包** 1. 访问 [火山引擎控制台](https://console.volcengine.com/) 2. 开通豆包大模型服务 3. 创建API密钥 **NanoBanana** 1. 访问 [NanoBanana官网](https://nanobanana.ai/) 2. 注册账号并获取API访问权限