- over_model
- over_clip
- lora_stack
- context
- model
- clip
Stock ComfyUI wants a different loader for every architecture: CheckpointLoader for SD, UNETLoader + DualCLIPLoader for Flux, a whole extra loader when you start quantizing. ComfyUI-Apt_Preset's sum_load_simple is the one-node answer - a universal loader that knows the model-combination rules for XL/SD, Wan 2.1/2.2, QwenEdit, Flux/Kontext, SD3.5, and Hi-dream, and produces the pack's RUN_CONTEXT bundle plus a model and clip. It's the "Loader" in the README's Loader → Controller → Sampler design, and it's the node you'll start almost every workflow with.
What it actually does
It's a stripped-down subclass of the pack's sum_load_adv - same loading engine, minus the preset system, the extra clip slots, and the inline prompt fields. You point it at the right files for your architecture, it loads model + clips + VAE, encodes nothing yet, and packs everything into a context with your sampling defaults baked in.
The architecture logic lives in the parent loader, and it matters more than the file dropdowns:
- XL / SD mode - a single checkpoint.
- Wan 2.1 / 2.2 / QwenEdit - Unet + clip1.
- Flux / Kontext - Unet + clip1 + clip2 (the README is explicit: in that order, not clip1 + clip3).
- SD3.5 - Unet + clip1 + clip2 + clip3.
- Hi-dream - Unet + clip1 through clip4.
Get that file combo wrong and the loader silently half-loads your pipeline.
The inputs that matter
- ckpt_name / unet_name - checkpoint for SD-class, or Unet for the DiT-era models. The dropdowns pull from
models/checkpointsandmodels/unet- and crucially, the Unet list includesunet_gguffiles, so quantized models show up here automatically once ComfyUI-GGUF is installed. - clip_type - 26 entries covering stable_diffusion, sd3, wan, hidream, ltxv, pixart, cosmos, and friends. This is what tells the loader which combination rule applies and what latent shape downstream expects.
- clip1 / clip2 - text encoders from
models/text_encoders(plusclip_ggufwhen ComfyUI-GGUF is present). - vae - from
models/vae. - unet_Weight_Dtype -
default,fp8_e4m3fn,fp8_e4m3fn_fast,fp8_e5m2for fp8 Unet loading. - lora / lora_strength - a single inline LoRA if you don't want the dedicated
sum_loranode. - width / height / steps / cfg / sampler / scheduler - the defaults stored into context; downstream nodes inherit them.
- over_model / over_clip - override inputs. The README's rule: when
over_modelis connected, whatever the loader was going to output for model/Unet is discarded andover_modelwins; same forover_clipand all four clip slots. - lora_stack - for the pack's stacked LoRA tokens.
The outputs that matter
context (the bundle - the thing almost everything else consumes), model, and clip.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git
cd ComfyUI-Apt_Preset
pip install -r requirements.txt # Windows: double-click install.bat
Then, from the README's note list: ComfyUI-GGUF is required to actually load GGUF files - the loader lists them, but ComfyUI-GGUF provides the loader implementation behind the scenes.
Common issues
The parent loader caches loaded models by an MD5 of your settings, which makes re-runs fast but means a changed file with the same name can serve you stale weights until you restart or clear the cache. And the None samples in every dropdown are a footgun: leave clip_type at None and the loader can't pick a combination rule, so nothing sensible comes out. If your workflow "loads" but every generation is garbage, check that you didn't leave a clip slot on None when your architecture needs two.
Inputs (18)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_nameopt | COMBO | 1 options: None | |
| unet_nameopt | COMBO | 1 options: None | |
| unet_Weight_Dtypeopt | COMBO | 5 options: None, default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2 | |
| clip_typeopt | COMBO | 29 options: None, stable_diffusion, stable_cascade, sd3, stable_audio, mochi, +23 | |
| clip1opt | COMBO | 1 options: None | |
| clip2opt | COMBO | 1 options: None | |
| vaeopt | COMBO | 1 options: None | |
| loraopt | COMBO | 1 options: None | |
| lora_strengthopt | FLOAT | 1.00-10–10 | — |
| widthopt | INT | 5128–16384 | — |
| heightopt | INT | 5128–16384 | — |
| stepsopt | INT | 201–999999 | — |
| cfgopt | FLOAT | 8.00–100 | — |
| sampleropt | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| scheduleropt | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| over_modelopt | MODEL | — | |
| over_clipopt | CLIP | — | |
| lora_stackopt | LORASTACK | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| context | RUN_CONTEXT | — |
| model | MODEL | — |
| clip | CLIP | — |