2022-08-22 22:15:46 +08:00
# Stable Diffusion web UI
2024-01-05 16:45:58 +08:00
A web interface for Stable Diffusion, implemented using Gradio library.
2022-08-22 22:15:46 +08:00
2023-01-07 18:30:06 +08:00
![](screenshot.png)
2022-09-30 13:18:05 +08:00
2022-09-15 18:50:55 +08:00
## Features
[Detailed feature showcase with images ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features ):
2022-09-04 18:08:06 +08:00
- Original txt2img and img2img modes
2022-09-09 16:39:41 +08:00
- One click install and run script (but you still must install python and git)
2022-09-04 18:08:06 +08:00
- Outpainting
- Inpainting
2022-10-18 16:57:05 +08:00
- Color Sketch
2022-10-01 08:15:43 +08:00
- Prompt Matrix
- Stable Diffusion Upscale
2022-10-01 05:38:48 +08:00
- Attention, specify parts of text that the model should pay more attention to
2023-03-14 19:05:45 +08:00
- a man in a `((tuxedo))` - will pay more attention to tuxedo
- a man in a `(tuxedo:1.21)` - alternative syntax
2023-05-20 22:14:47 +08:00
- select text and press `Ctrl+Up` or `Ctrl+Down` (or `Command+Up` or `Command+Down` if you're on a MacOS) to automatically adjust attention to selected text (code contributed by anonymous user)
2022-10-01 08:15:43 +08:00
- Loopback, run img2img processing multiple times
2023-01-28 03:04:23 +08:00
- X/Y/Z plot, a way to draw a 3 dimensional plot of images with different parameters
2022-09-04 18:08:06 +08:00
- Textual Inversion
2022-10-01 05:38:48 +08:00
- have as many embeddings as you want and use any names you like for them
- use multiple embeddings with different numbers of vectors per token
- works with half precision floating point numbers
2022-10-21 19:40:37 +08:00
- train embeddings on 8GB (also reports of 6GB working)
2022-09-04 23:54:12 +08:00
- Extras tab with:
2022-09-15 18:50:55 +08:00
- GFPGAN, neural network that fixes faces
- CodeFormer, face restoration tool as an alternative to GFPGAN
- RealESRGAN, neural network upscaler
2022-10-01 05:38:48 +08:00
- ESRGAN, neural network upscaler with a lot of third party models
2023-03-14 19:05:45 +08:00
- SwinIR and Swin2SR ([see here](https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/2092)), neural network upscalers
2022-09-22 06:53:35 +08:00
- LDSR, Latent diffusion super resolution upscaling
2022-09-04 23:54:12 +08:00
- Resizing aspect ratio options
2022-09-04 18:08:06 +08:00
- Sampling method selection
2022-10-11 07:23:12 +08:00
- Adjust sampler eta values (noise multiplier)
- More advanced noise setting options
2022-09-04 18:08:06 +08:00
- Interrupt processing at any time
2022-10-01 05:38:48 +08:00
- 4GB video card support (also reports of 2GB working)
2022-10-09 03:12:24 +08:00
- Correct seeds for batches
2022-10-18 16:57:05 +08:00
- Live prompt token length validation
2022-10-01 05:38:48 +08:00
- Generation parameters
- parameters you used to generate images are saved with that image
- in PNG chunks for PNG, in EXIF for JPEG
- can drag the image to PNG info tab to restore generation parameters and automatically copy them into UI
- can be disabled in settings
2022-10-18 16:57:05 +08:00
- drag and drop an image/text-parameters to promptbox
- Read Generation Parameters Button, loads parameters in promptbox to UI
2022-09-04 18:08:06 +08:00
- Settings page
2023-03-14 19:05:45 +08:00
- Running arbitrary python code from UI (must run with `--allow-code` to enable)
2022-09-13 08:00:40 +08:00
- Mouseover hints for most UI elements
2022-09-04 18:52:01 +08:00
- Possible to change defaults/mix/max/step values for UI elements via text config
2022-10-01 05:38:48 +08:00
- Tiling support, a checkbox to create images that can be tiled like textures
2022-09-07 04:10:12 +08:00
- Progress bar and live image generation preview
2023-01-21 21:15:53 +08:00
- Can use a separate neural network to produce previews with almost none VRAM or compute requirement
2022-10-01 05:38:48 +08:00
- Negative prompt, an extra text field that allows you to list what you don't want to see in generated image
- Styles, a way to save part of prompt and easily apply them via dropdown later
- Variations, a way to generate same image but with tiny differences
- Seed resizing, a way to generate same image but at slightly different resolution
- CLIP interrogator, a button that tries to guess prompt from an image
- Prompt Editing, a way to change prompt mid-generation, say to start making a watermelon and switch to anime girl midway
- Batch Processing, process a group of files using img2img
2022-10-21 19:40:37 +08:00
- Img2img Alternative, reverse Euler method of cross attention control
2022-10-01 05:38:48 +08:00
- Highres Fix, a convenience option to produce high resolution pictures in one click without usual distortions
- Reloading checkpoints on the fly
2022-10-18 16:57:05 +08:00
- Checkpoint Merger, a tab that allows you to merge up to 3 checkpoints into one
2022-10-01 05:38:48 +08:00
- [Custom scripts ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Custom-Scripts ) with many extensions from community
2022-10-07 04:44:54 +08:00
- [Composable-Diffusion ](https://energy-based-model.github.io/Compositional-Visual-Generation-with-Composable-Diffusion-Models/ ), a way to use multiple prompts at once
- separate prompts using uppercase `AND`
- also supports weights for prompts: `a cat :1.2 AND a dog AND a penguin :2.2`
2022-10-08 19:25:47 +08:00
- No token limit for prompts (original stable diffusion lets you use up to 75 tokens)
2022-11-20 21:39:20 +08:00
- DeepDanbooru integration, creates danbooru style tags for anime prompts
2023-03-14 19:05:45 +08:00
- [xformers ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Xformers ), major speed increase for select cards: (add `--xformers` to commandline args)
2022-10-24 19:42:18 +08:00
- via extension: [History tab ](https://github.com/yfszzx/stable-diffusion-webui-images-browser ): view, direct and delete images conveniently within the UI
2022-10-18 16:57:05 +08:00
- Generate forever option
2022-10-21 19:40:37 +08:00
- Training tab
- hypernetworks and embeddings options
- Preprocessing images: cropping, mirroring, autotagging using BLIP or deepdanbooru (for anime)
- Clip skip
2023-01-21 21:15:53 +08:00
- Hypernetworks
- Loras (same as Hypernetworks but more pretty)
2023-08-22 15:54:01 +08:00
- A separate UI where you can choose, with preview, which embeddings, hypernetworks or Loras to add to your prompt
2023-01-21 21:15:53 +08:00
- Can select to load a different VAE from settings screen
2022-10-21 19:40:37 +08:00
- Estimated completion time in progress bar
- API
2023-03-14 19:05:45 +08:00
- Support for dedicated [inpainting model ](https://github.com/runwayml/stable-diffusion#inpainting-with-stable-diffusion ) by RunwayML
2022-12-15 10:01:32 +08:00
- via extension: [Aesthetic Gradients ](https://github.com/AUTOMATIC1111/stable-diffusion-webui-aesthetic-gradients ), a way to generate images with a specific aesthetic by using clip images embeds (implementation of [https://github.com/vicgalle/stable-diffusion-aesthetic-gradients ](https://github.com/vicgalle/stable-diffusion-aesthetic-gradients ))
2022-11-26 21:10:46 +08:00
- [Stable Diffusion 2.0 ](https://github.com/Stability-AI/stablediffusion ) support - see [wiki ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#stable-diffusion-20 ) for instructions
2023-01-21 21:15:53 +08:00
- [Alt-Diffusion ](https://arxiv.org/abs/2211.06679 ) support - see [wiki ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#alt-diffusion ) for instructions
- Now without any bad letters!
- Load checkpoints in safetensors format
2023-08-28 16:43:13 +08:00
- Eased resolution restriction: generated image's dimensions must be a multiple of 8 rather than 64
2023-01-21 21:15:53 +08:00
- Now with a license!
- Reorder elements in the UI from settings screen
2023-11-06 00:46:20 +08:00
- [Segmind Stable Diffusion ](https://huggingface.co/segmind/SSD-1B ) support
2022-10-24 19:42:18 +08:00
2022-09-15 18:50:55 +08:00
## Installation and Running
2023-08-22 15:54:01 +08:00
Make sure the required [dependencies ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Dependencies ) are met and follow the instructions available for:
- [NVidia ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs ) (recommended)
- [AMD ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs ) GPUs.
- [Intel CPUs, Intel GPUs (both integrated and discrete) ](https://github.com/openvinotoolkit/stable-diffusion-webui/wiki/Installation-on-Intel-Silicon ) (external wiki page)
2024-03-12 18:41:44 +08:00
- [Ascend NPUs ](https://github.com/wangshuai09/stable-diffusion-webui/wiki/Install-and-run-on-Ascend-NPUs ) (external wiki page)
2022-09-11 17:13:26 +08:00
2022-10-21 19:40:37 +08:00
Alternatively, use online services (like Google Colab):
2022-09-24 01:46:02 +08:00
2022-10-18 16:57:05 +08:00
- [List of Online Services ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Online-Services )
2022-09-02 14:49:35 +08:00
2023-05-09 23:04:36 +08:00
### Installation on Windows 10/11 with NVidia-GPUs using release package
2023-08-28 16:43:13 +08:00
1. Download `sd.webui.zip` from [v1.0.0-pre ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/tag/v1.0.0-pre ) and extract its contents.
2023-05-09 23:04:36 +08:00
2. Run `update.bat` .
3. Run `run.bat` .
> For more details see [Install-and-Run-on-NVidia-GPUs](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs)
2022-09-15 18:50:55 +08:00
### Automatic Installation on Windows
2023-03-30 04:58:56 +08:00
1. Install [Python 3.10.6 ](https://www.python.org/downloads/release/python-3106/ ) (Newer version of Python does not support torch), checking "Add Python to PATH".
2022-09-15 18:50:55 +08:00
2. Install [git ](https://git-scm.com/download/win ).
3. Download the stable-diffusion-webui repository, for example by running `git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git` .
2023-02-15 11:54:02 +08:00
4. Run `webui-user.bat` from Windows Explorer as normal, non-administrator, user.
2022-09-09 13:37:19 +08:00
2022-09-15 18:50:55 +08:00
### Automatic Installation on Linux
1. Install the dependencies:
```bash
# Debian-based:
2023-08-06 02:07:35 +08:00
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
2022-09-15 18:50:55 +08:00
# Red Hat-based:
2023-11-11 01:15:34 +08:00
sudo dnf install wget git python3 gperftools-libs libglvnd-glx
2023-11-10 14:45:44 +08:00
# openSUSE-based:
2023-11-11 01:15:34 +08:00
sudo zypper install wget git python3 libtcmalloc4 libglvnd
2022-09-15 18:50:55 +08:00
# Arch-based:
sudo pacman -S wget git python3
2022-09-13 21:28:04 +08:00
```
2023-03-29 09:34:02 +08:00
2. Navigate to the directory you would like the webui to be installed and execute the following command:
2022-09-10 05:31:58 +08:00
```bash
2023-08-06 02:07:35 +08:00
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh
2022-09-10 05:31:58 +08:00
```
2023-02-19 14:12:01 +08:00
3. Run `webui.sh` .
2023-04-13 07:46:59 +08:00
4. Check `webui-user.sh` for options.
2022-09-22 17:35:12 +08:00
### Installation on Apple Silicon
Find the instructions [here ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon ).
2022-09-30 16:57:19 +08:00
## Contributing
Here's how to add code to this repo: [Contributing ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Contributing )
2022-09-15 18:50:55 +08:00
## Documentation
2023-07-08 00:04:49 +08:00
2022-09-15 18:50:55 +08:00
The documentation was moved from this README over to the project's [wiki ](https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki ).
2022-09-12 06:55:34 +08:00
2023-07-08 00:04:49 +08:00
For the purposes of getting Google and other search engines to crawl the wiki, here's a link to the (not for humans) [crawlable wiki ](https://github-wiki-see.page/m/AUTOMATIC1111/stable-diffusion-webui/wiki ).
2022-09-05 00:09:00 +08:00
## Credits
2023-01-04 01:23:17 +08:00
Licenses for borrowed code can be found in `Settings -> Licenses` screen, and also in `html/licenses.html` file.
2024-06-16 13:04:31 +08:00
- Stable Diffusion - https://github.com/Stability-AI/stablediffusion, https://github.com/CompVis/taming-transformers, https://github.com/mcmonkey4eva/sd3-ref
2022-09-05 00:09:00 +08:00
- k-diffusion - https://github.com/crowsonkb/k-diffusion.git
2024-01-02 16:40:26 +08:00
- Spandrel - https://github.com/chaiNNer-org/spandrel implementing
- GFPGAN - https://github.com/TencentARC/GFPGAN.git
- CodeFormer - https://github.com/sczhou/CodeFormer
- ESRGAN - https://github.com/xinntao/ESRGAN
- SwinIR - https://github.com/JingyunLiang/SwinIR
- Swin2SR - https://github.com/mv-lab/swin2sr
2022-09-22 06:53:35 +08:00
- LDSR - https://github.com/Hafiidz/latent-diffusion
2022-12-09 08:14:35 +08:00
- MiDaS - https://github.com/isl-org/MiDaS
2022-09-10 17:06:19 +08:00
- Ideas for optimizations - https://github.com/basujindal/stable-diffusion
2022-11-04 15:07:29 +08:00
- Cross Attention layer optimization - Doggettx - https://github.com/Doggettx/stable-diffusion, original idea for prompt editing.
- Cross Attention layer optimization - InvokeAI, lstein - https://github.com/invoke-ai/InvokeAI (originally http://github.com/lstein/stable-diffusion)
2023-01-06 19:58:49 +08:00
- Sub-quadratic Cross Attention layer optimization - Alex Birch (https://github.com/Birch-san/diffusers/pull/1), Amin Rezaei (https://github.com/AminRezaei0x443/memory-efficient-attention)
2022-11-04 15:07:29 +08:00
- Textual Inversion - Rinon Gal - https://github.com/rinongal/textual_inversion (we're not using his code, but we are using his ideas).
2022-09-05 00:09:00 +08:00
- Idea for SD upscale - https://github.com/jquesnelle/txt2imghd
2022-09-17 04:17:10 +08:00
- Noise generation for outpainting mk2 - https://github.com/parlance-zz/g-diffuser-bot
2022-09-11 23:48:36 +08:00
- CLIP interrogator idea and borrowing some code - https://github.com/pharmapsychotic/clip-interrogator
2022-10-11 07:23:12 +08:00
- Idea for Composable Diffusion - https://github.com/energy-based-model/Compositional-Visual-Generation-with-Composable-Diffusion-Models-PyTorch
- xformers - https://github.com/facebookresearch/xformers
- DeepDanbooru - interrogator for anime diffusers https://github.com/KichangKim/DeepDanbooru
2023-01-26 00:42:26 +08:00
- Sampling in float32 precision from a float16 UNet - marunine for the idea, Birch-san for the example Diffusers implementation (https://github.com/Birch-san/diffusers-play/tree/92feee6)
- Instruct pix2pix - Tim Brooks (star), Aleksander Holynski (star), Alexei A. Efros (no star) - https://github.com/timothybrooks/instruct-pix2pix
2022-11-04 15:07:29 +08:00
- Security advice - RyotaK
2023-03-11 20:02:50 +08:00
- UniPC sampler - Wenliang Zhao - https://github.com/wl-zhao/UniPC
2023-05-17 13:41:21 +08:00
- TAESD - Ollin Boer Bohan - https://github.com/madebyollin/taesd
2023-07-17 15:06:02 +08:00
- LyCORIS - KohakuBlueleaf
2023-07-29 13:40:43 +08:00
- Restart sampling - lambertae - https://github.com/Newbeeer/diffusion_restart_sampling
2023-11-26 15:51:45 +08:00
- Hypertile - tfernd - https://github.com/tfernd/HyperTile
2022-09-05 00:09:00 +08:00
- Initial Gradio script - posted on 4chan by an Anonymous user. Thank you Anonymous user.
2023-03-29 09:34:02 +08:00
- (You)