diff --git a/README.md b/README.md index eb9955d4..41bf8d70 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,74 @@ -# Stable Diffusion UI v2 -### A simple 1-click way to install and use [Stable Diffusion](https://github.com/CompVis/stable-diffusion) on your own computer. No dependencies or technical knowledge required. +# Stable Diffusion UI +### Easiest way to install and use [Stable Diffusion](https://github.com/CompVis/stable-diffusion) on your own computer. No dependencies or technical knowledge required. 1-click install, powerful features. + +[![Discord Server](https://img.shields.io/discord/1014774730907209781?label=Discord)](https://discord.com/invite/u9yhsFmEkB) (for support, and development discussion) | [Troubleshooting guide for common problems](Troubleshooting.md) + +---- + +## Step 1: Download the installer

-[![Discord Server](https://img.shields.io/discord/1014774730907209781?label=Discord)](https://discord.com/invite/u9yhsFmEkB) (for support, and development discussion) | [Troubleshooting guide for common problems](Troubleshooting.md) +## Step 2: Run the program +- On Windows: Double-click `Start Stable Diffusion UI.cmd` +- On Linux: Run `./start.sh` in a terminal -️‍🔥🎉 **New!** Use Custom Weights, Task Queue, Negative Prompt, Live Preview, More Samplers, In-Painting, Face Correction (GFPGAN) and Upscaling (RealESRGAN) have been added! +## Step 3: There is no step 3! +It's simple to get started. You don't need to install or struggle with Python, Anaconda, Docker etc. -This distribution currently uses Stable Diffusion 1.4. Once the model for 1.5 becomes publicly available, the model in this distribution will be updated. +The installer will take care of whatever is needed. A friendly [Discord community](https://discord.com/invite/u9yhsFmEkB) will help you if you face any problems. -# Features in the new v2 Version: +---- + +# Easy for new users, powerful features for advanced users +### Features: - **No Dependencies or Technical Knowledge Required**: 1-click install for Windows 10/11 and Linux. *No dependencies*, no need for WSL or Docker or Conda or technical setup. Just download and run! -- **Face Correction (GFPGAN) and Upscaling (RealESRGAN)** -- **In-Painting** +- **Clutter-free UI**: a friendly and simple UI, while providing a lot of powerful features +- Supports "*Text to Image*" and "*Image to Image*" +- **Custom Models**: Use your own `.ckpt` file, by placing it inside the `models/stable-diffusion` folder! - **Live Preview**: See the image as the AI is drawing it - **Task Queue**: Queue up all your ideas, without waiting for the current task to finish -- **Custom Weights**: Use your own `.ckpt` file, by placing it inside the `stable-diffusion` folder (rename it to `custom-model.ckpt`) -- **Negative Prompt**: Specify aspects of the image to *remove*. -- **Lots of Samplers:** ddim, plms, heun, euler, euler_a, dpm2, dpm2_a, lms +- **In-Painting**: Specify areas of your image to paint into +- **Face Correction (GFPGAN) and Upscaling (RealESRGAN)** - **Image Modifiers**: A library of *modifier tags* like *"Realistic"*, *"Pencil Sketch"*, *"ArtStation"* etc. Experiment with various styles quickly. -- **New UI**: with cleaner design -- **Waifu Model Support**: Just replace the `stable-diffusion\sd-v1-4.ckpt` file after installation with the Waifu model -- Supports "*Text to Image*" and "*Image to Image*" +- **Loopback**: Use the output image as the input image for the next img2img task +- **Negative Prompt**: Specify aspects of the image to *remove*. +- **Attention/Emphasis:** () in the prompt increases the model's attention to enclosed words, and [] decreases it +- **Weighted Prompts:** Use weights for specific words in your prompt to change their importance, e.g. `red:2.4 dragon:1.2` +- **Prompt Matrix:** (in beta) Quickly create multiple variations of your prompt, e.g. `a photograph of an astronaut riding a horse | illustration | cinematic lighting` +- **Lots of Samplers:** ddim, plms, heun, euler, euler_a, dpm2, dpm2_a, lms +- **Multiple Prompts File:** Queue multiple prompts by entering one prompt per line, or by running a text file - **NSFW Setting**: A setting in the UI to control *NSFW content* +- **JPEG/PNG output** +- **Save generated images to disk** - **Use CPU setting**: If you don't have a compatible graphics card, but still want to run it on your CPU. - **Auto-updater**: Gets you the latest improvements and bug-fixes to a rapidly evolving project. - **Low Memory Usage**: Creates 512x512 images with less than 4GB of VRAM! +- **Developer Console**: A developer-mode for those who want to modify their Stable Diffusion code, and edit the conda environment. -![Screenshot of advanced settings](media/shot-v9.jpg?raw=true) +### Easy for new users: +![Screenshot of the initial UI](media/shot-v10-simple.jpg?raw=true) + +### Powerful features for advanced users: +![Screenshot of advanced settings](media/shot-v10.jpg?raw=true) + +### Live Preview +Useful for judging (and stopping) an image quickly, without waiting for it to finish rendering. -## Live Preview ![live-512](https://user-images.githubusercontent.com/844287/192097249-729a0a1e-a677-485e-9ccc-16a9e848fabe.gif) +### Task Queue +![Screenshot of task queue](media/task-queue-v1.jpg?raw=true) # System Requirements 1. Windows 10/11, or Linux. Experimental support for Mac is coming soon. -2. An NVIDIA graphics card, preferably with 4GB or more of VRAM. But if you don't have a compatible graphics card, you can still use it with a "Use CPU" setting. It'll be very slow, but it should still work. +2. An NVIDIA graphics card, preferably with 4GB or more of VRAM. If you don't have a compatible graphics card, it'll automatically run in the slower "CPU Mode". +3. Minimum 8 GB of RAM. -You do not need anything else. You do not need WSL, Docker or Conda. The installer will take care of it. +You don't need to install or struggle with Python, Anaconda, Docker etc. The installer will take care of whatever is needed. # Installation 1. **Download** [for Windows](https://github.com/cmdr2/stable-diffusion-ui/releases/download/v2.16/stable-diffusion-ui-win64.zip) or [for Linux](https://github.com/cmdr2/stable-diffusion-ui/releases/download/v2.16/stable-diffusion-ui-linux.tar.xz). @@ -57,44 +85,8 @@ This will automatically install Stable Diffusion, set it up, and start the inter **To Uninstall:** Just delete the `stable-diffusion-ui` folder to uninstall all the downloaded packages. - -# Usage -Open http://localhost:9000 in your browser (after running step 3 previously). It may take a few moments for the back-end to be ready. - -## With a text description -1. Enter a text prompt, like `a photograph of an astronaut riding a horse` in the textbox. -2. Press `Make Image`. This will take some time, depending on your system's processing power. -3. See the image generated using your prompt. - -## With an image -1. Click `Browse..` next to `Initial Image`. Select your desired image. -2. An optional text prompt can help you further describe the kind of image you want to generate. -3. Press `Make Image`. See the image generated using your prompt. - -You can use Face Correction or Upscaling to improve the image further. - -**Pro tip:** You can also click `Use as Input` on a generated image, to use it as the input image for your next generation. This can be useful for sequentially refining the generated image with a single click. - -**Another tip:** Images with the same aspect ratio of your generated image work best. E.g. 1:1 if you're generating images sized 512x512. - -## Problems? Troubleshooting -Please try the common [troubleshooting](Troubleshooting.md) steps. If that doesn't fix it, please ask on the [discord server](https://discord.com/invite/u9yhsFmEkB), or [file an issue](https://github.com/cmdr2/stable-diffusion-ui/issues). - -# Image Settings -You can also set the configuration like `seed`, `width`, `height`, `num_outputs`, `num_inference_steps` and `guidance_scale` using the 'show' button next to 'Image settings'. - -Use the same `seed` number to get the same image for a certain prompt. This is useful for refining a prompt without losing the basic image design. Enable the `random images` checkbox to get random images. - -![Screenshot of advanced settings](media/config-v6.jpg?raw=true) - -# System Settings -The system settings are reachable via the cogwheel symbol on the top right. It can be used to configure whether all generated images should -saved be automically, or to tune the Stable Diffusion image generation. - -![Screenshot of advanced settings](media/system-settings-v2.jpg?raw=true) - -# Image Modifiers -![Screenshot of advanced settings](media/modifiers-v1.jpg?raw=true) +# How to use? +Please use our [guide](https://github.com/cmdr2/stable-diffusion-ui/wiki/How-to-Use) to understand how to use the features in this UI. # Bugs reports and code contributions welcome If there are any problems or suggestions, please feel free to ask on the [discord server](https://discord.com/invite/u9yhsFmEkB) or [file an issue](https://github.com/cmdr2/stable-diffusion-ui/issues). diff --git a/Troubleshooting.md b/Troubleshooting.md index e607fb1a..5d3fcdcd 100644 --- a/Troubleshooting.md +++ b/Troubleshooting.md @@ -9,6 +9,11 @@ Additionally, a common reason for this error is that you're using an initial ima Also try generating smaller sized images. +## urllib.error.URLError: +This can be due to a Firewall/Antivirus/Proxy/VPN blocking your network connections. Please check those. + +Another solution is to switch to Google's DNS server: https://developers.google.com/speed/public-dns/docs/using#windows or Cloudflare's DNS server: https://developers.cloudflare.com/1.1.1.1/setup/windows/ + ## basicsr module not found For Windows: Please download and extract basicsr from [here](https://github.com/cmdr2/stable-diffusion-ui/releases/download/v2.16/basicsr-win64.zip), and place the `basicsr` folder inside the `stable-diffusion-ui\stable-diffusion\env\lib\site-packages` folder. Then run the `Start Stable Diffusion UI.cmd` file again. @@ -50,6 +55,12 @@ Please ensure that you have an NVIDIA GPU and the latest [NVIDIA driver](http:// Also, if you are using WSL (Windows), please ensure you have the latest WSL kernel by running `wsl --shutdown` and then `wsl --update`. (Thanks [AndrWeisR](https://github.com/AndrWeisR)) +## ModuleNotFoundError: No module named 'gfpgan' +If you have moved your installation to a different folder or drive: The name of the installation folder is stored in many configuration files and moving it +is therefore not possible. You can either move your installation back to the old place, or delete it and re-install to the new location. + +If you have not moved your installation, please contact us on the [discord server](https://discord.com/invite/u9yhsFmEkB). + # For support queries ## Entering a conda environment in an existing installation This will give you an activated conda environment in the terminal, so you can run commands and force-install any packages, if required. diff --git a/media/config-v7.jpg b/media/config-v7.jpg new file mode 100644 index 00000000..6e0fe763 Binary files /dev/null and b/media/config-v7.jpg differ diff --git a/media/shot-v10-simple.jpg b/media/shot-v10-simple.jpg new file mode 100644 index 00000000..b5bec0ad Binary files /dev/null and b/media/shot-v10-simple.jpg differ diff --git a/media/shot-v10.jpg b/media/shot-v10.jpg new file mode 100644 index 00000000..cbf8eff6 Binary files /dev/null and b/media/shot-v10.jpg differ diff --git a/media/task-queue-v1.jpg b/media/task-queue-v1.jpg new file mode 100644 index 00000000..76cb2257 Binary files /dev/null and b/media/task-queue-v1.jpg differ diff --git a/scripts/developer_console.sh b/scripts/developer_console.sh index 9cd84f49..d242d1f6 100755 --- a/scripts/developer_console.sh +++ b/scripts/developer_console.sh @@ -13,5 +13,5 @@ if [ "$0" == "bash" ]; then conda activate ./stable-diffusion/env else - bash --init-file open_dev_console.sh + bash --init-file developer_console.sh fi \ No newline at end of file diff --git a/scripts/on_sd_start.bat b/scripts/on_sd_start.bat index b857451a..8c50ee45 100644 --- a/scripts/on_sd_start.bat +++ b/scripts/on_sd_start.bat @@ -59,6 +59,9 @@ if exist "Open Developer Console.cmd" del "Open Developer Console.cmd" @REM prevent conda from using packages from the user's home directory, to avoid conflicts @set PYTHONNOUSERSITE=1 + set TMP=%cd%\tmp + set TEMP=%cd%\tmp + @call conda env create --prefix env -f environment.yaml || ( @echo. & echo "Error installing the packages necessary for Stable Diffusion. Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/blob/main/Troubleshooting.md" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" & echo. pause @@ -92,6 +95,9 @@ set PATH=C:\Windows\System32;%PATH% @set PYTHONNOUSERSITE=1 + set TMP=%cd%\tmp + set TEMP=%cd%\tmp + @call pip install -e git+https://github.com/TencentARC/GFPGAN#egg=GFPGAN || ( @echo. & echo "Error installing the packages necessary for GFPGAN (Face Correction). Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/blob/main/Troubleshooting.md" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" & echo. pause @@ -121,6 +127,9 @@ set PATH=C:\Windows\System32;%PATH% @set PYTHONNOUSERSITE=1 + set TMP=%cd%\tmp + set TEMP=%cd%\tmp + @call pip install -e git+https://github.com/xinntao/Real-ESRGAN#egg=realesrgan || ( @echo. & echo "Error installing the packages necessary for ESRGAN (Resolution Upscaling). Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/blob/main/Troubleshooting.md" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" & echo. pause @@ -144,6 +153,9 @@ set PATH=C:\Windows\System32;%PATH% @set PYTHONNOUSERSITE=1 + set TMP=%cd%\tmp + set TEMP=%cd%\tmp + @call conda install -c conda-forge -y --prefix env uvicorn fastapi || ( echo "Error installing the packages necessary for Stable Diffusion UI. Sorry about that, please try to:" & echo " 1. Run this installer again." & echo " 2. If that doesn't fix it, please try the common troubleshooting steps at https://github.com/cmdr2/stable-diffusion-ui/blob/main/Troubleshooting.md" & echo " 3. If those steps don't help, please copy *all* the error messages in this window, and ask the community at https://discord.com/invite/u9yhsFmEkB" & echo " 4. If that doesn't solve the problem, please file an issue at https://github.com/cmdr2/stable-diffusion-ui/issues" & echo "Thanks!" pause @@ -320,4 +332,4 @@ echo. > "..\models\stable-diffusion\Put your custom ckpt files here.txt" @uvicorn server:app --app-dir "%SD_UI_PATH%" --port 9000 --host 0.0.0.0 -@pause \ No newline at end of file +@pause