ModelFinder
Resolve a list of filenames to real model paths
- filenames
- paths
- stems
If you're sweeping through a list of checkpoints or LoRAs - say, comparing five fine-tunes on the same prompt - you need real paths that a loader node can actually consume, and those live wherever your particular ComfyUI install has them configured, which is rarely the same folder layout twice. ModelFinder bridges that gap: give it plain filenames, and it searches your actual configured model folders and hands back the paths that exist.
How it works
For every filename in your input sequence, it searches the folders ComfyUI itself has registered for whichever model_type you picked - checkpoints, loras, vae, controlnet, and so on - either recursively into subfolders or just the top level, depending on the recursive toggle. Find nothing for a given filename and it raises an error immediately and stops the whole job, unless skip_missing is turned on, in which case that entry is simply left out rather than failing everything. It also explicitly refuses any filename containing .. - that's a deliberate guard against escaping the model folder, not a bug.
The inputs and outputs that matter
filenames(SEQUENCE) - the list of model filenames you're looking for, typically built with Literal or pulled from somewhere else in your graph.model_type- a dropdown of every folder type ComfyUI knows about (roughly 26 options: checkpoints, loras, vae, controlnet, upscale_models, embeddings, and more).recursive(BOOLEAN, default on) - search subfolders too, not just the top level of each configured path.skip_missing(BOOLEAN, default off) - fail loud by default; flip this on if you'd rather skip a missing file than kill the whole run.
Outputs are paths (SEQUENCE of paths, ready for a loader that takes a path string) and stems (SEQUENCE of bare filenames with the extension stripped - handy for labeling a StringToImage caption or an output filename per model, without the .safetensors clutter).
How to install it
Via ComfyUI Manager: search comfyui-job-iterator, install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ali1234/comfyui-job-iterator
then restart. No dependencies - it only touches ComfyUI's own model-path configuration.
Common issues & troubleshooting
It errors out the moment one filename doesn't match. That's the default, on purpose - fail loud rather than silently continue with a partial sweep. If you'd rather it just skip the ones it can't find, turn skip_missing on and check paths'/stems' resulting length afterward.
A filename that should exist isn't found. Double check recursive - if your model actually lives in a subfolder of the configured checkpoints path and recursive is off, it won't be located. Also check model_type matches where the file actually lives; a LoRA sitting in the loras folder won't turn up if you searched checkpoints.
"..." is not allowed error. That's the path-traversal guard firing - it's intentional, not a bug to work around. Use a plain filename, not a relative path that tries to climb out of the model directory.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| filenames | SEQUENCE | — | |
| model_type | COMBO | audio_encoders | 26 options: audio_encoders, background_removal, checkpoints, classifiers, clip_vision, configs, +20 |
| recursive | BOOLEAN | true | — |
| skip_missing | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| paths | SEQUENCE | — |
| stems | SEQUENCE | — |