ComfyUI Node
BD For Each Run
Iterate over N typed inputs + parallel labels, one per queue Run. Use to drive a single downstream chain (save / upscale / process) N times instead of wiring N parallel chains. Empty input slots are skipped. Labels list aligns with the WIRED (non-empty) inputs.
BD For Each Run
- input_1
- input_2
- input_3
- input_4
- input_5
- input_6
- input_7
- input_8
- input_9
- input_10
- input_11
- input_12
- input_13
- input_14
- input_15
- input_16
- data
- label
- current_index
- total_count
- is_last
- status
◄labelsalbedo
normal
roughness
metallic
ao►
◄modesequential►
◄manual_index0►
◄resetfalse►
◄workflow_iddefault►
◄label_prefix_►
Category🧠BrainDead/Prompt
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| labels | STRING | albedo normal roughness metallic ao | One label per line, aligned with the WIRED inputs (after skipping empty slots). If labels list is shorter than wired inputs, missing labels emit as empty string. |
| modeopt | COMBO | sequential | sequential: cycle one per Run. manual: pick by manual_index. single: always emit input_1. |
| manual_indexopt | INT | 00–15 | — |
| resetopt | BOOLEAN | false | Edge-triggered: when transitions False→True, the next Run starts at the first wired input. |
| workflow_idopt | STRING | default | Use distinct ids if you have multiple ForEach iterators. |
| label_prefixopt | STRING | _ | Prepended to each label in the output. Default '_' so labels become save suffixes (e.g. label='albedo' → output '_albedo'). Set empty for raw labels. |
| input_1opt | * | Input slot #1. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_2opt | * | Input slot #2. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_3opt | * | Input slot #3. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_4opt | * | Input slot #4. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_5opt | * | Input slot #5. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_6opt | * | Input slot #6. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_7opt | * | Input slot #7. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_8opt | * | Input slot #8. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_9opt | * | Input slot #9. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_10opt | * | Input slot #10. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_11opt | * | Input slot #11. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_12opt | * | Input slot #12. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_13opt | * | Input slot #13. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_14opt | * | Input slot #14. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_15opt | * | Input slot #15. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. | |
| input_16opt | * | Input slot #16. Wire any data type (IMAGE, MASK, etc.). Empty slots are skipped. |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| data | * | — |
| label | STRING | — |
| current_index | INT | — |
| total_count | INT | — |
| is_last | BOOLEAN | — |
| status | STRING | — |