Nodes/cg-image-picker/Simple Chooser
ComfyUI Node

Simple Chooser

The no-frills pause-and-pick node

By chrisgoringe·Created 3 years ago·Updated 2 years ago· 337
Simple Chooser
  • images
  • latents
  • images
  • latents

Simple Chooser is exactly what the name promises: the stripped-down version of the Image Chooser idea. Your workflow generates a batch, execution pauses on this node, you click the image (or images) you want, and only those carry on. No mode dropdown, no mask routing, no seg handling - just pause, pick, pass. If Preview Chooser is the full dashboard, this is the single button.

The reason you'd want a node like this at all: it turns a batch generation into a human-in-the-loop decision instead of a fire-and-forget one. Say you're testing prompts and generating four variations. Without a chooser, all four march through whatever comes next - upscale, detailer, save - and you burn GPU time refining three you were never going to keep. Drop a Simple Chooser in front of the expensive part and the run waits for you. You look at the batch, click the keeper, and only that one gets the expensive treatment. This author's Image Chooser nodes became a staple in serious community workflows for exactly this reason: they're the cheapest way to stop wasting compute on rejects.

How it works

When the run reaches this node, ComfyUI stops and displays the incoming images on the node itself. You click to select (selected images get a green box), then progress your selection, and the chosen images flow out. It's genuinely interactive - the graph is waiting on you, not polling a value you set beforehand.

The inputs and outputs are minimal, which is the whole point:

  • images (required) - the batch you want to choose from, almost always straight off a VAE Decode.
  • latents (optional) - if you're working in latent space, wire the matching latents in here too. The node passes them out in the same order you selected the images, which keeps your latent path lined up with your image path. The author's standing advice across these nodes is to route latents through the chooser rather than around it - execution order and reliability are better when you do.

Outputs are just images and latents - the selection, in click order. That's it. Wire images into your save or upscale chain and latents into whatever comes next if you're staying in latent space.

When to reach for this one vs. Preview Chooser

Honestly? If you're not sure, use Preview Chooser instead. It does everything this does plus the useful modes (Repeat last selection, Only pause if batch, Progress first pick) and mask/seg passthrough. Simple Chooser earns its place when you want the absolute minimum node in the graph and none of the extra widgets - a clean single-purpose gate with nothing to misconfigure. That's a real preference some people have; it's just a narrower one.

Installing it

There's nothing to download - no model files, no chunky Python dependencies. It's a UI node. Grab the pack in ComfyUI Manager by searching cg-image-picker, or clone it:

cd ComfyUI/custom_nodes
git clone https://github.com/chrisgoringe/cg-image-picker.git

Restart ComfyUI and it shows up under image_chooser.

Gotchas

The one that catches everyone is a ComfyUI quirk, not a node bug: you can't change other widget values while the workflow is paused. ComfyUI ships every widget value to the server when the run starts, so any slider you nudge during the pause gets ignored on that run. The chooser is the exception - it talks to the server directly when you press go - but that's it. If your plan was "look at the images, then decide a downstream setting," that won't work; generate, pick, and adjust on a re-run instead.

And the standing caveat for the whole pack: it's deprecated. The author folded this functionality (and more) into cg-image-filter. Simple Chooser still runs, but if you're building something new, the newer pack is where the maintenance is going.

Categoryimage_chooser

Inputs (2)

NameTypeDefaultDescription
imagesIMAGE
latentsoptLATENT

Outputs (2)

NameTypeDescription
imagesIMAGE
latentsLATENT