NimaNzrii / comfyui-photoshop

ComfyUi inside of your Photoshop! you can install the plugin and enjoy free ai genration
252 stars 15 forks source link

Some questions/feature requests #56

Open noembryo opened 1 month ago

noembryo commented 1 month ago

First of all, this combo (plugin/workflow) is great! I have some questions/observations about the plugin

  1. Is there a purpose in disabling the masking by default? I have it always on. Is there a mode (like i2i or t2i) that it will create some problems?
  2. I made another In Paint group that uses LCM and it seems to be working ok. Am I missing something here? You don't use LCM there because of a difference in quality? I don't know much about these models, so any info is appreciated..
  3. When/if you add the random button we were talking at #33, can we take a keyboard shortcut too? I know that you are restricted inside Photoshop, but just asking for the best here.. πŸ˜‰
  4. Speaking of best features, another cool feature would be to have a history entry for every generation that could retrieve the older rendered image. I know I'm pushing it here, but hey..
  5. What is the right way to open the applications? a. ComfyUI > Load Workflow > Photoshop > Connect or b. Photoshop > ComfyUI > Load Workflow > Connect?
  6. Sometimes although the plugin is connected, it keeps sending the same old image, even after many changes. Is there a way to reset the plugin inside Photoshop without closing everything down and start from scratch?

Just some user feedback that might help development.. The plugin is great as is, already.. πŸ‘

NimaNzrii commented 1 month ago

1- there is a little bit of delay on loading mask which some users doesn't like it

But it will be removed on next versions

2- i love to add inpaint model as a render group, but the problem is in this case user need to change 2 option for inpainting , the workflow and the render setting . So it will make their life harder

If you have any smarter version of it i would love to see it❀️

3- i don't think if it's possible. But i will try it

4- never thought about it, great idea , i will add it to the list , but for now I'm working on some Critical updates like Remote connection for plugin and macOs Support , which are heavy process, because it needs to change whole data transformation But ,90% done

5- no difference at all

6- this issue has been fixed for me rn on not realeaed version. But yeah , just wait for good news

Additionally , im working on a new functionality which brings a huge amount of creativity for the workflow in feature

noembryo commented 1 month ago

2- i love to add inpaint model as a render group, but the problem is in this case user need to change 2 option for inpainting , the workflow and the render setting . So it will make their life harder

If you have any smarter version of it i would love to see it❀️

What I did is, I just created a new group, named it "In Paint LCM", copied your "In Paint" stuff there and replace some of them. If you drop this In Paint LCM.json to your workflow and add it to a group as described, you will just have an extra entry in your Presets and Voila!

Additionally , im working on a new functionality which brings a huge amount of creativity for the workflow in feature

Great news.. 🍾 BTW, how can we get notified if there is a newer version of the plugin/workflow/node? πŸ‘€

noembryo commented 1 month ago

I found an even better way to use the selected Render for in-painting.. You had all the needed nodes in your in-paint preset. I learned (in a video from a guy that works in Stable diffusion) that the "Differential Diffusion" node and the InPaintModelConditioning node combo, can turn every checkpoint to an in-paint checkpoint. So you can drop this In Paint (from Render).json into your workflow, put it in a separate group and use it with whatever Render you like. From my tests it performed better than the original in-paint preset..

NimaNzrii commented 1 month ago

your workflow file is corrupted for me

noembryo commented 1 month ago

You don't open it as a workflow. You just drop it on an existing workflow. It's an exported Node template. You can import it from the right click menu>Node Templates>Manage

noembryo commented 1 month ago

Further testing don't produce a clear winner.. 😞 I'll keep the "In Paint LCM" method too.

noembryo commented 1 month ago

Another issue is that when working with Out Paint, the selected area (for the expansion) has an offset of one rendering. Par example, if I crop (expand) an image and press render, the mask in the Out Paint group in ComfyUI, shows an older mask. If I press render again, the mask is updated and works as expected. If I keep the generation and crop (expand) again, pressing render will use the previously used mask. After a second pressing of the Render button, the mask gets updated..

noembryo commented 1 month ago

After more testing, the In Paint (from Render).json does not perform all that well. Sometimes is better than the other modes, but many times fails. OTOH, In Paint LCM.json works nicely..

noembryo commented 1 month ago

This plugin is a great platform to do many things..

Another really simple addition is this Face Swap (ReActor) group. (This is a template. Drop it on workflow or right click > Manage Templates >Import). You have to load the face manually in ComfyUI. To use a face model you have to Mute the "Load Face Image" node.

What it would be nice, is a way to send the face (from a Photoshop selection) to ComfyUI, and then switch to the "Swap Face" mode and use the previously send face to swap the face of a newly send image. But even manually it works nicely.. πŸ‘

noembryo commented 1 month ago

OK, I think I made it.. This template Face Swap (with Get Face) must get split into two Groups. The first one can be named "Get face image" and must contain only the Get Face node. The other group can be named "Face Swap" and include the rest of the nodes. The way it works is:

Currently there is a bug in the comfy-photoshop plugin that sometimes makes the sent image to ComfyUI to get stack and not change whatever image you load. Most of the time this is solved with a Photoshop restart.

noembryo commented 1 month ago

And this is perhaps the final try with inpainting. This In Paint (use Render with inpainting model) template uses the currently selected Render settings, but also uses an inpainting model (that I found is working better most of the time). So, we can have LCM and normal inpainting with one preset.. πŸ˜‰

EDIT: Hmm.. I forgot about the LCM LORA that this group has. It still works, but it's better to bypass it if we use the non-LCM Render settings.. 😳

EDIT 2: OK Finally solved it, in a little more complicated way that adds a couple of extra wires in the workflow.. Not pretty.. 😞