ImageListSelect(FaceParsing)
Pull one image out of a batch by index
- images
- IMAGE
A plain, small utility: given a batch or list of images, grab the one at a specific index. In this pack it shows up most often right after ImageCropWithBBoxList, which crops every detected face into one combined output - if you then need to work on one specific face individually (different processing settings, a preview of just that one, whatever), this is how you pull it back out.
The inputs that matter
- images (IMAGE) - required, the batch or list you're selecting from.
- index (INT, default 0, min 0) - which image to pull, zero-indexed.
The output is a single IMAGE - just the one at the given index.
Where it fits
Think of it as the image-side equivalent of BBoxListItemSelect (which does the same job for a list of boxes). The two often get used together in a per-face loop: BBoxListItemSelect pulls face N's box, ImageListSelect pulls face N's already-cropped image, or you use one after ImageCropWithBBoxList to split a batch crop back into individual faces for separate handling.
Installing it
Comes with the whole pack:
- ComfyUI Manager - search "comfyui_face_parsing", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/Ryuukeisyou/comfyui_face_parsing.git, restart ComfyUI.
No dependencies beyond the pack itself.
Common issues
The only real failure mode is asking for an index that doesn't exist in the batch - index 3 when only two images came through. There's no bounds protection built in, so if your workflow needs to handle a variable number of detected faces per input image, check the actual count (the count output from BBoxDetect is the natural source of truth) before assuming a given index is valid, rather than hardcoding an index that happens to work on your test image but breaks on the next one.
It's also worth being deliberate about when you actually need this node versus just letting a batch flow through as-is. If every face in the image is getting the same treatment - same mask settings, same smoothing amount - there's no reason to split them out at all; just run FaceParse and the rest of the chain on the whole batch together and let it composite back in one pass. Reach for ImageListSelect specifically when face-by-face decisions genuinely differ, not as a default first move in every multi-face workflow.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| index | INT | 0 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |