English | 中文说明
Similar to the ComfyUI official standalone portable, but preloaded with numerous custom nodes and Python packages, with all dependencies resolved.
-
Pre-installed with 40+ commonly-used custom nodes. [Full List]
-
With all the model files that need to be downloaded on the first run (which may cause freezing for users with a poor Internet connection).
-
-
Includes 200+ mutually compatible Python packages, including:
-
insightface,dlib, etc., which require compilation during installation. -
xFormers, which is not included in the ComfyUI official package for an understandable reason. It may not be significant for text-to-image, but could be useful for video workflows.
-
-
Only a few functional models are pre-installed; users please prepare SD models of your favorite.
-
This repo uses the GitHub pipeline for packaging, making it easy for DIY. No need to configure CI/CD, simply fork the repository on GitHub to run the packaging script. See Creating Your Own All-In-One Package.
-
Only NVIDIA GPUs are supported, preferably with the latest driver installed.
-
Download the package files from the release page.
-
Or you can download them directly:
-
models.zip.001 (If you are upgrading from a previous release, you don’t need this file.)
-
Open the
.7z.001and extract it to a convenient place. Open the.zip.001and extract it to the same place. If you can’t open 7z files, install 7-zip or PeaZip first.
-
-
Place SD models in
ComfyUI\models\checkpoints.-
Subdirectories can be created for better organization.
-
-
Run
RUN_Launcher.batto start.
-
After launching, the program will automatically open a browser. You can also manually access: http://localhost:8188/.
-
Close the window to exit the program.
-
The
ExtraScriptsfolder contains command-line launch scripts, which are equivalent to the launcher. -
Take full advantage of ComfyUI-Manager (the Manager button in the top-right corner of the ComfyUI page) to manage custom nodes: install, update, disable, and uninstall.
-
Be cautious when using "Update All"; there’s no need to update unused nodes to avoid Python package conflicts.
-
-
For power users, consider using Sandboxie to limit cache files while isolating the environment.
-
For better I/O performance when using Sandboxie, it is recommended to configure the program’s main directory (
ComfyUI_Windows_portable) as "Open Access" in "Sandbox Options" → "Resource Access".
-
If you place model files on different partitions or share a set of model files across multiple ComfyUI instances, you can configure ComfyUI to load external model directories:
-
Rename
extra_model_paths.yaml.examplein theComfyUIdirectory, removing the.examplesuffix. -
Edit
extra_model_paths.yaml, where lines starting with#are comments.
Reference file (click to expand)
comfyui:
base_path: D:\models\
animatediff_models: animatediff_models
animatediff_motion_lora: animatediff_motion_lora
bert-base-uncased: bert-base-uncased
checkpoints: checkpoints
clip: clip
clip_vision: clip_vision
configs: configs
controlnet: controlnet
depthfm: depthfm
diffusers: diffusers
diffusion_models: |
diffusion_models
unet
embeddings: embeddings
facerestore_models: facerestore_models
gligen: gligen
grounding-dino: grounding-dino
hypernetworks: hypernetworks
insightface: insightface
instantid: instantid
ipadapter: ipadapter
loras: loras
mmdets: mmdets
onnx: onnx
photomaker: photomaker
reactor: reactor
rembg: rembg
sams: sams
style_models: style_models
text_encoders: text_encoders
ultralytics: ultralytics
unet: unet
upscale_models: upscale_models
vae: vae
vae_approx: vae_approx
ComfyUI has five common locations for saving model files:
-
The built-in
ComfyUI\modelsdirectory. -
External model directories configured via
extra_model_paths.yaml. -
Model files downloaded via HuggingFace Hub (HF official downloader).
-
Model files downloaded via PyTorch.
-
Files downloaded in-place by nodes in
ComfyUI\custom_nodes.
Among these:
-
HF Hub defaults to downloading files to
C:\Users\UserName\.cache\huggingface\hub. -
PyTorch defaults to downloading files to
C:\Users\UserName\.cache\torch\hub.
This package modifies the launch script to redirect these to the program’s root directory, under HuggingFaceHub and TorchHome folders, respectively, for easier management. If needed, you can edit the launch script to change these paths.
This method does not use ComfyUI-Manager for updates but directly replaces the package with a new version. If the process goes smoothly, it avoids installing or upgrading Python packages, thus preventing dependency conflicts.
-
Extract the new package.
-
Delete the
ComfyUI,HuggingFaceHub, andTorchHomefolders in the new package. -
Copy (or move) these three folders from the old package to the new one.
-
Run
RUN_Force_Updater.batin the new package’s root directory. -
If any nodes fail to load, use ComfyUI-Manager to "try fix."
Workspace |
||
Performance |
||
General |
||
Control |
||
Video |
||
More |
||
If compatibility issues arise, you can try disabling conflicting nodes in ComfyUI-Manager.
This repository utilizes a pipeline to build the package, and the codebase doesn’t contain specific configurations or require additional access permissions. Hence, you can directly fork this repository to start executing the GitHub Workflow.
-
After forking, go to Actions on the page.
-
Locate Build & Upload Package.
-
For example, the page in my repository looks like this.
-
-
Click Run Workflow.
-
Wait about 20~40 minutes until the workflow run complete.
-
Go to the releases page of your repository, where you will find the newly generated draft, ready for download or editing.
Originally, the code was copied from ComfyUI’s GitHub workflow, but I found it difficult to debug, so I rewrote the script.
However, the packaging concept is similar: providing a self-contained, portable, and fully equipped environment with a pre-installed Python Embedded (now migrated to Python Standalone).
The difference is that I didn’t download wheels first and then install them in bulk like Comfy did. Because dependency relationships are too tricky, I went straight to pip install for dependency solving.
As a note, a common issue with Python Embedded in such pre-installed packages is that most of the executables in the Scripts directory cannot run properly. This is because these executables are often Python command wrappers that invoke python.exe through an absolute path. Once the directory changes (or is relocated), they naturally fail to execute. Fortunately, this does not affect the current project significantly.
Thanks to the ComfyUI GitHub workflow, from which I drew inspiration.

