easydiffusion/README.md

66 lines
5.0 KiB
Markdown
Raw Normal View History

2022-08-24 09:43:50 +02:00
A simple way to install and use [Stable Diffusion](https://replicate.com/stability-ai/stable-diffusion) on your local computer. Provides a browser UI for generating images from text prompts. Just enter your text prompt, and see the generated image.
2022-08-23 22:28:18 +02:00
2022-08-24 07:28:22 +02:00
# What does this do?
Two things:
1. Automatically downloads and installs Stable Diffusion on your local computer (no need to mess with conda or environments)
2. Gives you a simple browser-based UI to talk to your local Stable Diffusion. Enter text prompts and view the generated image. No API keys required.
2022-08-23 22:45:07 +02:00
All the processing will happen on your local computer, it does not transmit your prompts or process on any remote server.
2022-08-25 13:17:06 +02:00
<img src="https://github.com/cmdr2/stable-diffusion-ui/raw/main/media/shot-v3.jpg" height="500" alt="Screenshot of tool">
2022-08-23 22:28:18 +02:00
# System Requirements
2022-08-25 07:36:46 +02:00
1. Computer capable of running Stable Diffusion.
2022-08-25 07:37:21 +02:00
2. Linux or Windows 11 (with [WSL](https://docs.microsoft.com/en-us/windows/wsl/install)) or Windows 10 v2004+ (Build 19041+) with [WSL](https://docs.microsoft.com/en-us/windows/wsl/install).
2022-08-25 07:38:14 +02:00
3. Requires (a) [Docker](https://docs.docker.com/engine/install/), (b) [docker-compose v1.29](https://docs.docker.com/compose/install/), and (c) [nvidia-container-toolkit](https://stackoverflow.com/a/58432877).
2022-08-23 22:28:18 +02:00
2022-08-24 20:42:32 +02:00
**Important:** If you're using Windows, please install docker inside your [WSL](https://docs.microsoft.com/en-us/windows/wsl/install)'s Linux. Install docker for the Linux distro in your WSL. **Don't install Docker for Windows.**
2022-08-23 22:28:18 +02:00
# Installation
1. Clone this repository: `git clone git@github.com:cmdr2/stable-diffusion-ui.git` or [download the zip file](https://github.com/cmdr2/stable-diffusion-ui/archive/refs/heads/main.zip) and unzip.
2. Open your terminal, and in the project directory run: `docker-compose up &` (warning: this will take some time during the first run, since it'll download Stable Diffusion's [docker image](https://replicate.com/stability-ai/stable-diffusion), nearly 17 GiB)
2022-08-24 18:12:25 +02:00
3. Open http://localhost:8000 in your browser. That's it!
2022-08-23 22:28:18 +02:00
2022-08-25 07:44:13 +02:00
If you're getting errors, please check the [Troubleshooting](#troubleshooting) section below.
2022-08-23 22:28:18 +02:00
# Usage
2022-08-24 17:48:52 +02:00
1. Open http://localhost:8000 in your browser (after running `docker-compose up &` from step 2 previously).
2022-08-23 22:28:18 +02:00
2. Enter a text prompt, like `a photograph of an astronaut riding a horse` in the textbox.
2022-08-24 09:39:36 +02:00
3. Press `Make Image`. This will take some time, depending on your system's processing power.
2022-08-24 17:48:52 +02:00
4. See the image generated using your prompt.
2022-08-23 22:28:18 +02:00
2022-08-25 11:31:09 +02:00
Please [file an issue](https://github.com/cmdr2/stable-diffusion-ui/issues) if this did not work for you (after trying the common [troubleshooting](#troubleshooting) steps)!
2022-08-24 12:19:41 +02:00
2022-08-24 17:37:42 +02:00
To stop the server, please run `docker-compose down`
# Advanced 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 'Advanced 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. Use a seed of `-1` to get random images.
2022-08-24 18:21:14 +02:00
![Screenshot of advanced settings](media/config-v2.jpg?raw=true)
2022-08-25 07:36:46 +02:00
# Troubleshooting
## './docker-compose.yml' is invalid:
> ERROR: The Compose file './docker-compose.yml' is invalid because:
> services.stability-ai.deploy.resources.reservations value Additional properties are not allowed ('devices' was unexpected)
2022-08-25 08:26:38 +02:00
Please ensure you have `docker-compose` version 1.29 or higher. Check `docker-compose --version`, and if required [update it to 1.29](https://docs.docker.com/compose/install/). (Thanks [HVRyan](https://github.com/HVRyan))
2022-08-25 07:36:46 +02:00
## RuntimeError: Found no NVIDIA driver on your system:
2022-08-25 08:26:38 +02:00
If you have an NVIDIA GPU and the latest [NVIDIA driver](http://www.nvidia.com/Download/index.aspx), please ensure that you've installed [nvidia-container-toolkit](https://stackoverflow.com/a/58432877). (Thanks [u/exintrovert420](https://www.reddit.com/user/exintrovert420/))
2022-08-25 07:36:46 +02:00
2022-08-24 07:28:22 +02:00
# Behind the scenes
This project is a quick way to get started with Stable Diffusion. You do not need to have Stable Diffusion already installed, and do not need any API keys. This project will automatically download Stable Diffusion's docker image, the first time it is run.
2022-08-24 18:56:42 +02:00
This project runs Stable Diffusion in a docker container behind the scenes, using Stable Diffusion's [Docker image](https://replicate.com/stability-ai/stable-diffusion) on replicate.com.
2022-08-24 07:28:22 +02:00
2022-08-23 22:28:18 +02:00
# Bugs reports and code contributions welcome
2022-08-25 11:31:09 +02:00
If there are any problems or suggestions, please feel free to [file an issue](https://github.com/cmdr2/stable-diffusion-ui/issues).
2022-08-23 22:28:18 +02:00
2022-08-24 07:28:22 +02:00
Also, please feel free to submit a pull request, if you have any code contributions in mind.
2022-08-23 22:45:07 +02:00
# Disclaimer
2022-08-25 11:31:09 +02:00
The authors of this project are not responsible for any images generated using this interface.
This license of this software forbids you from sharing any content that violates any laws, produce any harm to a person, disseminate any personal information that would be meant for harm, spread misinformation and target vulnerable groups. For the full list of restrictions please read [the license](LICENSE).