Skip to content

Repository files navigation

预览图

🏔️ 大江工具箱(ComfyUI-DJ_kitbox)

版本 260923-143954 · 作者:大江

为 ComfyUI 提供高质量 JPG 保存、工作流自动导出与日期时间变量文件名的自定义节点插件。

✨ 功能速览

🖼️ 保存图像JPG 大江

保持图像画质不变(quality=100, subsampling=1),保存为体积非常小的 JPG 格式。支持自定义文件名变量、日期文件夹自动创建、绝对路径输出与预览副本。

核心能力:

  • 📁 日期文件夹 — %date:yyyy-MM-dd% 自动创建按日期归档的目录
  • 🕐 时间戳文件名 — %time:hh-mm-ss% 精确到秒,不重名
  • 🔀 变量混用 — %date: 和 %time: 共享同一套 token,可自由组合
  • 📂 绝对路径 — 支持 D:\桌面\输出\ 等任意路径,自动创建预览副本
  • 🧭 自适应 output 目录 — 自动识别 ComfyUI 真实 output 位置(官方版/整合包/换盘均可),模块加载时只解析一次
  • 🔄 批次处理 — 自动为批量图像添加序号
  • ✅ 工作流导出 — 勾选后同步保存 ComfyUI 原生 .json 工作流文件

文件名变量:

变量 含义 示例输出
%date:yyyy% 四位年 2025
%date:MM% 两位月 12
%date:dd% 两位日 27
%time:hh% 两位时(24h) 14
%time:mm% 两位分 30
%time:ss% 两位秒 22
%INDEX% 当前图片序号 001
%BATCH_SIZE% 批次大小 004
%BATCH_INDEX% 批次内序号 002

📋 默认文件名模板

%date:yyyy-MM-dd%\%date:yyyy-MM-dd% %date:hh-mm-ss%

效果:在 output/ 下自动创建 2025-12-27/ 文件夹,保存为 2025-12-27 14-30-22.jpg。

📦 工作流自动导出

勾选「✓ 保存工作流」后,在图像同目录下额外生成同名 .json 文件:

  • 格式与 ComfyUI 自带「导出工作流」完全一致(顶层直接是 nodes、links、groups 等)
  • 可直接拖入 ComfyUI 加载,节点位置、连线、参数全部保留
  • 数据来源:ComfyUI hidden input extra_pnginfo["workflow"]

一眼看懂

能力 说明
🖼️ 高质量 JPG 保存 quality=100 + subsampling=1 + optimize,画质无损、体积远小于 PNG
📁 日期文件夹 %date:yyyy-MM-dd% 作为路径部分时自动 makedirs
🕐 时间戳命名 精确到秒,同秒冲突自动追加 _001、_002 序号
📂 绝对路径 支持 Windows / Linux 绝对路径;前端预览自动复制到 output/preview_absolute/
✅ 工作流导出 ComfyUI 原生 .json 格式,拖入即可加载
🔢 批次处理 多张图像自动编号,%INDEX% / %BATCH_SIZE% / %BATCH_INDEX% 变量
🌐 中文界面 所有标签、描述、日志均为中文

安装

将 ComfyUI-DJ_kitbox 文件夹放入 ComfyUI 的 custom_nodes/ 目录:

custom_nodes/
└── ComfyUI-DJ_kitbox/
    ├── __init__.py
    ├── 保存图像JPG.py
    └── README.md

重启 ComfyUI,在节点搜索中输入:

大江工具箱/保存图像JPG 大江

节点参数

参数 类型 默认值 说明
图像 IMAGE — 输入图像(支持批次)
文件名前缀 STRING %date:yyyy-MM-dd%\%date:yyyy-MM-dd% %date:hh-mm-ss% 支持变量,\ 或 / 分隔路径与文件名
同时保存工作流 BOOLEAN ✗ 不保存 勾选后同步导出 ComfyUI 原生 .json

Hidden Inputs(自动注入,无需手动连接)

参数 来源 用途
unique_id UNIQUE_ID 当前节点 ID
prompt PROMPT API 格式完整工作流
extra_pnginfo EXTRA_PNGINFO UI 布局数据(含节点位置、连线)

文件名变量详解

日期 Token(%date:...%)

Token 含义 示例(2025-12-27)
yyyy 四位年份 2025
yy 两位年份 25
MM 两位月份 12
M 月份(无前导零) 12(Windows 下同 MM)
dd 两位日期 27
d 日期(无前导零) 27(Windows 下同 dd)

时间 Token(%time:...%)

Token 含义 示例(14:30:22)
hh 两位小时(24h) 14
h 小时(无前导零) 14(Windows 下同 hh)
mm 两位分钟 30
m 分钟(无前导零) 30(Windows 下同 mm)
ss 两位秒 22
s 秒(无前导零) 22(Windows 下同 ss)

混用规则

  • %date: 和 %time: 共享同一套 token,可以互相使用
  • 分隔符(-、_、空格、\、/ 等)原样保留
  • Token 按长度降序匹配(先 yyyy 后 yy,先 MM 后 M),不会误匹配

示例

输入模板 输出(2025-12-27 14:30:22)
%date:yyyy-MM-dd%\%date:yyyy-MM-dd% %time:hh-mm-ss% 2025-12-27/2025-12-27 14-30-22.jpg
%date:yyyy年M月dd日%\测试_%time:hhmmss% 2025年12月27日/测试_143022.jpg
D:\桌面\输出\高清_%time:h时m分s秒% D:\桌面\输出\高清_14时30分22秒.jpg

📋 忽略多组 大江

批量处理时让指定节点组跳过执行,配合批处理工作流使用。

目录结构

ComfyUI-DJ_kitbox/
├── __init__.py          # 入口:注册节点映射
├── 保存图像JPG.py       # 节点实现(类 SaveImageJPG_DJ)
├── 忽略多组.py          # 节点实现(类 IgnoreGroupsDJ)
└── README.md            # 本文档

开发规范

__init__.py 标准结构

# -*- coding: utf-8 -*-
from .节点文件 import 节点类

NODE_CLASS_MAPPINGS = { "注册名": 节点类 }
NODE_DISPLAY_NAME_MAPPINGS = { "注册名": "显示名" }
WEB_DIRECTORY = None
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]

节点类标准结构

属性 说明
INPUT_TYPES 返回 required / optional / hidden 三组输入定义
RETURN_TYPES 输出类型元组;OUTPUT_NODE 必须为 ()
FUNCTION 执行方法名(字符串)
CATEGORY 搜索分类,如 "大江工具箱"
OUTPUT_NODE True = 终端节点(不输出张量)
DESCRIPTION 多行说明文本(tooltip)

关键注意事项

  1. 文件夹名必须以 ComfyUI 开头,否则不被加载
  2. 注册名 = 显示名 = JSON 中的 class_type,保持统一避免混淆
  3. 保存工作流用 extra_pnginfo["workflow"](ComfyUI 原生格式),不要用 prompt(API 格式拖入为空)
  4. OUTPUT_NODE 返回格式:{"ui": {"images": [{"filename", "subfolder", "type"}]}}
  5. 文件首行声明编码:# -*- coding: utf-8 -*-
  6. 异常处理:文件操作包 try/except,失败 print 但不中断主流程

作者

大江

About

大江工具箱:高质量JPG保存 + 工作流导出 + 日期变量文件名(ComfyUI 自定义节点)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages