Extensions/ComfyUI-MetadataCleaner
ComfyUI Extension

ComfyUI-MetadataCleaner

ComfyUI custom node to strip metadata & workflow info from output images/videos (PNG/JPEG/MP4/WebM/GIF/WebP, lossless). | ComfyUI 元数据清除自定义节点:无损去除图片/视频中的提示词、工作流与EXIF信息。

By Bigesila-B·Created 8 days ago·Updated a day ago· 1
Bigesila-B/ComfyUI-MetadataCleaner
Nodes3
On cloudLocal install
Category元数据清除
Stars1
Updateda day ago
Readme

ComfyUI 元数据清除节点(MetadataCleaner)

一个简洁的中文 ComfyUI 自定义节点包,用于去除输出文件中的元数据与工作流信息(prompt、workflow、EXIF 等),让你分享图片或视频给他人时,不会被还原出你的工作流和生成参数。

ComfyUI 默认保存的 PNG 中嵌入了完整的提示词和工作流图(别人把图片拖入 ComfyUI 即可直接加载你的工作流),本节点就是为了解决这个问题。

节点介绍

在节点菜单的 「元数据清除」 分类下可以找到三个节点:

1. 保存图像(去除元数据)

直接替代「保存图像(SaveImage)」节点使用:图像生成后直接保存一份完全不含元数据的干净文件。

| 参数 | 说明 | |------|------| | images | 输入图像(接 KSampler 解码后的 IMAGE) | | filename_prefix | 文件名前缀,默认 CleanedImage(保存为 CleanedImage_00001_.png 风格,与官方命名一致) | | image_format | 输出格式:png / jpeg / webp |

  • 与官方保存节点一样,保存的图片会直接显示在节点上,可右键另存为,从节点上下载的就是干净文件
  • 输出:图像(透传)、文件路径(保存位置)

2. 保存视频(去除元数据)

与官方「Save Video / 保存视频」节点同款用法:接入 VIDEO 直接保存,输出不含元数据的干净视频。

| 参数 | 说明 | |------|------| | video | 要保存的视频(官方 VIDEO 接口,和官方保存视频节点完全相同) | | filename_prefix | 文件名前缀,默认 CleanedVideo | | video_format | 输出格式,默认 auto:自动保持原格式,流复制无损清理(推荐);也可手动选 mp4 / webm / gif |

  • 只需连一根线、默认参数即可用,无需调整任何数值
  • auto/mp4流复制:不重新编码、不损画质、保留音频,帧率自动使用视频自带值
  • webm(VP9+Opus)/ gif(自动调色板)需要转码,仅在需要时手动选择
  • 视频直接在节点上播放预览,右键即可另存干净成品
  • 输出:视频(透传 VIDEO,可继续接其他节点)、文件路径

图像帧批量想合成视频?用官方「创建视频(CreateVideo)」节点先把帧转成 VIDEO,再接入本节点即可。

3. 清除文件元数据

针对已经保存好的文件(包括视频、动图等一切格式)清除元数据。

| 参数 | 说明 | |------|------| | file_path | 文件名或完整路径,如 ComfyUI_00001_.pngD:\out\video.mp4 |

  • 支持直接填文件名,会自动在 ComfyUI 的 outputtemp 目录及其子目录中查找(方便配合视频合成节点使用)
  • 清理后的文件保存到 output/cleaned/ 目录,文件名自动追加 _cleaned 后缀(不覆盖原文件)
  • 清理后的图片/视频会直接显示在节点上(图片走官方预览、视频走 VHS 同款视频播放器),右键即可另存,避免误存原始脏文件
  • 输出:清理后文件的完整路径

清理方式(均为无损)

| 文件类型 | 处理方式 | |----------|----------| | PNG | 字节级删除 tEXt / zTXt / iTXt / eXIf / tIME 数据块(prompt、workflow、parameters 都藏在这里),图像数据原样保留,像素完全不变 | | JPEG | 字节级删除 EXIF / XMP / 注释段,图像数据原样保留,不二次压缩 | | 其他格式(MP4 / WebM / MKV / MOV / GIF / WebP …) | 调用 ffmpeg 流复制(-c copy),不重新编码,清除全部全局与流级元数据 | | 保存视频节点导出的视频 | 从图像帧直接编码,导出时即不写入任何元数据 |

安装

方法一:手动安装

将整个 ComfyUI-MetadataCleaner 文件夹复制到:

ComfyUI/custom_nodes/ComfyUI-MetadataCleaner

然后重启 ComfyUI。

方法二:ComfyUI Manager

在 Manager 的「通过 Git URL 安装」中输入本仓库地址即可(如果你已将它上传到 Git 仓库)。

依赖说明

  • 无需安装任何额外 Python 依赖(Pillow、numpy 均为 ComfyUI 自带)
  • 涉及视频的功能(保存视频节点、清除视频文件元数据)需要 ffmpeg,按以下顺序自动查找并自动检测能力
    1. 系统 PATH 中的 ffmpeg(若为精简版、缺少所需编码器会自动跳过)
    2. ComfyUI 根目录(或上一级)的 ffmpeg.exe(便携版自带)
    3. imageio_ffmpeg 包提供的 ffmpeg(多数整合包已内置)
  • 只处理 PNG/JPEG 图片时不需要 ffmpeg

没有 ffmpeg 的用户:在 ffmpeg 官网 下载完整版后,把 ffmpeg.exe 放到 ComfyUI 根目录,或加入系统 PATH 即可。

常见问题

Q:怎么验证图片已经干净了? 把清理后的图片拖入 ComfyUI 窗口,若无法加载出工作流(只显示为空白画布),说明清除成功。

Q:怎么验证视频已经干净了? 用命令 ffprobe -show_format 视频文件 查看,tags 中不应有 comment、title 等用户元数据。

Q:清理后的 MP4 里还能看到 major_brand、handler_name 之类字段? 这些是 MP4 容器格式自身的固定结构字段(相当于文件格式的"身份证"),不含任何用户数据,所有元数据清除工具的标准结果均如此,无需担心。

Q:会修改我的原文件吗? 不会。节点 3 的输出始终保存为新文件(output/cleaned/ 下,自动加 _cleaned 后缀),原文件保持不变。

文件结构

ComfyUI-MetadataCleaner/
├── __init__.py    # 节点注册入口
├── nodes.py       # 三个节点定义(中文界面)
├── cleaner.py     # 元数据清理核心逻辑
└── README.md