CompVis / stable-diffusion

A latent text-to-image diffusion model
https://ommer-lab.com/research/latent-diffusion-models/
Other
68.31k stars 10.16k forks source link

I wrote a GUI for your project. #114

Open 0xBLCKLPTN opened 2 years ago

0xBLCKLPTN commented 2 years ago

The GUI is written in PyQt5. It is as simple as possible and so far only works with the scripts/txt2img.py alt text

Gui supports parameters such as:

Also, the interface shows the result of generation instead of the default ricroll. Everything is working fine. Tested on Windows 11, MacOS BigSur. Does it make sense to develop this interface in any way?

https://github.com/blcklptn/CompVis-StableDiffusion-Gui

fat-tire commented 2 years ago

This is great-- I made a couple of changes/fixes for Linux and generally-speaking. Hopefully didn't break anything for Windows/Mac along the way, but hopefully will be a little more flexible. Let me know- this makes fooling around a lot easier and more fun.

Looks like this now:

image

Oh, I had a list of things to do and maybe adding a "copy result to clipboard" button would be another nice thing to add:

Again, great job!

0xBLCKLPTN commented 2 years ago

@fat-tire Thanks! I too think that adding the result to the buffer and saving the settings is a good idea. I will add these changes later ;)

fat-tire commented 2 years ago

Cool I did a few more changes in this PR.

Now looks like this:

image

*thanks to @Fictiverse for inspiring the prompt on Twitter

fat-tire commented 2 years ago

Ideas for updated version--

fat-tire commented 2 years ago

For anyone following along, here are my Day 3 contributions to the GUI thing.

Highlights:

horses2

leszekhanusz commented 2 years ago

Because competition is always good, here is my shameless plug for my web interface in Vue to do inpainting. It looks like this. Still a work in progress of course...

firstmover commented 2 years ago

Hi, this model is wonderful. I also wrote a web UI with very minimum code.

screen_shot1_resize_1

If you are interested in this UI, the code can be found here.

fat-tire commented 2 years ago

Glad to see more UIs! @firstmovier, if you all don't know there's also a web-UI in progress at the lstein fork of this project.

I just submitted a new commit-- adding a scrollable area for the image grid in case there are so many that it overwhelmes the window size.

I think I'll continue development on this to try to incorporate upcoming support for the json image metadata that's being formulated over at lstein.. I think it would be nice to see it supported on multiple interfaces so json image descriptions can be sent back and forth...

Also, @blcklptn --maybe add a link to your repository in the top post?

image

fat-tire commented 2 years ago

New today on the same PR-

img2img support!

(a pulldown at the top lets you choose from txt2img and img2img, and you can choose the image to use via the button...)

image

fat-tire commented 2 years ago

Another update-- those separator bars between the terminal and the image and also separating the left and right portions of the screen are now movable so that you can reveal or hide more of the images.

Caruso

Enjoy. Latest version is in the pull request or you can find it on my fork.

fat-tire commented 2 years ago

Updated w/a stupid int/float bug for strength and use a slider now -- PR here. Or see main branch on my fork.

image

breadthe commented 2 years ago

Hah look at that! I made one too in Tauri + Svelte. Free + open source. It too uses the txt2img.py script. You do have to build it from source for your platform though.

https://github.com/breadthe/sd-buddy 2022-09-04-sd-buddy-v0 4 0

fat-tire commented 2 years ago

Quick note to anyone following that I added a few new bits here.

The coolest one is you can drag the image around by hand now. You even get a little "dragging hand" icon.

Also added some tooltips and instructions on how to install pyqt5 if you don't have it already in place.

Enjoy!

leszekhanusz commented 2 years ago

Update for DiffusionUI: I added image to image including doing image to image inside an inpainting region

Cute bunny

I made a short video to demo the process: https://www.youtube.com/watch?v=AFZvW5qURes

fat-tire commented 2 years ago

AIRIM.webm

I did some changes too-- this is a test of using json-based metadata to recreate an image.