This tutorial explains how to run the Automatic1111 Stable Diffusion web UI on OctoAI within a few button clicks.

First, go to the Example Models page and locate the Image Generation (Automatic1111) model. If you hover over that row like I do, you will see a button pop up next to it. Click that button.

That will bring up this page where you can customize your endpoint settings:

  • For example, I can customize the Endpoint name to mystablediffusion2023 and change minimum replicas to 1 so that my endpoint always stays warm. We don’t need to scale up to more replicas since we’re the only user interacting with the web UI, so let’s set max replicas also to 1.
  • Be sure to enable public access using the toggle button, so you can access Automatic1111 through your browser.
  • If you want to learn more about any of these fields, you can hover over the tooltips in the UI.

Then, we’ll be directed to a homepage for our new endpoint:

  • One of the bubbles under the “Replicas” heading will start pulsing until it becomes solid blue, which will denote when the replica is ready for inference.
  • While the bubble is pulsing, what’s happening behind the scenes is that we spin up a hardware replica and download the container onto the replica. You can always check on our intermediate progress by clicking on the pulsing bubble.

When we see an event line “Replica is running,” we can close the Replica bubble dialog and go back to the homepage for our endpoint. Click on the Logs button on the top right to confirm that the web UI has been launched and weights have been loaded, like in the screenshot below.

Now we’re ready to close the Logs button and check out the web UI! Notice the Endpoint URL field that I have highlighted below.

Copy the endpoint URL, paste it in another tab in your browser, then run it. You’ll see the Stable Diffusion web UI available at that URL!

That was it!

N.B. If you want to use a different checkpoint/safetensors weight file other than the base Stable Diffusion model, check out this video for a tutorial on how to use the appropriate extension in this UI: https://www.loom.com/share/7a03adb6b5644cdb934010fef67b13b0

FAQ:

  • I can’t load my checkpoint file, and in the Logs tab in the UI I see this error message: safetensors_rust.SafetensorError: Error while deserializing header: MetadataIncompleteBuffer. What should I do?
    • This error occurs if your checkpoint happens to be extra large, in which case instead of using the example model which has been pre-optimized for Medium tier hardware (A10s), you need to run the UI on a Large Tier hardware (A100) instead. Follow Create your own Endpoint from an existing container to make your own Automatic1111 endpoint on a Large Tier hardware, using this container image 258175030240.dkr.ecr.us-east-1.amazonaws.com/template-images:automatic1111-v0.01 with port 3000 and no healthcheck.
  • Why do my checkpoints and data get cleared after a while?
    • We currently don’t persist your data in any way, so whenever a new node is cycled for your service, the previous data is cleared. We are currently adding a way for users to persist their data if they opt in.