yolain / ComfyUI-Easy-Use

In order to make it easier to use the ComfyUI, I have made some optimizations and integrations to some commonly used nodes.
GNU General Public License v3.0
1.09k stars 78 forks source link

使用for循环时保存图像遇到问题 #388

Open yjxie111 opened 2 months ago

yjxie111 commented 2 months ago

使用for循环时,vae解码输出的图像,经过bath any节点回到循环中,然后输出为一组图片,接入预览节点,这是正常的,但vae解码输出的图像,无论接预览还是保存节点,都只预览/保存第一张,后续的就不会被刷新/保存,这可能是一个bug?

不在vae解码处保存,而是在循环输出处才对一整组图像进行保存或许可以保存整组图片,但我不能这样做,因为我要根据循环里的参数构造文件名前缀,所以只能每生成一张图片就保存一张图片。

yjxie111 commented 2 months ago

workflow(这里使用了WAS的保存节点,但使用ComfyUI自带的保存图像节点也是一样的现象):

workflow

yolain commented 2 months ago

不是bug。目前comfy主体的执行反转逻辑里,只有参与循环体的节点会走循环呢,而输出节点(如预览和保存图像节点)他都会在第一次循环时就终止,不会参与到后续循环的输出。 有一个办法 就是额外写个带有output的保存图像节点 让最终输出图像参与循环体内即可。或者走easy pipe流,使用easy的ksampler里保存图像功能也能达到同样效果。

yjxie111 commented 2 months ago

不是bug。目前comfy主体的执行反转逻辑里,只有参与循环体的节点会走循环呢,而输出节点(如预览和保存图像节点)他都会在第一次循环时就终止,不会参与到后续循环的输出。 有一个办法 就是额外写个带有output的保存图像节点 让最终输出图像参与循环体内即可。或者走easy pipe流,使用easy的ksampler里保存图像功能也能达到同样效果。

目前的解决方案是使用ComfyUI_Fill-Nodes插件的FL Save And Display Image节点,这个节点会把图像保存后又输出,这样就可以把保存节点输出的图像而非保存节点之前的图像接入循环体,但是这个节点与我之前用的WAS相比还是有许多不方便的地方……