Skip to content

A Stable Diffusion desktop frontend with inpainting, img2img and more!

Notifications You must be signed in to change notification settings

codefaux/UnstableFusion

 
 

Repository files navigation

UnstableFusion

A Stable Diffusion desktop frontend with inpainting, img2img and more!

trailer.mp4

How to run locally?

  1. Install the dependencies (for example using pip). The dependencies include :
  • PyQt5, numpy, pytorch, Pillow, opencv-python, requests, flask, diffusers, transformers, protobuf

Note that if you want to run StableDiffusion on Windows locally, use requirements-localgpu-win64.txt

pip -r requirements-localgpu-win64.txt

Note: On linux, if you encounter Could not load the Qt platform plugin "xcb" error, run this:

pip uninstall opencv-python     (solve a xcb compatibility issue)
pip install opencv-python-headless     (solve a xcb compatibility issue)
  1. Create a huggingface account and an access token, if you haven't done so already. Request access to the StableDiffusion model at CompVis/stable-diffusion-v1-4.

  2. Clone this repository and run python unstablefusion.py

How to run using colab servers?

  1. Install the dependencies (see the previous section)

  2. Open this notebook and run it (you need to enter your huggingface token when asked).

  3. When you run the last cell, you will be given a url like this:

colab_output - Copy copy this URL.

  1. Run python unstablefusion.py

  2. In the runtime section, select server and enter the address you copied in the server field. Like this:

using_server - Copy

How to use?

  • You can select a box by clicking on the screen. All of your operations will be limited to this box. You can resize the box using mouse wheel.
  • You can erase the selected box by right clicking, or paint into it by middle clicking (the paint color can be configured using Select Color button)
  • To generate an image, select the destination box, enter the prompt in the prompt text field and press the Generate button (inpainting and reimagining work similarly)
  • You can undo/redo by pressing the undo/redo button or pressing Control+Z/Control+Shift+Z on your keyboard. In fact most other functions are bound to keys as well (you can configure them in keys.json file)
  • Increase Size/Decrease Size buttons adjust the size of the image by adding/removing extra space in the margins (and not by scaling, this is useful when you want to add more detail around an image)
  • You can open a scratchpad by pressing Show Scratchpad button. This window is capable of doing everything the main window can (using keyboard shortcuts only). The selected box in scratch pad will be mirrored and scaled into the selected box in the main window. This is useful when trying to import another generated/local image into the main image.

About

A Stable Diffusion desktop frontend with inpainting, img2img and more!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Jupyter Notebook 76.5%
  • Python 23.5%