HT Multi Model Loader
Swap checkpoints from a text list
- model
- model_name
- model_info
The stock ComfyUI checkpoint loader has a dropdown, and a dropdown means a human. If you want to run the same workflow across three checkpoints in sequence - style comparison, batch variety, A/B testing - you want a loader that takes its model choice from a number instead. HT Multi Model Loader, from HommageTools, is that: you paste a list of model names into a text box, hand it an index, and it loads whichever checkpoint that index points to.
How it works
The inputs:
- model_list - one checkpoint filename per line, exactly as they appear in your
ComfyUI/models/checkpointsfolder. This is a plain text list, not a dropdown, so it can be generated, edited, or driven by another node. - current_index - which line of the list to load, 0-based. This is the knob your automation turns.
- weight_dtype -
default,fp8_e4m3fn,fp8_e4m3fn_fast, orfp8_e5m2. The fp8 options load the weights in 8-bit to cut VRAM and speed up loading, at a small quality cost. If your GPU is tight,fp8_e4m3fnis the usual pick.
It validates each name against the actual checkpoints folder, loads the model, and computes a SHA-256 hash of the file plus any embedded safetensors metadata.
The outputs:
- model - the loaded MODEL, ready for a KSampler.
- model_name - the string name of what actually loaded.
- model_info - metadata text: format, embedded tags, and the SHA-256 hash.
The model_info hash is genuinely useful - it's the same kind of hash Civitai uses to identify a model, so you can confirm exactly which file you ran, which matters when two versions of a model have identical display names.
The obvious use case
Pair it with a loop or an iterator over current_index and you've got a batch job that renders the same prompt through N checkpoints, automatically. Feed the model_name into a console logger or filename builder and your output files self-label. That turns "run 12 manual generations swapping the dropdown" into one queue.
One caveat: swapping models mid-queue means the CLIP and VAE change too - the node only outputs the model, so you'll still need the right CLIP for each checkpoint. In practice, with SD 1.5/XL setups where the checkpoint bundles its own text encoder, wiring a matching CLIP is usually a non-issue, but don't assume it.
Installing it
Part of HommageTools. ComfyUI Manager → search HommageTools, or:
cd ComfyUI/custom_nodes
git clone https://github.com/ArtHommage/HommageTools.git
cd HommageTools && pip install -r requirements.txt
Restart ComfyUI; it lives under HommageTools/loaders.
Gotchas
- Model names must match
get_filename_list("checkpoints")exactly - subfolder paths included. A typo means "model not found" and a fallback, so copy names from the folder, don't retype them. - Every index change reloads the model from disk. Flipping indexes rapidly (per-batch, per-frame) will thrash your disk and VRAM; this is built for swapping between runs, not inside a tight loop.
- The pack itself is alpha per its README, and the metadata extraction is best-effort - some files yield richer
model_infothan others.
For automated model rotation it's the right tool, and the hash output alone makes it worth a slot if you care about reproducibility.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_list | STRING | — | |
| current_index | INT | 00–9999 | — |
| weight_dtype | COMBO | default | 4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| model_name | STRING | — |
| model_info | STRING | — |