Nodes/LF Nodes/Upscale model selector
ComfyUI Node

Upscale model selector

An upscaler picker that remembers your last few and can randomize the rest

By lucafoscili·Created 2 years ago·Updated 2 years ago· 50
Upscale model selector
  • ui_widget
  • combo
  • string
enable_historytrue
randomizefalse
filter
seed42
upscale_modelNone

Picking an upscaler in ComfyUI means opening a dropdown full of model names you've half-forgotten. UpscaleModelSelector is the LF Nodes answer: a dropdown that remembers which upscalers you've used recently, shows them as a clickable history, and - the genuinely weird trick - can randomize among them for you.

Let's be clear about what it's not. This node doesn't upscale anything; it's a selector, so it picks a model name and hands it to the node that does the work. The two outputs are the giveaway: combo (typed as your upscale-model list, for nodes that want the exact enum) and string (the model name, for wiring into an UpscaleModelLoader). It enumerates everything in your upscale_models folder, so any .pt/.safetensors ESRGAN-style model you drop in shows up here.

The inputs that matter:

  • upscale_model - the dropdown; your pick.
  • enable_history (default true) - saves every model you use with its date, shown as clickable history for quick swaps.
  • randomize (default false) - picks an upscaler at random on each run.
  • filter - when randomizing, restrict the pool by wildcard (e.g. *UltraSharp*), so it only draws from the family you mean.
  • seed - controls the random pick so you can reproduce a choice.

The randomization is the part that's either a feature or a trap depending on how you use it. In the "which upscaler do I actually like?" mode, it's great for batch A/B testing - randomize across your models, look at the output grid, keep the winner. But remember the upscaling lesson the community keeps relearning: "upscaler" covers three different jobs. A 4x ESRGAN model (4x-UltraSharp, Remacri) only adds pixels - it can't invent detail - while a generative restorer is a different beast entirely. Randomizing across categories will make you compare apples to oranges. If you randomize, filter down to one family first.

Installing LF Nodes - same pack, same steps:

  • ComfyUI Manager → search "LF Nodes" → install → restart, or
  • cd ComfyUI/custom_nodes && git clone https://github.com/lucafoscili/comfyui-lf then restart.

Notes for the road. The repo is in legacy mode - frozen at its last release while development moved to lucafoscili/lf-nodes; this selector carries over unchanged. It downloads no models - it only reads your folder. One subtlety: the model list is snapshotted when the pack loads, so if you drop a new upscaler into models/upscale_models you may need to restart ComfyUI before it appears in the dropdown. And if randomization errors out with "Not found a model with the specified filter," your wildcard matched nothing - double-check the filter string.

Category✨ LF Nodes/Selectors

Inputs (6)

NameTypeDefaultDescription
enable_historyBOOLEANtrueEnables history, saving the execution value and date of the widget.
randomizeBOOLEANfalseSelects a scheduler randomly.
filterSTRINGWhen randomization is active, this field can be used to filter upscale models names. Supports wildcards (*).
seedINT420–18446744073709550000Seed value for when randomization is active.
ui_widgetoptKUL_HISTORY[object Object]
upscale_modeloptCOMBONoneUpscale model used to upscale the image.

Outputs (2)

NameTypeDescription
combo
stringSTRING