# SmartSaveImage - 智能图片保存节点 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![ComfyUI](https://img.shields.io/badge/ComfyUI-Compatible-green.svg)](https://github.com/comfyanonymous/ComfyUI) 一个功能强大的ComfyUI自定义节点包,提供智能的文件夹管理和图片保存功能。 ## 🚀 安装 ### 方法一:通过ComfyUI Manager安装(推荐) 1. 打开ComfyUI Manager 2. 搜索 "SmartSaveImage" 3. 点击安装 ### 方法二:手动安装 ```bash cd ComfyUI/custom_nodes git clone https://github.com/kjqwer/SmartSaveImage.git cd SmartSaveImage pip install -r requirements.txt ``` ### 方法三:下载ZIP 1. 下载本仓库的ZIP文件 2. 解压到 `ComfyUI/custom_nodes/` 目录 3. 重启ComfyUI ## 🌟 主要特性 - **智能文件夹管理** - 自动创建有组织的文件夹结构 - **灵活的保存选项** - 支持多种图片格式和质量设置 - **元数据嵌入** - 自动提取并保存工作流信息 - **批量处理** - 高效处理多张图片 - **用户友好** - 直观的界面和丰富的选项 ## 📦 节点介绍 ### 智能文件夹管理器 (SmartFolderManager) 负责创建和管理文件夹结构,从工作流中自动提取元数据。 ### 智能图片保存器 (SmartImageSaver) 负责保存图片,支持多种格式、压缩选项和元数据嵌入。 ## 🚀 快速开始 ### 基本使用流程 1. **添加智能文件夹管理器节点** - 在ComfyUI中搜索"智能文件夹管理器" - 将要保存的图片连接到管理器的images输入 2. **配置文件夹结构** - 使用开关控制各层文件夹:日期、模型、种子、提示词、自定义 - 设置基础文件夹路径 - 可选择连接外部节点(模型、条件、潜在空间)获取更多信息 3. **添加智能图片保存器节点** - 搜索"智能图片保存器" - 将文件夹管理器的三个输出全部连接到保存器: - images → images - folder_path → folder_path - metadata_json → metadata_json 4. **配置保存选项** - 选择文件格式和质量设置 - 设置文件名和预览模式 ## 📁 文件夹结构配置 ### 灵活的层级控制 现在可以通过开关独立控制每一层文件夹的创建: - **日期文件夹** (`enable_date_folder`) - 按日期组织:`2024-11-15/` - 可自定义格式:`yyyy-MM-dd`, `yyyy/MM/dd` 等 - 可选择包含时间:`2024-11-15_14-30-25/` - **模型文件夹** (`enable_model_folder`) - 按模型组织:`sdxl_base/` - 自动从工作流提取模型名称 - 支持手动指定或从模型节点输入 - **种子文件夹** (`enable_seed_folder`) - 按种子组织:`seed_12345/` - 自动从工作流提取种子值 - 支持手动设置种子 - **提示词文件夹** (`enable_prompt_folder`) - 按提示词组织:`beautiful_landscape/` - 可设置最大长度,自动清理非法字符 - 支持手动输入或从条件节点获取 - **自定义文件夹** (`enable_custom_folder`) - 完全自定义:`my_project/` - 可以是任意文件夹名称 ### 组合示例 - 全开:`2024-11-15/sdxl_base/seed_12345/beautiful_landscape/my_project/` - 仅日期+模型:`2024-11-15/sdxl_base/` - 仅种子+自定义:`seed_12345/experiment_01/` ## 🖼️ 图片保存选项 ### 文件格式支持 - **PNG** - 无损压缩,支持透明度 - **JPEG** - 有损压缩,文件较小 - **WebP** - 现代格式,支持无损和有损 - **BMP** - 位图格式 - **TIFF** - 高质量格式 ### 质量设置 - **JPEG质量**:1-100(推荐95) - **WebP质量**:1-100(推荐90) - **WebP无损**:启用无损压缩 - **PNG压缩**:0-9级别(推荐6) ### 文件命名选项 - **文件名前缀**:自定义前缀 - **添加时间戳**:在文件名中包含时间 - **添加计数器**:多张图片时的序号 - **计数器设置**:起始值和位数 ## 🔧 高级功能 ### 智能元数据获取 - **外部节点优先**:连接外部节点时优先从节点获取信息 - **工作流自动提取**:没有外部输入时从工作流中自动提取 - **图片尺寸检测**:直接从图片数据中获取准确尺寸 - **手动补充**:仅在需要时手动输入补充信息 ### 元数据嵌入 - **参数记录**:保存采样器、CFG、步数等技术参数 - **工作流保存**:可选择嵌入完整工作流信息 - **多格式支持**:PNG使用PngInfo,JPEG/WebP使用EXIF ### 预览模式 - **保存并预览**:保存文件同时在界面显示 - **仅预览**:只在界面显示,不保存文件 - **仅保存**:只保存文件,不显示预览 ### 文件管理 - **覆盖保护**:避免意外覆盖现有文件 - **自动重命名**:文件冲突时自动生成新名称 - **备份功能**:覆盖前创建备份文件 ## 💡 使用技巧 ### 推荐工作流设置 1. **日常使用** - 开启:日期文件夹 + 模型文件夹 - 文件格式:PNG(质量优先)或WebP(体积优先) - 预览模式:保存并预览 2. **批量实验** - 开启:日期文件夹 + 种子文件夹 + 自定义文件夹 - 启用计数器,使用描述性前缀 - 考虑JPEG格式节省空间 3. **项目管理** - 开启:自定义文件夹(项目名)+ 模型文件夹 + 种子文件夹 - 手动设置模型和种子确保一致性 - 嵌入完整元数据便于追溯 4. **连接外部节点获取准确信息** - 将CheckpointLoader的MODEL输出连接到model_input - 将CLIPTextEncode的CONDITIONING连接到conditioning_positive/negative - 将KSampler的LATENT输出连接到latent_input - 连接后会优先使用外部节点的信息,无需手动选择模型 ### 文件夹路径设置 - **相对路径**:基于ComfyUI输出目录 - `output` 或留空 → 默认输出目录 - `my_project` → `ComfyUI/output/my_project/` - **绝对路径**:指定完整路径 - `D:/AI_Images/` → 直接保存到指定位置 ### 元数据利用 生成的图片会包含丰富的元数据信息: - 在图片查看器中可以看到生成参数 - 便于后续复现相同效果 - 支持批量分析和管理 ## ⚠️ 注意事项 1. **路径权限**:确保ComfyUI对目标文件夹有写入权限 2. **文件名长度**:避免过长的文件名(建议<200字符) 3. **特殊字符**:文件名会自动清理非法字符 4. **磁盘空间**:注意监控存储空间,特别是使用无损格式时 ## 🔄 更新日志 ### v0.1.0 - 重新设计的模块化架构 - 改进的元数据提取功能 - 更灵活的文件夹管理选项 - 增强的错误处理和用户反馈 ## 🤝 支持与反馈 如果遇到问题或有改进建议,欢迎反馈! --- *享受更智能的图片保存体验!* 🎨