ComfyUI - OSX
ComfyUI is a node-based implementation of Stable Diffusion. It can be confusing at first, but it’s extremely powerful. It’s arguably one of the best UI for rendering images for SDXL.
https://github.com/comfyanonymous/ComfyUI
Installation
Read the official docs, but this is what I’d do in a Mac environment. If you’re not a geek and don’t know what these things are, then follow the official docs instead. These are setups that I would recommend for other geeks you are familiar with setting up custom environments for development. If you use my setup instead of what’s outlined in the official docs, it might be harder for them to support you.
Make a Stable Diffusion folder
I like to keep all my Stable Diffusion things in a folder called sd
in my home directory. You don’t have to. You can install this anywhere you like.
mkdir ~/sd
Change folder
cd
to the folder where you’d like to install ComfyUI. This can be anywhere, but I made an sd
folder so I’ll just use that.
cd ~/sd
Clone the repo
git clone https://github.com/comfyanonymous/ComfyUI.git
Create a new virtualenv for comfy
pyenv virtualenv 3.10.9 comfy
Switch to the new virtualenv
pyenv shell comfy
Install Pytorch Nightly.
Read Accelerated PyTorch Training on Mac
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
Copy your models the model folders
- Checkpoint models:
~/sd/ComfyUI/models/checkpoints
- VAE:
~/sd/ComfyUI/models/vae
Alternatively, you can have Comfy look at other folders for models, if you put them in a centralized location, by editing this file:
extra_model_paths.yaml
install dependencies
pip install -r requirements.txt
Launch ComfyUI
python main.py --force-fp16
You can optionally set an output folder. This is especially useful if you prefer saving files outside of your main folder, and sync to somewhere else, e.g. Dropbox.
python main.py --force-fp16 --output-directory ~/Dropbox/StableDiffusion/outputs-comfyui
Workflow
Using ComfyUI with SDXL can be daunting at first if you have to come up with your own workflow. Thankfully, some people have made this much easier by publishing their own workflow and sharing them
SeargeSDXL
This is by far the best workflow I have come across. I highly recommend it. It utilizes all the features of SDXL.
https://github.com/SeargeDP/SeargeSDXL
SeargeSDXL is both a workflow and a collection of custom nodes. To install any custom modes, clone the repo into the custom nodes folder.
Assuming that you follow the same folder structure on this page, you can follow the steps below.
# cd into the custom nodes folder
cd ~/sd/ComfyUI/custom_nodes
# clone the repo
git clone https://github.com/SeargeDP/SeargeSDXL.git
# Stop ComfyUI if it’s already running
# Start ComfyUI
python main.py --force-fp16
But how do you use the workflow after restart? You’ll need to load the workflow. To do that, simply drag the workflow JSON file into the window. You’ll find the latest workflow JSON file in the folder you’ve just cloned. Version 3.4 is the latest as of this writing, and it’s located here:
~/sd/ComfyUI/custom_nodes/SeargeSDXL/workflow/Searge-SDXL-Reborn-v3_4.json
Via GUI
- Open Finder
- Press
Command + Shift + G
to open by path - Paste
~/sd/ComfyUI/custom_nodes/SeargeSDXL/workflow
- Press Enter
- Press
- Drag the JSON into the ComfyUI window
Via the Terminal
### This opens a finder with the path containing the JSON fie
open ~/sd/ComfyUI/custom_nodes/SeargeSDXL/workflow
- Drag the JSON into the ComfyUI window
Load workflow with images
ComfyUI also saves the entire workflow into the source images, so you can actually load complete workflows from the images themselves!
There are a collection of images on the ComfyUI_examples repo — When you drag these images into the ComfyUI window, you’ll load the entire workflow. Quite genius if you ask me.