awesome-stable-diffusion/README.md
Richard Shu abf3b12906
Added aiTransformer Prompt Builder
Added aiTransformer Prompt Builder under Prompt Building

Signed-off-by: Richard Shu <yueyunshu@gmail.com>
2022-12-22 23:12:21 -05:00

26 KiB

Awesome Stable-Diffusion

Awesome

This is a list of software and resources for the Stable Diffusion AI model.

  • 🖊️ marks content that requires sign-up or account creation for a third party service outside GitHub.
  • 💵 marks Non-Free content: commercial content that may require any kind of payment.

Due to the fast-moving nature of the topic, entries in the list may be removed at an expedited rate until the ecosystem matures.

See Contributing.

TL;DR

The easiest way to get started for most people is to pick one of the available GUIs based on the desired platform and follow it's installation instructions.

Alternatively, most of the more developed forks (such as InvokeAI) come with their own user interfaces.

To get up and running, one usually needs:

  • A GUI or CLI based installation on a supported platform (usually NVIDIA GPU but support for Apple Silicon, AMD GPUS and even CPU exists in some branches)
  • The weights (.ckpt files) for the model downloaded from Huggingface
  • Sufficent RAM/VRAM available on the system.

Official Resources

Actively Maintained Forks and Containers

All forks listed here add additional features and optimisations and are generally faster than the original release, as they keep the model in memory rather than reloading it after every prompt. Most forks seem to remove the Safety Classifier which may present a risk if used to provide public-facing services, such as Discord bots.

  • AbdBarho/stable-diffusion-webui-docker - Easy Docker setup for SD with multiple user-friendly UI options including AUTOMATIC1111/stable-diffusion-webui, sd-webui/stable-diffusion-webui and invoke-ai/InvokeAI.

  • AUTOMATIC1111/stable-diffusion-webui - Likely the fastest moving, most feature rich branch at the moment. Gradio based UI with extensive features such as in and outpainting, previews, xy plots, upscaling, clip-interrogation, textual inversion, negative prompting, a variety of upscaling features, training, checkpoint merging and switching capabilities and more. Comes with a handy install script that takes care of most dependencies and addons.

    • Addon: txt2Mask - Addon for mask based inpainting using natural language instead of brush tools.
    • DreamArtist - DreamArtist: Towards Controllable One-Shot Text-to-Image Generation via Contrastive Prompt-Tuning (Extension)
    • Multi Subject Render - Extension to enable reliable rendering of multiple subjects
    • For more addons and extensions, please see the repository and the in-gui extension installer
  • basujindal/stable-diffusion - "Optimized Stable Diffusion"—a fork with dramatically reduced VRAM requirements through model splitting, enabling Stable Diffusion on lower-end graphics cards; includes a GradIO web interface and support for weighted prompts.

  • bes-dev/stable_diffusion.openvino - A fork for running the model using a CPU compatible with OpenVINO.

  • DreamArtist - With just one training image DreamArtist learns the content and style in it, generating diverse high-quality images with high controllability. Embeddings of DreamArtist can be easily combined with additional descriptions, as well as two learned embeddings. (standalone version)

  • fast-stable-diffusion - Speed focused fork with Dreambooth integration.

  • imaginAIry - Pythonic generation of stable diffusion images. Unique in that it supports complex text-based masking. Has an interactive CLI, upscaling, face enhancement, tiling, and other standard features. No GUI.

  • invoke-ai/InvokeAI - (formerly known as lstein/stable-diffusion) - Very active fork adding a conversational CLI, basic web interface and support for GFPGAN, ESRGAN, Codeformer, weighted prompts, prompt blending, negative prompting, img2img, tiling, textual-inversion as well as inference on Apple M1.

  • KerasCV StableDiffusion - High performance implementation of stable diffusion on KerasCV.

  • lowfuel/progrock-stable - Fork with optional Web GUI and a different approach to upscaling (GoBIG/ESRGAN)

    • txt2imghd - Fork of progrock diffusion that creates detailed, higher-resolution images by first generating an image from a prompt, upscaling it, then running img2img on smaller pieces of the upscaled image, and blending the results back into the original image.
  • NickLucche/stable-diffusion-nvidia-docker - Multi (Nvidia) GPU capable docker setup of SD

  • replicate/copg-stable-diffusion - Cog machine learning container of SD v1.4.

  • stable-diffusion-jupyterlab-docker - A Docker setup ready to go with Jupyter notebooks for Stable Diffusion.

  • runwayml/stable-diffusion - Stable Diffusion Branch by RunwayML with specifically trained inpainting model for high quality inpainting.

Potentially Stale/Less active branches

These branches have not been updated in more than a months and are kept here for historic purposes

  • neonsecret/stable-diffusion - Fork focusing on bigger resolutions with less vram at the expense of speed, automatically adjusting to the GPUs abilities. Also includes upscaling, facial restoration via CodeFormer and custom UI

Checkpoints and Weights

Checkpoints (.ckpt files) must be separately downloaded and are required to run Stable Diffusion. The latest stability ai release is 2.1. The last model containing NSFW concepts was 1.5 released by RunwayML.

For 2.x releases, there is a 768x768px resolution capable model trained off the base model (512x512 pixels). You need one of these models to use stable diffusion and generally want to chose the latest one that fits your needs.

Online Demos and Notebooks

Complementary Models and Tools

Tools and models for use in conjuction with Stable Diffusion

  • Prompt to Prompt - Unofficial Implementation of Cross-attention-control for prompt to prompt image editing.
  • sd-prompt-graph - This is a React-based curve editor GUI for prompt interpolation animations made with Stable Diffusion.
  • DAAM - Diffusion attention attribution maps, generating heatmaps modelling the impact of specific terms and tokens in the prompt on the final diffusion result.
  • sd-concepts-library - A library of user created textual-inversion embeddings to add new concepts to stable diffusion

Training

GUIS

Most of these GUIS, unless mentioned otherwise in their documentation, include stable-diffusion.

Upscaling

  • BasicSR - Open-source upscaling and restoration toolbox supporting several models.
  • BSRGAN - BSRGAN—another upscaling solution specialized in upscaling degraded images.
  • Cupscale - GUI for running various upscaling models, including ESRGAN and RealESRGAN.
  • RealESRGAN - ESRGAN Upscaling (2x, 4x) and content restoration. Python: pip install realesrgan
  • jquesnelle/txt2imghd - A port of the GOBIG mode from progrockdiffusion, providing high quality upscaling on top of txt2img.
  • Upscale Wiki Model Database - Wiki and model database for checkpoints compatible with ESRGAN et al.

Content Restoration

  • lama-cleaner - Content aware AI inpainting tool useful for removing unwanted objects or defects from images. Python: pip install lama-cleaner
  • GFPGAN - Face Restoration GAN included in several forks for automatically fixing the face deformation commonly found in SD output.
  • CodeFormer - Another Face Restoration model (Paper).

Task Chaining

  • chaiNNer - Graphical node-based editor for chaining image processing tasks.
  • ai-art-generator - AI art generation suite combining Stable Diffusion and other models for high volume art generation.
  • dfserver distributed backend AI pipeline server for building self-hosted distributed GPU cluster to run the Stable Diffusion and various AI image or prompt building model.

Prompt Building

Prompts are the instructions given to diffusion models to manipulate their output.

  • Stable diffusion prompt book - OpenAI's stable diffusion prompt book, a very comprehensive resource on prompt engineering.

  • ai-art.com/modifiers - A visual reference guide for keywords.

  • aipromptguide.com - Visual Database of styles, modifier, artists and persons

  • 🖊️ aiTransformer Prompt Builder - Help build text prompts intuitively using an Image To Text tool to generate detailed text descriptions from image, and 800+ special Textual Inversion terms and often-used generic terms with sample images.

  • krea.ai - Prompt search engine that also recommends similar prompts to the one that you click on.

    • 🖊️ With account creation, you can like and save prompts in your own collections.
  • Lexica.art - A searchable, visual database of images and the prompts settings used to create them.

  • pharmapsychotic/clip-interrogator - Jupyter notebook uses CLIP models to suggest a prompt for images similar to a given image (Demo).

  • 🖊️Phraser - A visual prompt builder drawing on a database of examples. (Requires account creation)

  • 🖊️Prompthero = Another visual prompt builder and reference library.

  • PromptoMania - A visual prompt construction tool.

  • rom1504/clip-retrieval - Searches for prompt keywords in the datasets used in training Stable Diffusion and other models (Online GUI). Some GUIS like Automatic1111 include this functionality.

  • Stable Diffusion Prompt Generator - Gives suggestions for improving a given text prompt.

  • PromptSearch - Yet another Stable Diffusion search engine but with public API

  • Same Energy - A visual search engine that returns images that have the same 'energy'.

  • PublicPrompts - Collection of PublicPrompts

Specialized Usecases

  • dream-textures - A blender addon leveraging stable diffusion for texture creation.
  • stable-dreamfusion - An open source implementation of Google's text-to-3D dreamfusion paper with imagegen replaced by stable diffusion.

Tutorials and Comparisons

Tutorials and high quality educational resources

Getting Up and Running

Learning and Mastering

Studies

Extending Functionality

Community Resources

  • 1 week of Stable Diffusion - A curated list of Stable Diffusion services, adaptations, user interfaces and integrations.
  • pharmapsychotic.com/tools - A curated list of Tools and Resources for AI Art, including but not limited to Stable Diffusion.
  • Stable Diffusion Resources - A thorough resource for answering pressing questions about Stable Diffusion, including guides, tutorials, and best software.

Social Media

Plugins for third party apps

Commercial SaaS and apps implementing Stable Diffusion

  • 🖊️💵 AI Art Generator (IOS) - iOS App to generate art using Stable Diffusion.
  • aiimagegenerator.org - Free online art generator for generating images using Stable Diffusion. Supports txt2img and img2img generation and inpainting.
  • 🖊️💵 Barium.ai - Generate PBR (physics based rendering) textures from text. Free and paid plans.
  • 🖊️💵 Canva text-to-image - Text-to-image (beta) service from Canva
  • 🖊️💵 Dream Studio - Online art generation service by StabilityAI, the creators of Stable Diffusion. Similar to services like DALL-E or Midjourney, this operates on a credit model with a free allowance of credits given to signed up users on a monthly basis.
  • 🖊️💵 dream.ai - Online art generation service by Wombo.ai (mobile apps available).
  • 🖊️💵 GimmeAPIs - Third party REST API Stable Diffusion service.
  • 🖊️💵 Image Computer - Easy-to-use service aimed at non-technical people (comes with free trial credits)
  • 🖊️💵 Neural.love - Another online art generator with generous free credits as of Oct 2022.
  • 🖊️💵 replicate.com stable diffusion - Another SaaS offering for Stable Diffusion.
  • 🖊️💵 Starry AI (IOS) - Another IOS app offering stable diffusion with preset art styles.
  • 🖊️ Stable Horde - Distributed stable diffusion cluster (think folding@home) with web, discord and telegram interfaces where joining with your GPU gives you priority.
  • 🖊️💵 Stable Diffusion as API - Third party REST API into table Diffusion service.