Nodes/cg-image-picker/Preview Chooser Fabric
ComfyUI Node

Preview Chooser Fabric

Pick likes and dislikes for FABRIC

By chrisgoringe·Created 3 years ago·Updated 2 years ago· 337
Preview Chooser Fabric
  • images
  • latents
  • positive
  • negative

This is the special-purpose cousin of the Preview Chooser, built for one specific technique: FABRIC. If you're not using the Fabric custom nodes, you don't want this node - reach for the regular Preview Chooser instead. But if you are, this is what makes FABRIC's feedback loop actually usable by hand.

Quick context on what FABRIC does, because the node only makes sense against it. FABRIC is a reference-conditioning method: you feed the sampler latents you like and latents you dislike, and it steers the next generation toward the good ones and away from the bad ones, using that feedback as conditioning. It's an iterative "more like this, less like that" loop - generate a batch, mark your favorites and your rejects, feed both back in, generate again with the model nudged in the direction you want. The catch is that you need a clean way to say "these are the good ones, these are the bad ones" every round, and doing that by hand across latents is exactly the fiddly bit. That's the gap this node fills.

How it works

When the workflow pauses here, you're sorting the batch into two piles instead of one. Click an image once to mark it positive (green box). Click it again to mark it negative (red box). Click a third time to clear it. When you progress, the node splits your choices into two latent outputs - the liked set and the disliked set - and hands them to the Fabric sampler as its positive and negative reference conditioning.

The inputs and outputs are tight and specific:

  • images (required) - the batch to sort, off your VAE Decode.
  • latents (required) - the matching latents. Both are required here, unlike the plain Preview Chooser, because FABRIC works on latents and the node needs them to build its two output sets.
  • positive (output, LATENT) - the latents you liked.
  • negative (output, LATENT) - the latents you disliked.

Those two outputs wire into the Fabric nodes, not a normal sampler.

The one rule that will bite you if you skip it: you must select at least one positive and at least one negative in the first round - and, as the node currently stands, in every subsequent round too. Send an empty pile and it won't behave. (The author notes there's an upstream Fabric PR to allow one side to be empty, and the chooser already permits it - but until that lands on the Fabric side, feed both.)

Installing it

The node itself ships in cg-image-picker - Manager (search the pack title) or clone:

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

But the node is useless on its own. You'll also need the Fabric nodes (that's what consumes the positive/negative latents), and the author's example workflow additionally uses Use Everywhere nodes just to load - grab both from Manager. None of these need model downloads; they're all logic-and-UI nodes riding on whatever checkpoint you're already running.

Be honest about the state of this one

Two caveats, and they're real. First, the whole cg-image-picker pack is deprecated - the author has moved on to cg-image-filter. Second, the Fabric node specifically carries the author's own warning that it's no longer actively supported, and if it breaks it may be removed. On top of that, the restart-from-stashed-images feature "doesn't work very well" here because the downstream Fabric nodes depend on all the latents from previous rounds - it's okay, not great, in his words.

So: this is a niche tool for a niche technique, and a fragile one. If FABRIC feedback conditioning is your thing and it's working, great, enjoy it. If you're just looking to pick images out of a batch, you want the plain Preview Chooser and none of this complexity.

Categoryimage_chooser

Inputs (2)

NameTypeDefaultDescription
imagesIMAGE
latentsLATENT

Outputs (2)

NameTypeDescription
positiveLATENT
negativeLATENT