EA List Videos
Turn a folder of clips into a JSON manifest ComfyUI can index
- manifest_json
- count
Batch workflows have a chicken-and-egg problem: you want to process a folder of videos, but ComfyUI has no native "give me all the files here" node. EA List Videos is that node. Point it at a directory and it returns a JSON array of every matching video file plus a count - the manifest you can feed to the pack's EA Manifest Pick to walk through clips one at a time.
It's deliberately dumb in the good way: it lists files, it doesn't load them. Loading is EA Video Load's job, and keeping the two separate is what makes the batch loop clean.
The inputs
root_dir- the folder to scan. The web UI swaps the text box for ComfyUI's native folder picker when it's available, so you can browse instead of typing absolute paths.patterns(default*.mp4;*.mov;*.mkv;*.webm;*.avi) - semicolon-separated glob patterns. Add*.gifor*.m4vif you have stragglers; the defaults cover the common local-video formats.recursive(default on) - whether to descend into subfolders. Turn it off when you have nested junk and want a flat list.sort(default on) - sorts the manifest alphabetically, which makes indices stable across runs. Leave it on; unsorted output changes order between runs and will drive you mad.
The outputs
manifest_json is a JSON array of full paths (the same thing you'd hand to any tool that consumes JSON). count is just the number of files, handy for wiring into a loop end-condition or a text display.
The intended loop: List Videos → EA Manifest Pick (give it the manifest_json and an index) → it hands you a fullpath → EA Video Load takes that path and gives you frames. Drive the index from a counter or a loop node and you've got a batch processor with maybe six nodes total.
Gotchas
Empty or missing folders don't error - you get an empty array and a count of 0. That's fine for scripting but easy to mistake for a bug when you typo a path; double-check root_dir if count is suspiciously zero. And note the outputs are a string of JSON, not a ComfyUI list - the sibling Manifest Pick node knows how to parse it, and that's the supported path. Don't try to feed manifest_json into a generic list node expecting it to work.
Install
Part of comfyui-ea-nodes: ComfyUI Manager → search comfyui-ea-nodes, or git clone https://github.com/ExoticArts/comfyui-ea-nodes into custom_nodes/, restart, hard-refresh. No extra Python dependencies - the pack's requirements.txt is empty.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| root_dir | STRING | — | |
| patternsopt | STRING | *.mp4;*.mov;*.mkv;*.webm;*.avi | — |
| recursiveopt | BOOLEAN | true | — |
| sortopt | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| manifest_json | STRING | — |
| count | INT | — |