Skip to content

Compute

ComfyUI

Launch this template and the ComfyUI canvas is waiting at your instance URL, with ComfyUI-Manager bundled so you can install models and custom nodes without leaving the browser.

The image is grafilab/comfyui:2026-06-09, built on pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime.

  • ComfyUI on port 80, published at https://<your-slug>.instance.grafilab.ai.
  • ComfyUI-Manager, for installing models and custom nodes from the interface.
  • A root shell over SSH on the same container, which is how you handle large or gated model downloads.

No models ship with the image. A fresh instance can open a workflow but cannot run one until you put a checkpoint in place. Budget the first few minutes of the rental for downloads, and read Get models and custom nodes before you launch so you know what you are fetching.

Deploy an instance and pick ComfyUI in step 2, Template Selection. Size the card by the models you intend to run: SDXL-class checkpoints are comfortable on 16–24 GB, and the larger video and Flux models want considerably more. The full walkthrough is in Deploy a GPU Instance.

  1. In the console open My Instance and wait until the card reads Active.

  2. Open https://<your-slug>.instance.grafilab.ai. The slug is the three-word name on the instance card.

ComfyUI looks for weights under /opt/ComfyUI/models, in a subfolder per kind:

FolderHolds
/opt/ComfyUI/models/checkpointsBase models — the thing a Load Checkpoint node loads.
/opt/ComfyUI/models/lorasLoRA adapters.
/opt/ComfyUI/models/vaeStandalone VAEs, when a checkpoint doesn’t bundle one.
/opt/ComfyUI/models/controlnetControlNet models.

Click Manager in the ComfyUI menu, open the model install screen — labelled Model Manager in current builds and Install Models in older ones — search for the model you want, and click Install. The Manager knows which subfolder each entry belongs in, so this is the easiest route for well-known models.

For anything the Manager doesn’t list, or for gated repositories, connect over SSH (see Manage Instances) and download straight into place:

Terminal window
cd /opt/ComfyUI/models/checkpoints
wget -O model.safetensors "https://example.com/path/to/model.safetensors"
Terminal window
huggingface-cli download <repo-id> <filename> \
--local-dir /opt/ComfyUI/models/checkpoints

For a gated repository, run huggingface-cli login first and paste a Hugging Face token.

New files are picked up when you press the refresh control on a model selector node, or after a reload of the browser tab. Keep total downloads under the Disk Space figure on your instance card, and keep the model you actually run under the card’s VRAM figure.

Click Manager, open the custom-node install screen — Custom Nodes Manager in current builds, Install Custom Nodes in older ones — search, and click Install. Then use the Manager’s Restart action so ComfyUI reloads and registers the new node types.

If the Manager button is missing from the menu entirely, the bundled Manager failed to load. Reload the tab first; if it is still missing, relaunch the instance.

  1. Load the built-in text-to-image graph from the workflow menu (WorkflowBrowse Templates, or the Load Default action).

  2. Select a checkpoint you downloaded in the Load Checkpoint node.

  3. Type a prompt in the positive CLIP Text Encode node.

  4. Click Queue Prompt. The nodes highlight as they execute, and an image appears in the Save Image node when the run finishes.

Generated images are written to /opt/ComfyUI/output inside the container. Download the ones you want to keep from the node itself, or archive the folder with Backup.

Nothing persists past the rental

Instances have no persistent volume. Anything you write at runtime — downloaded models, installed packages, notebooks, outputs — lives in the container for the lifetime of the rental and is gone when it expires. Before Expire at, back up the folders you care about to Grafilab storage and download the archive.

On this template, that warning has teeth: models are tens of gigabytes and downloading them again is the slowest part of every new rental. Before Expire at, run Backup on the instance card over the two directories that matter:

  • /opt/ComfyUI/models — everything you downloaded.
  • /opt/ComfyUI/output — everything you generated.

Anyone with the URL can reach your web UI

The Grafilab proxy does not add a login in front of your instance. Your random three-word slug (https://<your-slug>.instance.grafilab.ai) is the only barrier, and the shipped web templates have no application login of their own (Open WebUI is the exception). Treat the URL like a password: don’t paste it in public places, and if you need a lock, add one inside the app over SSH.

ComfyUI has no login of its own, and custom nodes execute arbitrary Python on your GPU. Treat the instance URL as a credential, and only install custom nodes you would trust with a shell on the box.

  • CUDA out of memory. Lower the resolution, drop the batch size to 1, or switch to a smaller checkpoint. If it only happens on long runs, reload the tab to clear cached models between generations.
  • Red nodes with “missing node type”. The workflow uses custom nodes you don’t have. Open Manager and use its install-missing-nodes action, then restart.
  • A checkpoint doesn’t appear in the node’s dropdown. Check it landed in the right subfolder under /opt/ComfyUI/models, then press refresh on the node or reload the tab.
  • The page doesn’t answer right after launch. Wait until the instance card reads Active.