Skip to content

About

ModelPack loader for ComfyUI

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

ComfyUI ModelPack

日本語

ComfyUI custom nodes for loading weights from CNCF ModelPack OCI artifacts. The nodes use modelpack-client to pull and validate an artifact, then load the selected weight file with ComfyUI's native loaders. They can also select models already installed in ComfyUI.

Installation

  1. Place this repository at ComfyUI/custom_nodes/comfyui-modelpack.

  2. Install the dependency in the Python environment used by ComfyUI:

    python -m pip install -r ComfyUI/custom_nodes/comfyui-modelpack/requirements.txt
  3. Restart ComfyUI. The nodes appear under ModelPack and ModelPack/loaders.

Python 3.10 or later is required. Pulling an artifact requires access to its OCI registry. Credentials saved by docker login in ~/.docker/config.json are used.

Using the nodes

Enter an OCI artifact reference in reference, for example registry.example.com/models/my-checkpoint:v1. If the artifact contains exactly one supported weight file, leave file blank. If it contains several, set file to the path of the desired file inside the artifact, such as weights/clip_l.safetensors. Files with the extensions ComfyUI accepts for models are used: .safetensors, .sft, .ckpt, .pt, .pt2, .pth, .bin, and .pkl.

To use an existing ComfyUI model, leave reference blank and set file to a model filename from the corresponding ComfyUI model folder. At least one of these fields must be set.

Node Result Additional inputs
ModelPack Download / Select File Absolute model path as a STRING model_type selects the model folder
ModelPack Checkpoint MODEL, CLIP, VAE —
ModelPack Diffusion Model MODEL weight_dtype
ModelPack CLIP CLIP type selects the CLIP architecture; device can load it on the CPU
ModelPack VAE VAE —
ModelPack LoRA Updated MODEL, CLIP model, clip, strength_model, strength_clip

For example, add ModelPack Checkpoint, set reference to the artifact reference, and connect its MODEL, CLIP, and VAE outputs as you would with a native checkpoint loader. For a LoRA, connect existing MODEL and CLIP outputs to ModelPack LoRA, then set its reference and strengths.

Downloaded files are stored under ComfyUI/models/modelpack/<model folder>/<reference hash>/. A digest reference such as registry.example.com/models/my-checkpoint@sha256:… is downloaded once and then reused without contacting the registry. A tag reference is pulled again the first time it is used after ComfyUI starts, so a tag that has moved is picked up; if the registry cannot be reached, the copy downloaded earlier is used. Use a digest reference for a reproducible workflow and to avoid downloading again after a restart. If a requested file is missing or the artifact has multiple weight files without a file selection, the node reports the available weight paths.

Development

The tests do not need ComfyUI:

uv run python -m unittest discover -s tests

License

Apache License 2.0. See LICENSE.

About

ModelPack loader for ComfyUI

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages