This is a list of the extensions that I am currently using for my inpainting workflow. Some of these are not directly related to the inpainting process but are helpful towards the brainstorming process. For the scope of this guide, I will be trying to avoid mentioning paid resources. If I had to recommend using money for something, I would recommend getting a tablet first since it's quite the force multiplier. I will be laying out the sections as use cases since the future is very uncertain and new tools could end up replacing older ones. This guide assumes that you using the A1111 webui.
Freely Edit with an Image Editor
For the inpainting process, it is vital to have the flexibility control your mask size along with the ability to make minor edits to the image. Inpainting isn't a solution to everything and occasionally small edits are faster than another inpainting run. Having integration with an image editor is the best quality of life enhancement for inpainting.
Stable Diffusion integration with the Krita editor. It's a great free option if you want an external editor alongside the webui but it requires some technical background as the extension appears to be in maintenance mode. (Note the extension broke as of the 1.3 A1111 update,follow the instructions here to fix https://github.com/Interpause/auto-sd-paint-ext/issues/152 ) There are a couple of downsides such as the 'inpaint at full resolution' feature of this extension is not quite as good as the 'only masked' feature in the A1111 webui and the lack of controlnet integration .
This extension integrates the photopea webapp directly into Stable Diffusion webui allowing you to make edits and directly send the results to txt2img,img2img or ControlNet. Offers utilities similar to photoshop but cannot be run offline. Photopea has better editing capabilities compared to Krita but I just like the comfort that Krita provides without needing to adjust my tablet.
Additional Model Controls
One of the general limitations with generative AI is that it will often struggle to create our desired image with just prompts alone so more ways to add/remove/manipulate the model is always welcome. One of the more popular ways to do is by using LoRA models which can inject missing data into the checkpoint and guide the result, but making a LoRA for everything can be time-consuming and we're not entirely sure if every LoRA can be flexible enough for all use cases. Thus one of the biggest focuses on generative AI is trying to find ways to give additional instructions to the checkpoint.
This extension enables the usage of ControlNet type models which can apply conditions to a checkpoint's output. It is one of the biggest game changes for Stable Diffusion and the current cutting edge technology for manipulating models. The extension comes with support for lineart ,color, depthmap, normal map, and many other options for output control. While training for custom ControlNet models isn't common, they do exist and is something you should be on lookout for more options. ControlNet itself is a fairly complex topic so I won't be going into more detail about it here.
Allows you to use the Lycoris extended LoRA type. Serves the same purpose as LoRAs for adding missing data but support for Lycoris is not built-in with the webui by default. Occasionally, you might find a Lycoris with some detail you want so have a broader scope for more data isn't a bad idea.
LoRA Block Weight
This extension allows you to manipulate the block weights in LoRA models which can help reduce overfitting and concept bleed. A block weight is a component in a model that manages the generative output over shapes and colors. Being able to control a block weight gives you more control over a LoRA and can enable LoRAs to work better with checkpoints of differing styles.
Regional Prompt Control
While these types of extensions are not a complete must have for every workflow, they are helpful towards maintaining specific prompt control over regions of an image. If you have an exact idea of what your output will look like, then this extension can help greatly.
These extensions are more valuable in multi-subject workflows where the prompt matters a lot more compared to single subject generation. Multi-subject workflows tend to suffer from concept bleeding which may cause unintended results of character details blending together. To prevent this issue, these extensions are considered a must-have for that particular use case. These extensions are not perfect and generations could still suffer concept bleed issues but regional control does help make the process more controllable.
There's quite of number of extensions that handle this particular use case so I'll just mention the two most common ones. There's a bit of a learning curve to these tools so https://stable-diffusion-art.com/regional-prompter/ can help out.
One of many tools that allow you to specify a region by mask and then apply a specific prompt to that area.
Latent Couple + Composable LoRA
Note: You can only use Regional Prompter or (Latent Couple + Composable LoRA), you cannot mix these extensions together.
Latent Couple (TwoShot) and Composable LoRA have the same functionality as regional prompter so it's basically preference as to which one is easier to use.
The main advantage of latent couple + Composable LoRA is that is combo handles concept separation of LoRAs better compared to Regional Prompter. However, it is not perfect.
An extension that helps with preventing color concept bleeding. It's not perfect but can be helpful. It may require tinkering with the weight.
While it is tempting to generate widescreen images or large images with Stable Diffusion at once, Stable Diffusion isn't able to generate high resolutions without errors and you will need to resort to outpainting or upscaling methods to create these images. Unlike upscaling, outpainting increases the size of the image by expanding the canvas, giving more flexibility of adding more detail to the image.
This extension was mentioned earlier but recently, ControlNet received a big update that allows outpainting using the inpaint only processor which effortlessly defeats all the other older forms of outpainting. The only downside is that ControlNet-based generative fill uses another hi-res fix pass on the backend so it's much slower compared to the older outpainting method but it's far less error prone.
Increasing the image resolution while maintaining image quality is fairly common use case. Stable Diffusion comes with support for different upscaling methods which differ on the artstyle. Upscaling tools aren't perfect and may add changes to image or could end up adding extra details to enhance it. You can find upscalers on the https://upscale.wiki/wiki/Model_Database upscale wiki.
MultiDiffusion is an extension that uses a tiling algorithm to upscale images. This comes with the benefit of being able to upscale large images with a lower amount of VRAM. The downside is that it does slow down generation times. I personally find this extension easier to use compared to SD Ultimate Upscaler despite all of the additional switches.
SD Ultimate Upscaler
This is a simple script that allows you to do tiled based upscaling similar to MultiDiffusion. Between the two extensions, I found that SD Ultimate Upscalers tends to have its final output closer to the original but I have found it harder to configure without ending into errors.
After downloading a ton of checkpoints and LoRAs, it's very difficult to tell apart which file is which due to similar naming. It's a lifesaver to have a tool that can track triggerwords and have some better form of model management.
SD Webui Civitai Helper
A helpful extension that can autofill your model previews, detect model updates(not automatic), and stores triggerwords.
Quality of Life Improvements
These extensions are not necessary but give some nice quality of improvements.
A set of tools that helpful towards prompt engineering.
Enables Booru style tag auto completes in the webui. It's an amazing time saver.
Allows wildcard and combination testing of prompts.
Fairly self-exploratory. Tools that can used to remove a background.
A background remover tool based on SAM.
Inpainting Support Tools
A set of tools that can help with inpainting but are not strictly necessary.
Enables the ability to zoom in on images for inpainting. You don't need to download this extension since it will be directly integrated into the a1111 webui for the 1.4 update. Pointing it for the people who are using older versions for more stability.
This tool allows automation of inpainting for faces and bodies. It doesn't use a precise mask over the subjects but can be helpful for increasing the details of the image if you have a ton of people in the background.
Personally, I haven't been able to get these extensions to work but I thought that they could be useful for somebody since they introduce an interesting concept.
A tool that uses SAM to automate the creation of precise inpainting masks.
This extension can be helpful in some use cases but SAM isn't 100% accurate. This is the better tool but there is a lack of integration with MultiDiffusion so you'll end up ending into a lot of out of memory errors.
-edit- This tool now has support for SAM HQ which is more accurate and captures more subareas.
Another tool that uses SAM to create inpainting masks but allows you specify which regions to divide. It comes with multiple features such as object bounding box detection, and batch processing. It's a fairly complex tool that I haven't fully understood yet.
Automatic Layer Division
These type of tools are still in early in development and are very imperfect but I see a lot of potential with being able to help out with general editing.
Stable Diffusion webui- Layer Divider
A tool that uses SAM to divide the image into layers and saves as a PSD file.
Another layer division tool that uses SAM but is able to subdivide the layers into groups of shadow, and lighting.
A set of tools that can be used together in conjunction with ControlNet.
A simple 2d editor for adjusting poses.
A simple 2d editor for adjusting hands and pose within the controlnet ui. Has the ability to hide the visibility of selected bones.
A 3d pose editor that is integrated into Stable Diffusion.
A 2d editor that allows you to adjust the position of depths for hands. Helpful for fixing hands with ControlNet.
External resources for posing.
Blender Character Bones
A blender model with posing utilities with ControlNet
A generic model posing website with a lot of presets for adjusting the model
A generic model posing website that comes with support for exporting pose data for controlnet.
A site that contains a viewer with presets for 3D models of a hand that can be freely rotated or resized. This can be a helpful tool with fixing hands with ControlNet. Unfortunately, the hand cannot be adjusted and additionally there is no easy to download the image so you will need to take a screenshot.
Prompt Image Viewers
Utilities that let you see the prompt connected to the image.
This application doesn't seem to be updated as often any more but it allows you view your prompts without having to start up Stable Diffusion
An extension that integrates an image browser into Stable Diffusion
Latent Couple Region Mapper
A web-app that helps with mapping regions and crafting prompts in combination with 'latent couple' or regional control extensions.
AI Tag Library
A very simple image gallery with comparison of keyword effects. Anime-focused.
Stable Diffusion webui-TensorRT
Enables the conversion and usage of tensorRT models. These models are faster than the standard model but have image size generation limits. Luckily, tensorRT seems to be able to support 768 x 768 dimensions so you can use tensorRT models for more speed during a 'mask only' inpaint quality pass. Do note that it does take some technical knowledge to get this extension working with the webui.
Thanks for reading and maybe this was helpful for somebody!
-fixed errors with the inpainting anything extension. I still don't know enough about them to draw a good conclusion
-6/24/23 Added the latent couple region mapper, taglib
-6/28/23 Forgot to add "SD Webui Civitai Helper" and model management use case
-8/11/23 Updated section on regional control and added posemaniacsas a resource