Nodes/LF Nodes/Checkpoint selector
ComfyUI Node

Checkpoint selector

Pick checkpoints with cover art, or stress-test your whole model folder on autopilot

By lucafoscili·Created 2 years ago·Updated 2 years ago· 50
Checkpoint selector
  • ui_widget
  • combo
  • string
  • path
  • image
get_civitai_infotrue
randomizefalse
filter
seed42
checkpointNone

Model selection is the most boring, repetitive decision in ComfyUI - and one of the most consequential. LF_CheckpointSelector is the LF Nodes version of the stock CheckpointLoaderSimple, built to make that choice faster and to automate the boring part.

At its core it does what you expect: pick a checkpoint from a dropdown and it emits the model for your sampler. But it does it with two upgrades. First, get_civitai_info fetches the model's cover and metadata from CivitAI and shows the checkpoint as a card, so you're choosing by looking instead of by decoding a filename like dreamshaper_8_anything-v3_merged_v2.1.safetensors. Second, there's randomization - flip randomize on and the node grabs a checkpoint at random from your folder each run.

That random pick is the feature that turns model roulette into an actual workflow. Add a filter (wildcards supported, so *realism* or *illust*) and a seed, and you can batch the same prompt across every model in a family - a genuine model A/B/C test without touching the graph between runs. This is the same testing philosophy as the pack's LF_LoraSelector, applied one level up.

The outputs

  • combo - the model object (the thing that connects to your KSampler, via CLIP/VAE wiring the same way as a checkpoint loader).
  • string - the model name as text, handy for stamping into filenames or metadata.
  • path - the full file path.
  • image - the cover image, for when you want to display it or save it alongside results.

The inputs that matter

For a beginner, honestly just checkpoint (the dropdown) and get_civitai_info. The randomization trio - randomize, filter, seed - is for when you graduate to batch model testing. filter deserves a shout-out: without it, randomize will happily include that corrupted test file you never deleted.

Installing it

Standard LF Nodes:

cd ComfyUI/custom_nodes
git clone https://github.com/lucafoscili/comfyui-lf

or ComfyUI Manager → LF Nodes → install → restart. No extra Python dependencies, no models to download. CivitAI cover fetching needs internet but no API key.

Where people get burned

  • CivitAI API wobble. get_civitai_info hits an anonymous API that rate-limits, and the platform has reshuffled its internals since this pack froze in early 2025. Covers may occasionally fail to load - the node still works, you just lose the picture. Turn the toggle off for a quieter life.
  • Randomize + no filter + a big folder = a test you didn't intend. Filter first.
  • It selects and loads the model - unlike a pure picker, wiring this into your sampler loads the full checkpoint into VRAM. That's expected, but it means the node does real work, not just bookkeeping.

If you juggle models, the visual card alone is worth it; the randomization is a bonus that starts paying off the first time you batch-test a prompt across your whole collection.

Category✨ LF Nodes/Selectors

Inputs (6)

NameTypeDefaultDescription
get_civitai_infoBOOLEANtrueAttempts to retrieve more info about the model from CivitAI.
randomizeBOOLEANfalseSelects a checkpoint randomly from your checkpoints directory.
filterSTRINGWhen randomization is active, this field can be used to filter checkpoint file names. Supports wildcards (*)
seedINT420–18446744073709550000Seed value for when randomization is active.
checkpointoptCOMBONoneCheckpoint used to generate the image.
ui_widgetoptKUL_CARD[object Object]

Outputs (4)

NameTypeDescription
combo
stringSTRING
pathSTRING
imageIMAGE