How to run ComfyUI online with Runpod?

Quick guide to setup ComfyUI on runpod.io



Runpod.io

Go to runpod.io and create an account. You’ll need to add funds to rent a GPU. Prices vary depending on the GPU you choose and the service you will be using.
runpod.io

Use the following template:
Pytorch 2.8.0

Pick a GPU of your choice (4090/5090 are fine).
Then edit the template by opening both ports 8888 and 8188.


ComfyUI

Once the server has been initiated, open ComfyUI to begin installing it on the server.

In Runpod, open the JupyterLab link (port 8888) and click the Terminal button.
Now clone the ComfyUI repository:

git clone https://github.com/comfyanonymous/ComfyUI.git

Then navigate to the ComfyUI folder:

cd ComfyUI

Install pytorch:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu130

Then install ComfyUI dependencies:

pip install -r requirements.txt

You can now start ComfyUI:

python main.py --listen --enable-cors-header "*"

ComfyUI should now be running and accessible from the Runpod HTTP Service link (port 8188).


The checkpoint

Choose a checkpoint that you like (you can find a not exhaustive list of checkpoints here.)
Open its Civitai page, then copy the download link.

You will also need an API key to download from Civitai remotely.
Go to your account settings, scroll down to the API Keys section, then click "Add API Key".
Create the key and save it (you won’t be able to see it again).

Back in JupyterLab, open a new Terminal and navigate to the ComfyUI checkpoints folder:

cd ComfyUI/models/checkpoints/

To download your checkpoint, use the following command:

wget -O "[CHECKPOINT_NAME].safetensors" --show-progress [CHECKPOINT_URL]?token=[API_KEY]

For example, for Perfect Illustrious XL:

wget -O "prefect-illustrious.safetensors" --show-progress https://civitai.com/api/download/models/2320393?token=[API_KEY]

Paste this command in JupyterLab (inside the checkpoints folder) to download the model.

Once the model is downloaded, you can now generate a Lora-less character in Eudaimonia.
Fill the API URL field in Eudaimonia with the HTTP Service link (port 8188) from Runpod. Make sure to remove the trailing “/”.
Save your settings, then refresh the list of checkpoints.


Character Lora

The process for downloading a character Lora is very similar to downloading a checkpoint.
Go to the Lora’s page on Civitai and copy the download link.

Create the download command (same format as before):

wget -O "[LORA_NAME].safetensors" --show-progress [LORA_URL]?token=[API_KEY]

In JupyterLab, open a new Terminal and navigate to the ComfyUI Loras folder:

cd ComfyUI/models/loras/

Paste the download command to download the Lora.

You should now be able to see and use your character Lora in Eudaimonia.


Biglove Model

You can download a Biglove checkpoint using the same process described above.
Biglove models
However, it requires a specific Lora to work:

Lora (dmd2_sdxl_4step_lora_fp16.safetensors)
To install it, navigate to the Loras folder in JupyterLab and run:

wget https://huggingface.co/tianweiy/DMD2/resolve/main/dmd2_sdxl_4step_lora_fp16.safetensors


Face Detailer

To use the Face Detailer option, additional steps are required.
You need to install both of the following custom nodes:

In JupyterLab, navigate to the custom nodes folder:

cd ComfyUI/custom_nodes/

Clone the repository of each custom node (ComfyUI-Impact-Pack & ComfyUI-Impact-Subpack), then go into both of their folders to install their dependencies.
Then go into both of their folders to install their dependencies:

pip install -r requirements.txt

Lastly, you need one more small model: the face detection model.
In JupyterLab, run the following commands to create the required folders:

cd /ComfyUI/models/ && mkdir ultralytics && cd ultralytics && mkdir bbox && cd bbox

Then download the model:

wget https://huggingface.co/datasets/Gourieff/ReActor/resolve/main/models/detection/bbox/face_yolov8m.pt


That’s it! You should now be able to fully use the image generation features of Eudaimonia!