Checkpoint Thumbnail Exporter
Give every checkpoint a real thumbnail — from images you actually made
If you've ever stared at a grid of 100 checkpoints in a model manager and tried to remember which one is the good Illustrious merge, you know the pain this node exists to kill. Checkpoint Thumbnail Exporter is a standalone utility that looks at the images you actually generated with each checkpoint, picks a recent representative one, and writes a small .jpg next to the model file so your manager finally has something to show.
The trigger for it: OGN-ModelManager (a ComfyUI model-management extension) reads sidecar thumbnails - a .jpg sitting right next to the .safetensors - and shows them in its UI. Without one, you get an empty slot, and there's no built-in way to fill 100 of them. This node is a one-trick pony, but that trick is "turn your own generation history into a visual checkpoint catalog without scraping Civitai."
How it works
It's deliberately filesystem-based. It reads the ComfyUI checkpoint list, checks each one for an existing sidecar thumbnail (it looks for .png, .jpg, .jpeg, .webp, .gif, .svg next to the model), and only for the ones missing a thumbnail does it scan your image folders. Matching is by name: it generates a key from each checkpoint's filename, then looks for that key in a parent folder, the filename stem, or the path of your saved images. The standard layout that just works:
inventory/
waiNSFWIllustrious_v150/image_0001.jpg
noobai_xl_vpred/image_0001.jpg
Exact folder matches beat substring matches, and if one image would match two checkpoints equally well it's skipped as ambiguous rather than guessed wrong. The representative chosen is the newest by modification time, and it keeps a stable pick stable - a cached thumbnail doesn't get swapped out just because a newer image appears. Everything goes through a disposable JSON index under your ComfyUI user folder, so it doesn't rescan your whole output tree every run.
It writes a resized .jpg next to the checkpoint (foo.safetensors → foo.jpg), shrink-only, aspect ratio preserved. Two details matter: it stamps a JPEG comment marker (cte_comment_v1) into every file it creates, and it never overwrites an existing thumbnail.
The widgets you'll touch
Only a handful exist, and three of them are defaults you can ignore.
- source_image_root - where your generated images live. Leave empty and it uses the ComfyUI output folder. Set it if you use an explicit output dir.
- max_size (default 512) - longest edge of the thumbnail; shrink only, so bigger source images get scaled down and small ones pass through.
- jpeg_quality (default 90) - quality of the JPEGs it writes.
- operation -
install_missingfills gaps;uninstall_managedremoves only the thumbnails it created. - run_mode -
dry_runvsexecute. Changing operation resets you to dry_run, and execute resets back after a run. It's a deliberate safety latch.
The one thing that trips people up: this node has no outputs and queuing it does nothing. It's a panel, not a pipeline node. You click the button inside the node - its label tells you what it'll do, like 🎨 [Dry Run] Find Missing Thumbnails - and read the report in the node body. You don't wire it to anything.
Installing it
In ComfyUI Manager, search for Checkpoint Thumbnail Exporter, or clone it manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ruminar/ComfyUI-CheckpointThumbnailExporter
Restart ComfyUI. The only dependency is Pillow, which virtually every ComfyUI install already has - no model downloads, no GraphicsMagick, nothing heavy.
Gotchas
- Everything unmatched? Check
source_image_rootfirst. The empty default is the ComfyUI output folder, so if GM Image Saver or HandpickerSuite writes to an explicit folder (or your output is a symlink/junction), the node can't see your images. - Thumbnails not appearing in OGN-ModelManager? This node only drops files where OGN already looks; reload OGN or restart ComfyUI.
- To refresh a managed thumbnail, run
uninstall_managedfirst, theninstall_missingagain - it won't overwrite, by design. The uninstaller is careful: it only deletes JPEGs carrying its exact comment marker, so your manual or OGN-uploaded thumbnails are safe, andexecutedemands a fresh dry run within 10 minutes. - One honest caveat: the source images get re-encoded to JPEG, so whatever workflow metadata was in your original PNGs is gone from the thumbnails. They're for browsing, not for rebuilding workflows.
It's a niche tool, and if you have five checkpoints you don't need it. At fifty-plus, it turns an afternoon of squinting into one dry run.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| source_image_root | STRING | Root folder containing HandpickerSuite / GM Image Saver images. Empty = ComfyUI output folder. | |
| target_format | COMBO | OGN-ModelManager | 1 options: OGN-ModelManager |
| max_size | INT | 51264–4096 | Maximum thumbnail width/height. Shrink only. |
| jpeg_quality | INT | 901–100 | JPEG quality for generated thumbnails. |
| operation | COMBO | install_missing | 2 options: install_missing, uninstall_managed |
| run_mode | COMBO | dry_run | 2 options: dry_run, execute |
Outputs (0)
No outputs