A Stable Diffusion app for macOS built with SwiftUI and Apple's ml-stable-diffusion CoreML models.
- Gauss is document-based. To get started, create a new document.
- All the images you generate are stored locally inside your
.gaussnb
(Gauss Notebook) files. - If it's your first time using Gauss, you'll need to install Stable Diffusion models to start generating images. Each model is about 2.5gb.
- All the images you generate are stored locally inside your
- Write prompt text and adjust parameters in the composer view at the bottom of the document window.
- To export an image, just drag it to Finder or any other image editor.
- You can always generate more images from an existing prompt.
This software is under development and is alpha quality. Builds are available on the releases page.
Alternatives:
- DiffusionBee is a Stable Diffusion UI built with Electron & Python. It's probably slower than Gauss but has many more features.
- macOS 13.1+
- Recommended: an Apple Silicon CPU. Intel hardware may work, but is untested by the primary developer and could be slow.
If you'd like to contribute, you can build the project by following the instructions for developers below.
- macOS 13.1+
- Xcode 14.2+
git-lfs
is used to fetch pre-built models from HuggingFace.- If you have
brew
:brew install git-lfs
, thengit lfs install
. - Otherwise, download the installer here, then
git lfs install
.
- If you have
- At least 10gb of free disk space.
- Recommended: set up Xcode to format code when you save.
- Clone this repo:
git clone https://github.com/justjake/Gauss
- Open the project file (Gauss.xcodeproj) with Xcode:
open Gauss.xcodeproj
- You should be able to run (Cmd-R) the project.
As with end-users, the first time you run Gauss you'll need to download models.
To release model data, we pack the models into archive files, split the archive files into parts no larger than 2gb, and then publish everything via Github release. 2gb is the file size limit for Github releases.
We use Apple Archive (.aar) format instead of something common like Zip because .aar unpacking is available from built-in libraries, and zip is not.
- To create the
.aar
files:make aars
- Serve the newly-built .aar files locally:
make serve
- Switch to installing models locally:
- Run the project in Xcode, then open the Models window (Window > Models).
- Open the "Advanced" dropdown and choose "Custom Host"
- Remove existing model files:
make uninstall-models
This is done manually.