⚡ Gigachad Prompt File Reader
Point it at a .txt file and it steps through your prompts automatically — the batch-workflow workhorse
- prompt
- index
- total
- filename
- remaining
Gigachad Prompt File Reader is the pack's batch-workflow node: instead of typing a prompt into the graph, you point it at a .txt file on disk and it feeds one prompt at a time into your pipeline. Combined with its auto_queue toggle, it turns a single-click workflow into a "press queue once, walk away, get N images" machine. If you've ever run the same workflow across a prompt library by hand-editing text and clicking queue forty times, this is aimed straight at you.
How it works
The node reads prompts separated by blank lines from either a single .txt file (single_file mode) or every .txt file in a folder, in order (batch_folder mode). It keeps per-node state keyed by the node's ID, so your position in the list survives between runs and even across saves.
Each execution it hands back:
prompt(STRING) - the current prompt, ready to wire into a prompt-encoding nodeindex(INT) - which prompt you're on (0-based)total(INT) - how many prompts are loadedfilename(STRING) - which file it came from (handy in folder mode)remaining(INT) - how many are left
The five outputs make it trivial to drive other nodes: save filenames with your images, skip ahead, or stop at a target count.
The settings that matter
mode-single_fileorbatch_folder. Folder mode is the one for prompt libraries organized as one prompt per file.index_mode-sequential(step through one per run),random(grab one at random each run), orfixed(always the prompt atfixed_index). Random is great for variety runs on a dataset you want to sample from.loop- when sequential hits the end, wrap back to 0 (default on).reload_each_run- re-read the file every execution so edits are picked up without restarting ComfyUI. Leave it off for speed; turn it on when you're actively editing.auto_queue- the big one. Re-queues after each run so it steps through the whole list without you touching the Queue button. Stops at the last prompt unlessloopis on.
Two real-world gotchas
Paths get quote-stripped automatically (the code scrubs stray " and ' you might paste from Explorer), but a fully empty path raises an error telling you to set it. And remember it's blank-line separated - a file where every prompt is on consecutive lines with no blank separators will read as one giant prompt, which is the single most common "why is this broken" report. Use a blank line between prompts.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Winnougan/comfyui-gigachad.git
or search comfyui-gigachad in ComfyUI Manager and restart. No extra dependencies.
Verdict: for anyone running prompt sweeps, seed testing, or a personal prompt library, this is the most practically useful node in the whole pack - a genuine time-saver that works exactly as advertised. The only thing it doesn't do is randomize seeds for you; wire a seed node to a random source if that's part of your sweep.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | single_file | single_file: read one .txt containing one or more prompts separated by blank lines. batch_folder: read all .txt files in a folder in order. |
| path | STRING | single_file: full path to the .txt file, e.g. C:/prompts/myprompts.txt batch_folder: path to the folder, e.g. C:/prompts/batch/ | |
| index_mode | COMBO | sequential | sequential: step through prompts one by one each run. random: pick a random prompt each run. fixed: always use the prompt at 'fixed_index'. |
| fixed_index | INT | 00–99999 | Which prompt to use when index_mode='fixed'. |
| loop | BOOLEAN | true | When sequential reaches the last prompt, loop back to 0 or stay. |
| reload_each_run | BOOLEAN | false | When ON, re-reads the file(s) every execution so edits to your .txt are picked up without restarting ComfyUI. |
| auto_queue | BOOLEAN | false | When ON, automatically re-queues after each run to step through all prompts without clicking Queue repeatedly. Stops when the last prompt is reached (unless loop is ON). |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |
| index | INT | — |
| total | INT | — |
| filename | STRING | — |
| remaining | INT | — |