突然看到我之前生成的一张图片(不知道用哪个大佬的提示词),看起来还不错,就直接高清放大了一下,然后想看一下这张图片的信息
就是提示词啊,种子那些,然后突然发现这张高清放大的图片看不到信息,本来就有点懵逼的,于是就开始了自己的尝试
想直接看结论的可以直接往下面走

图片的信息
首先comfyui一般生生成的图片都是png格式,因为png的图片容易存储多余的信息,理解成一张图片里面还有一些额外的数据信息在里面
里面甚至存放着工作流
我们可以直接把图片拖动到comfyui里面,如果图片包含着工作流,那么就会全部显示出来,但是我放大后的图片并没有包含生成时候的工作流(没有k采样器的信息)

当然没放大前的图片是有的,sd放大是需要提示词的,所以我使用了SD Prompt Reader节点
comfyui-prompt-reader-node节点
这个节点整合了很多功能,主要是关于图片信息的
里面的SD Prompt Reader可以读取图像的元数据,于是我想看看放大后的图片能不能读取出来(工作流还是存在的)

读取不到任何信息,难道说放大后的图片是不包含元数据信息的吗?但是拖进comfyui又有相应的工作流?(放大的工作流)
重新放大尝试
于是我重新把初始图片生成一遍,并且直接放大(在同一个工作流里面)
再次读取一下试试,信息都读取到了

看起来这个数据的保存,是根据当前的工作流来的,因为生成并且放大(工作流中有生成的信息),所以在保存的时候会把这些存进去(种子,cfg,model等等)
看来save image的时候是根据当前的工作流来的存储信息
我在放大的时候,其实有进行初始图片的数据读取,但是保存的时候并没有存进去(说明官方的save image并不认可SD Prompt Reader,只认识k采样之类的官方)
comfyui-prompt-reader-node节点import failed问题
这个插件如果你从管理器去安装,会导入失败....我找了好久,没人说这个问题
我们直接去github,看看这个节点问题模块
然后发现好多人遇到这个都是因为子模块的问题
直接查看.gitmodules,真的有子模块,看来是子模块安装问题,我们重新安装一下


不要在管理器安装了,直接git命令安装,记得加上参数--recursive就行,
git clone --recursive https://github.com/receyuki/comfyui-prompt-reader-node.git
如何编辑图片元数据
本来到这里就结束了,但是其实我还是作践,想自己添加数据进去,有挺多办法,图片信息编辑工具啊,在线网址啊
既然我都在用comfyui了,那就直接用comfyui-prompt-reader-node节点不就行了
1.编辑需要的信息
先把要改的信息准备好,当然我并不想要手动打,如果要批量那岂不是得变成打字员?
看了节点作者的所有示例,自己做了个最简单的
首先是原图信息提取

使用reader就可以读取到了,右边就会有很多可以输出的信息
至于SD Parameter Extractor这个是用来处理那些没法输出的信息(例如Scheduler,Sampler)

说白了其实就是作者没有把这些信息做成右边的输出,做出来就不用这么麻烦了
当然这里有个小bug,就是你连接后先运行才有选项给你选,但是你如果换图片,重新读取,那么就会失效,就是得重新连接个新的,旧的SD Parameter Extractor得重新删掉,在加一个运行才有的选


2.信息保存器(SD Parameter Generator)
我们把需要的信息保存到这个中间点,这个会更加详细,你甚至可以编辑正负面提示词的权重,精练生成refiner等等(反正我不需要,需要再去了解)
把需要的连接过来,然后就会有更详细的输出

里面最重要的就是vae_name,有一个baked vae就是大模型的vae,因为等下保存信息的节点没有这个选项,就一定得选别的vae.....
问题是我就是使用大模型的vae,所以就很离谱,不然我也不需要这个中间保存信息节点了

3.信息保存节点(SD Prompt Saver)
把我们要加信息的图片准备好,并且把刚才中间节点要输出的信息连接过去

这里说几个重要的参数

保存后会重新保存一张图,名字和路径不用改就行,到comfyui的output目录去找就行
ComfyUI_%time_%seed_%counter 这个的文件名字是ComfyUI_时间_种子_计数
%date/ 这个是会建一个时间命名的文件夹

文件格式最好选择png(可以保存工作流),这几个hash是给你上传C站的时候识别的,最后那个开起来就还会单独生成一份数据文件

这里因为是放大后的图片,所以分辨率只能从这里拿,使用Get Image Size节点就可以读取到了
运行生成就行

隐藏元数据
这里讲个题外话,如果不想要你的图片的信息被别人知道,在保存图像的时候换个节点就行

用这个mixlab的保存图像,metadata选择disable就行,这样保存的图片就不会有任何信息