Nodes/Aaalice Image Picker/🖼️ Aaalice Image Picker
ComfyUI Node

🖼️ Aaalice Image Picker

Pick the keepers before you burn VRAM upscaling every frame

By Aaalice233·Created 26 days ago·Updated 15 days ago· 1
🖼️ Aaalice Image Picker
  • images
  • images
selection_modemultiple
timeout300
timeout_actioncancel
instructions

Generate a batch of six, eyeball them, keep the one that isn't cursed, and let the expensive stuff run only on that one. That's the whole workflow slot Aaalice Image Picker fills, and it's a slot most people don't realize they need until they've spent twenty minutes upscaling five rejects.

The name is the description: it's a IMAGEIMAGE node that pauses the workflow and opens a modal overlay in your current ComfyUI page. You click which images make it through, hit confirm, and the graph continues with just those. It's a quality gate for the expensive stages - hires upscaling, detailing, or saving - so you're not paying GPU time to refine frames you're going to delete anyway. Curating a batch is trivial in a web UI and clunky to express in a graph, which is exactly where a dedicated node earns its keep.

How it works

Under the hood it's a small client/server dance. When the node executes, it saves your batch as a temporary preview (through ComfyUI's own preview mechanism), registers a session in a server-side store, and then blocks until you confirm, cancel, or a timeout fires. The overlay lives in the ComfyUI page that started the run - no separate window, no iframe. The countdown is judged on the server's monotonic clock, so a throttled or backgrounded browser tab can't silently extend the deadline. When you confirm, the node returns the selected images in original batch order; if you cancel, empty-confirm, or let a cancel timeout run out, it raises ComfyUI's interrupt exception rather than quietly handing an empty batch downstream. First terminal state wins if confirm/cancel/timeout race.

One implementation note worth knowing: this pack is written against the newer backend node API (io.ComfyNode + io.Schema + a ComfyExtension), not the classic NODE_CLASS_MAPPINGS style. It loads fine in current ComfyUI - a missing NODE_CLASS_MAPPINGS in a modern pack means "new API," not "broken." The node is also marked non-idempotent, so every queue run forces a real pick instead of reusing a cached result. That's a feature here: you don't want a stale confirmation being replayed.

The inputs that matter

You'll actually touch three of these:

  • images (required IMAGE) - the batch to review. Feed it the output of a KSampler or any batch-producing node.
  • selection_mode - single or multiple (default multiple). Both still require an explicit confirm; a one-image batch even pre-checks itself but waits for your click anyway. No accidental auto-submit.
  • timeout / timeout_action - together they're your escape hatch. Default timeout is 300 seconds and timeout_action defaults to cancel, which means an unattended run dies when the timer expires. If you want a stopped workflow to keep going instead, set it to submit_all or submit_first.

There's also an optional instructions string input (it's force-input, so it needs a wire, not a widget): connect a multiline string node and your review criteria render as sanitized Markdown in the overlay. Useful for a shared workflow or for reminding yourself what "good" means at 2am. The single output, images, carries your picks in original batch order into whatever comes next - drop it into an upscale or detail pass.

Installing it

Easiest path is ComfyUI Manager: search "Aaalice Image Picker". Otherwise:

cd ComfyUI/custom_nodes
git clone https://github.com/Aaalice233/ComfyUI-Aaalice-Image-Picker.git

Restart ComfyUI after cloning. That's genuinely it - no Python dependencies and no CDN: the frontend ships vendored copies of marked and DOMPurify, so it works offline and won't phone home. It's MIT licensed. The pack is new and small (this node is its only one), so don't expect a huge community behind it yet - but the README is unusually thorough, which is a decent proxy for maintainer care.

The gotchas

The big one: the workflow will look frozen at this node, and that's the job. If you forgot the node is there, a five-minute timer with a cancel action will eventually interrupt the whole run - so decide your timeout_action before you walk away. Refreshing the page is fine (a reconnect with the same client ID restores a waiting session), but if you close every tab that started the run, the session can only end via its timeout. And don't expect this to render HTML or scripts in the instructions - the Markdown is allowlist-sanitized on purpose. If you've used "Image Chooser"-style nodes before, the shape will feel familiar; this one just adds the server-side deadline and a genuinely nice keyboard-driven zoom interface. For a pick-the-keeper gate, it's hard to argue with dependency-free.

CategoryAaalice/image

Inputs (5)

NameTypeDefaultDescription
imagesIMAGEThe image batch to review.
selection_modeCOMBOmultipleChoose one image or any number of images before confirming.
timeoutINT3001–86400Seconds before the server applies the timeout action.
timeout_actionCOMBOcancelAction applied by the server when the countdown expires.
instructionsoptSTRINGOptional Markdown instructions from a connected string node.

Outputs (1)

NameTypeDescription
imagesIMAGEThe selected images in original batch order.