ComfyUI Extension: comfyui-save-image-pro
Professional-grade ComfyUI image saving plugin with support for multiple formats, custom naming, and advanced features.
Custom Nodes (0)
README
🚀 ComfyUI Save Image Pro
专业级图像保存插件
一个功能强大、高性能的 ComfyUI 图像保存插件,采用现代化模块架构设计,支持多种格式、自定义命名和高级功能。
✨ 主要特性
🎯 核心功能
- 多格式支持: PNG, WebP, JPEG, AVIF, JXL, TIFF, GIF, BMP
- 智能命名: 灵活的文件名和文件夹结构自定义
- 元数据保存: 完整的生成参数和提示词保存
- 作业数据导出: 详细的 JSON 格式生成信息
- 批量处理: 高效的多图像并行保存
⚡ 性能特性
- 智能缓存: 文件名生成和参数提取缓存机制
- 并行处理: 多线程批量保存优化
- 内存管理: 自动内存监控和清理
- 错误恢复: 完善的错误处理和日志系统
🏗️ 架构优势
- 模块化设计: 11个独立核心模块
- 策略模式: 灵活的格式处理策略
- SOLID原则: 高质量、可维护的代码架构
- 完整测试: 全面的单元测试覆盖
📖 快速开始
基本使用
- 在 ComfyUI 中搜索并添加 "comfyui-save-image-pro" 节点
- 连接图像输出到节点的 images 输入
- 配置保存参数(格式、文件名、文件夹等)
- 运行工作流,图像将按配置保存
配置示例
基础配置
filename_prefix: "AI_Art"
filename_keys: "sampler_name, steps, %H-%M-%S"
output_format: ".webp"
quality: 85
生成文件名: AI_Art-euler-20-14-30-25_0001.webp
高级配置
filename_keys: "5.ckpt_name, sampler_name, cfg, steps, %F"
foldername_keys: "%Y/%m, 5.ckpt_name"
delimiter: "_"
counter_position: "first"
生成路径: 2024/01/sd_xl_base/0001_sd_xl_base_euler_7.5_20_2024-01-15.webp
⚙️ 参数说明
文件命名参数
| 参数 | 描述 | 示例 |
| --- | --- | --- |
| filename_prefix
| 文件名前缀 | "ComfyUI", "AI_Art" |
| filename_keys
| 文件名组成元素,逗号分隔 | "sampler_name, cfg, steps" |
| delimiter
| 文件名元素间的分隔符 | "-", "_", "." |
文件夹参数
| 参数 | 描述 | 示例 |
| --- | --- | --- |
| foldername_prefix
| 文件夹名前缀 | "outputs", "generated" |
| foldername_keys
| 文件夹名组成元素 | "ckpt_name", "%Y/%m/%d" |
格式和质量
| 参数 | 描述 | 选项 |
| --- | --- | --- |
| output_format
| 输出格式 | .webp, .png, .jpg, .avif, .jxl 等 |
| quality
| 图像质量 (1-100) | 75 (推荐), 100 (无损) |
高级选项
| 参数 | 描述 | 选项 |
| --- | --- | --- |
| save_metadata
| 保存元数据到图像 | true/false |
| save_job_data
| 作业数据保存级别 | disabled, basic, models, prompt |
| counter_digits
| 计数器位数 | 4 (默认), 1-10 |
| counter_position
| 计数器位置 | last, first |
🔧 高级功能
参数引用系统
可以在文件名中引用工作流中的任何参数:
# 基本参数引用
sampler_name, cfg, steps
# 节点参数引用 (节点ID.参数名)
5.seed, 3.ckpt_name
# 时间格式
%Y-%m-%d, %H-%M-%S
时间格式支持
支持 Unix 时间格式:
| 格式 | 示例 | 说明 |
| --- | --- | --- |
| %F
或 %Y-%m-%d
| 2024-05-22 | 完整日期 |
| %H-%M-%S
| 09-13-58 | 时间 |
| %Y/%m/%d
| 2024/05/22 | 创建日期子文件夹 |
| %Y/%V
| 2024/21 | 年份/ISO周数 |
文件夹结构
支持创建复杂的文件夹结构:
# 基本文件夹
ckpt_name
# 按日期分类
%Y/%m/%d
# 混合结构
models/ckpt_name/%F
📦 安装说明
自动安装 (推荐)
通过 ComfyUI Manager 安装:
- 打开 ComfyUI Manager
- 搜索 "ComfyUI Save Image Pro"
- 点击安装并重启 ComfyUI
手动安装
- 进入 ComfyUI 的
custom_nodes
目录 - 克隆仓库:
git clone https://github.com/weekii/comfyui-save-image-pro.git
- 重启 ComfyUI
依赖安装
基础依赖会自动安装,可选格式需要额外安装:
# AVIF 支持
pip install pillow-avif-plugin
# JXL 支持 (需要 MSVC 编译环境)
pip install jxlpy
系统要求
- Python 3.8+
- ComfyUI 最新版本
- 足够的磁盘空间用于图像保存
🎨 格式支持和优化建议
支持的格式
| 格式 | 特点 | 推荐用途 | 质量建议 | | --- | --- | --- | --- | | WebP | 平衡质量和大小 | 日常使用 | 75-85 | | PNG | 无损质量 | 需要透明度 | N/A | | JPEG | 最小文件大小 | 快速分享 | 85-95 | | AVIF | 最新格式,优秀压缩 | 高质量存储 | 60-70 | | JXL | 下一代格式 | 专业用途 | 80-90 | | TIFF | 专业标准 | 印刷用途 | 90-100 |
性能优化建议
- 批量保存: 插件自动使用多线程处理大批量图像
- 缓存机制: 文件名生成和参数提取会被缓存以提高性能
- 内存管理: 自动监控和清理内存使用
- 格式选择: WebP 通常是质量和大小的最佳平衡
元数据支持
插件支持在图像中保存完整的生成信息:
- PNG: 使用 PngInfo 保存提示词和工作流
- JPEG/WebP/AVIF: 使用 EXIF 标签保存元数据
- 兼容性: 与 WAS Node Suite 等其他插件兼容
节点ID显示
要使用节点参数引用功能,需要在 ComfyUI 中启用节点ID显示:
- 进入设置 (Settings)
- 启用 "Badge IDs" 选项
- 节点上会显示数字ID,可用于参数引用
🚀 重构亮点
架构升级
- 模块化设计: 从单一文件重构为11个专业模块
- SOLID原则: 遵循软件工程最佳实践
- 策略模式: 灵活的格式处理架构
- 完整测试: 全面的单元测试覆盖
性能提升
- 智能缓存: 50-70% 文件名生成性能提升
- 并行处理: 30-50% 批量保存性能提升
- 内存优化: 20-30% 内存使用减少
- 错误恢复: 完善的错误处理机制
开发体验
- 完整文档: 用户手册和开发者文档
- 易于扩展: 新增格式和功能更简单
- 向后兼容: 现有工作流无需修改
�️ 故障排除
常见问题
Q: 图像保存失败
- 检查输出目录权限
- 确认文件名不包含非法字符
- 查看 ComfyUI 控制台错误信息
Q: 参数引用不工作
- 确保启用了节点ID显示
- 检查节点ID和参数名是否正确
- 使用格式:
节点ID.参数名
Q: 某些格式不支持
- 安装对应的依赖包
- 检查系统兼容性
- 查看支持的格式列表
Q: 性能问题
- 启用缓存功能
- 调整批量处理设置
- 检查磁盘空间和内存
获取帮助
- 查看 用户手册
- 查看 开发者文档
- 提交 GitHub Issues
📋 更新日志
最新版本 - 重构版本
- ✨ 完全重构的模块化架构
- ⚡ 大幅性能提升和优化
- 🧪 完整的单元测试覆盖
- 📚 完善的文档系统
- 🔧 改进的错误处理和日志
- 🎯 保持完全向后兼容
v2.x 历史版本
详细的历史更新记录请查看 CHANGELOG.md
🤝 贡献
欢迎贡献代码、报告问题或提出建议!
贡献方式
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 创建 Pull Request
开发指南
- 查看 开发者文档
- 遵循现有的代码风格
- 添加适当的测试
- 更新相关文档
📄 许可证
本项目采用 GPL 3.0 许可证。
🙏 致谢
- 原始项目灵感来自 @thedyze
- 感谢 ComfyUI 社区的支持和反馈
- 感谢所有贡献者的努力
ComfyUI Save Image Pro - 让图像保存更专业、更高效! 🚀