Image Feeder
Point it at a folder, get frame N as an image
- image
- image_sequence
The whole reason this node exists is that ComfyUI's built-in Load Image loads one file, and the Face Processor pack wants to work on sequences - a shot's worth of frames, or frames you've already extracted with ffmpeg. ImageFeeder is the indexable front door for that: you give it a directory and a frame number, it hands you that frame as an IMAGE and a small image_sequence DICT describing the whole folder. Then FaceFitAndRestore (sequence workflow) or FaceTracker can chew through the run in a controlled order.
It's about as simple as a node gets. It scans the directory once (and rescans only if the path changes), filters to .png/.jpg/.jpeg/.bmp/.webp, sorts the files alphabetically, and returns the frame at frame_number (0-based). The image_sequence DICT maps index → file path and records current_frame, which is what the rest of the pack reads to stay in sync.
The two inputs
directory- a plain STRING field with the absolute path to your folder of frames. It's a text box, not a folder-picker widget, so paste the full path:/home/you/framesorC:\Users\you\frames.frame_number- which frame you want, 0-based. Out of range clamps to the nearest valid index (first or last) with a warning; negative values clamp to 0.
Outputs are image (that one frame) and image_sequence (the DICT). Feed the image_sequence into FaceFitAndRestore's optional input to run a Fit/Restore pass over the whole folder.
Installing
Same shared pack - ComfyUI Manager search "Face Processor", or:
cd ComfyUI/custom_nodes
git clone https://github.com/SykkoAtHome/ComfyUI_FaceProcessor.git
restart ComfyUI, and let the pack's requirements.txt (mediapipe, dlib, pandas, cupy-cuda12x) install. This node itself only needs Pillow and torch, so it's the lightest thing in the pack - if the face dependencies are giving you grief, this one will still load.
Gotchas
- Empty or wrong directory - you get a 64×64 black image and a console warning. If your output looks like a black square, that's "no files found," not a rendering bug. Double-check the path is absolute and the files are in the supported extensions.
- Ordering is alphabetical, not numeric.
frame_10.pngsorts beforeframe_2.png. Zero-pad your extracted filenames (frame_001.png…) or your sequence will play back out of order. - It's a one-frame-at-a-time loader. If you need the whole run in a batch, the sequence workflow in FaceFitAndRestore loops over this dict internally - you don't batch by feeding
frame_numbereverywhere.
For 3 impressions on comfy.icu, ImageFeeder is the most overlooked node in this pack. It's a boring, correct little loader - and boring and correct is exactly what you want when you're trying to keep a 200-frame face edit reproducible.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| directory | STRING | — | |
| frame_number | INT | 0 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| image_sequence | DICT | — |