ede54617d1e606d854f4f47ef18420ebe182c071
ComfyUI-FilePathsFromFolder
Load file paths from a folder by extension (*.png, *.mp4, *.txt, etc.), then feed them into any ComfyUI node that accepts a path (image/video/audio/anything-from-path).
This repo is mainly for easy batch processing:
- Use it with your favorite loop/for/while node pack (pick items by index), or
- Use this repo’s simple loop node (
FilePathsForLoop) to have ComfyUI run downstream nodes once per file (list batching).
Installation
Recommended: Git clone
- Clone into
ComfyUI/custom_nodes
cd path/to/ComfyUI/custom_nodes
git clone https://github.com/RockyHong/ComfyUI-FilePathsFromFolder.git
- Restart ComfyUI
- Search nodes by name:
Load File Paths From Folder,Get File Path By Index,File Paths For Loop Start
Alternative: Manual install (ZIP)
- Download ZIP from GitHub
- Extract
- Copy folder
ComfyUI-FilePathsFromFolderintoComfyUI/custom_nodes/ - Restart ComfyUI
Integrate with external for/loop nodes (index-based)
Use this when you already have an external loop/for/while node pack and you want to drive it with “files in a folder” (by extension).
Nodes used
LoadFilePathsFromFolder: scan folder → getfilepaths/filenames/countGetPathByIndex: choose one item → getfilepath/filename(UI:Get File Path By Index)
Example workflow (external loop pack)
LoadFilePathsFromFolder(set folder path + extension)count→ your loop node “iterations” / “max” (names vary by pack)- Loop
index→GetPathByIndex.index LoadFilePathsFromFolder.filepaths+.filenames→GetPathByIndexGetPathByIndex.filepath→ your loader node (Load Image / Load Video / etc.)- Do your processing + save/export inside your external loop pack
Built-in simple for-loop node (list batching)
Use this when you want the simplest setup: FilePathsForLoop returns lists, and ComfyUI runs downstream nodes once per file via list batching. (UI: File Paths For Loop Start)
Nodes used
FilePathsForLoop: generates the per-file list outputs (current_filepath,current_index, etc.) (UI:File Paths For Loop Start)- (Optional)
FilePathsEnsureExecution: “anchors” a route so it definitely runs (useful for save/write/export routes) (UI:File Paths Loop Ensure Execution) FilePathsLoopClose: loop terminator / completion signal (UI:File Paths Loop End)
Example workflow (internal loop: once per file)
FilePathsForLoop(set folder path + extension)current_filepath→ your loader node (e.g. Load Image)- Your processing nodes
- (Optional) outputs you want to guarantee run (e.g. save/write/export nodes) →
FilePathsEnsureExecution.passthrough_1…passthrough_5 current_index→FilePathsLoopClose.current_index- (Optional)
FilePathsEnsureExecution.passthrough→FilePathsLoopClose.passthrough(this “anchors” the route so it executes)
Memory note
FilePathsForLoop uses ComfyUI list batching (OUTPUT_IS_LIST): ComfyUI may run the workflow one node at a time for all files, rather than finishing file 0 completely before starting file 1.
- What you’ll see: it may run like “load all → process all → save all”, not “load → process → save” per file.
- When this is good: if you want to run many files with the same model/settings, batching can help keep the model “warm” and avoid offload/reload each file.
- Why memory can climb: more intermediate results may stay in RAM/VRAM until later nodes run.
- Tip: if memory keeps increasing, add a “Clean VRAM” / “Clean RAM” (or similar) node after heavy steps.
- Need true one-file-at-a-time? Use an external loop/for/while node pack that runs each file start→finish before moving on.
License
MIT — see LICENSE.
Languages
Python
100%
.jpg)
.jpg)