版本
260923-143954· 作者:大江
为 ComfyUI 提供高质量 JPG 保存、工作流自动导出与日期时间变量文件名的自定义节点插件。
保持图像画质不变(quality=100, subsampling=1),保存为体积非常小的 JPG 格式。支持自定义文件名变量、日期文件夹自动创建、绝对路径输出与预览副本。
|
核心能力:
|
文件名变量:
|
%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 | 含义 | 示例(2025-12-27) |
|---|---|---|
yyyy |
四位年份 | 2025 |
yy |
两位年份 | 25 |
MM |
两位月份 | 12 |
M |
月份(无前导零) | 12(Windows 下同 MM) |
dd |
两位日期 | 27 |
d |
日期(无前导零) | 27(Windows 下同 dd) |
| 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 # 本文档
# -*- 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) |
- 文件夹名必须以
ComfyUI开头,否则不被加载 - 注册名 = 显示名 = JSON 中的 class_type,保持统一避免混淆
- 保存工作流用
extra_pnginfo["workflow"](ComfyUI 原生格式),不要用prompt(API 格式拖入为空) - OUTPUT_NODE 返回格式:
{"ui": {"images": [{"filename", "subfolder", "type"}]}} - 文件首行声明编码:
# -*- coding: utf-8 -*- - 异常处理:文件操作包 try/except,失败 print 但不中断主流程
大江
