Minds · Selected Images
Minds · Selected Images
- selected_creatives
- images
The last wire
You've tested four thumbnails, the Audience picked one, and now you want to do the ordinary ComfyUI thing: upscale it, or save it, or animate it. This node is that handoff. MINDS_CREATIVES in, IMAGE out.
It's a two-line node in spirit and about fifteen in fact, and the fifteen exist because ComfyUI's IMAGE type is a batch tensor with one shape. What this node does is flatten the selected candidates' native tensors and torch.cat them along the batch dimension, so the single IMAGE you get out is a stack of your winners - ready for SaveImage, an upscale model, or anything else that eats an IMAGE.
Because it hands you native tensors, not the encoded PNGs that were uploaded, the pixels downstream are the ones you generated. That's the point of the whole native-preservation design in this pack: no generational loss between "candidate" and "saved file." A 1024×1024 render doesn't come back as a re-encoded round trip.
Deprecated in 0.2.2, as with the rest of the compatibility set - the single Audience Preferences node now emits selected_images directly as a list, no handoff node needed. If you're on the classic chain, this is still what you wire up.
The dimension rule, and why it bites
There's one real gotcha and it's structural:
shapes = {tuple(item["native"].shape[1:]) for item in selected_creatives}
if len(shapes) != 1:
raise MindsError("Selected images need matching dimensions for a ComfyUI IMAGE batch.")
Every selected image has to be the same height and width, because they're going into one tensor. Test a 1:1 and a 9:16 side by side, tie at the top, select both - and this node fails. The test worked, the selection worked, and the save path dies.
That's not a bug so much as an honest limit of IMAGE in ComfyUI, and it's the single strongest argument for the newer node's list output, which tolerates mixed dimensions. If your candidates are different aspect ratios - which is normal when you're testing crops - that's the path to take.
The other rule: native images only. If the selection includes a hosted URL asset or a text concept, this node refuses with "Selected Images requires native generated image candidates." Those are real candidates in the ranking and real entries in selected_creatives; they just have no tensor to hand you.
Inputs and outputs
selected_creatives - from Minds · Select Creatives. That's the only input, and it should be that node's output specifically, not a candidate node's - the fingerprint check happens upstream, so wiring a raw candidate bundle in will look fine here and be wrong in the result you read.
images - the IMAGE output. Wire it into SaveImage, an upscaler, or an animation node. Given a multi-image selection you get a batch, so a batch-saving node writes them all.
Sensible next steps: upscale the winner before delivery, or feed it to whatever comes next in your pipeline - this is deliberately just a type handoff, so the choice is yours. The pack's own template goes straight to SaveImage.
Install
Manager → search comfyui-minds (publisher minds), or:
cd ComfyUI/custom_nodes
git clone https://github.com/minds-ai-co/ComfyUI-Minds
cd ComfyUI-Minds && pip install -r requirements.txt
Restart with MINDS_API_KEY in the server environment. requests and Pillow are the only dependencies - no models, nothing to download. This particular node makes no network call at all; it's pure tensor plumbing over media you already have in memory.
Common issues
"Selected images need matching dimensions for a ComfyUI IMAGE batch." Mixed sizes in the shortlist. Re-select with top_k=1, generate at one resolution, or use the newer node's selected_images list output.
"Selected Images requires native generated image candidates." A hosted asset or text concept won the selection. Re-run without it, or accept the ranking without the media handoff.
Black or empty output. Almost always an upstream problem, not this node - you're passing tensors straight through. If the candidate images were decoded wrong, they were decoded wrong before the test started.
Nothing executes downstream. Check whether the research actually completed. Failed, cancelled and media-incomplete runs select nothing, and every node past this one stays blocked until there's something real on the wire.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| selected_creatives | MINDS_CREATIVES | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |