Extensions/ComfyUI-Batch-Process
ComfyUI Extension

ComfyUI-Batch-Process

A collection of nodes for batch processing texts and images in ComfyUI

By Zar4X·Created about a year ago·Updated 11 days ago· 16
Zar4X/ComfyUI-Batch-Process
Nodes14
On cloudLocal install
CategoryBatch Process, Batch Process/Mask
Stars16
Updated11 days ago
Readme

ComfyUI Batch Process

A collection of ComfyUI nodes for batch processing text, images, videos, LoRAs, masks, and 3D models.

Installation

Clone the repository into the ComfyUI custom_nodes directory:

cd ComfyUI/custom_nodes
git clone https://github.com/Zar4X/ComfyUI-Batch-Process.git batch-process
pip install -r batch-process/requirements.txt

Restart ComfyUI after installing or updating the package.

Nodes Overview

TXT Batch Loader

Loads UTF-8 TXT files with filename/content filtering, natural sorting, index ranges, incremental loading, seeded random selection, and reset control.

Outputs: text content and filename without the extension.

Text Modify Tool

Searches, replaces, or removes complete text, filename prefixes, or filename suffixes using a custom or automatically detected delimiter.

Image Batch Loader

Loads PNG, JPG/JPEG, WebP, BMP, and GIF files with filtering, natural sorting, recursive search, index ranges, and sequential/random modes.

Outputs: selected image, filename, image count, combined image batch, and image list.

Images with different resolutions are center-padded with black borders for the combined batch. The image list retains individual dimensions.

Image Batch Saver

Saves images and optional TXT captions with configurable output paths, prefixes, suffixes, delimiters, counters, formats, workflow metadata, frame ranges, and animation frame appending.

Video Batch Saver

Saves ComfyUI video objects and optional TXT captions with configurable paths, naming, containers, codecs, counters, and workflow metadata.

LoRA Batch Loader

Loads .safetensors, .ckpt, .pt, and .bin LoRAs with filename filtering, incremental/random modes, and separate model/CLIP strengths.

Outputs: patched model, patched CLIP, and selected filename.

Any Batch Group

Combines compatible values into a batch. Supports image tensors, tensor lists, latents, strings, numbers, MESH, and File3D objects. Different image sizes are center-padded automatically.

Asset Filter

Filters out stale asset slots that ComfyUI keeps from previous runs. Each slot is traced upstream to its source filename: changed names pass, unchanged names are dropped. The first run falls back to the freshness_hours (default 24) mtime window, a pure re-run reuses the previous selection, and if everything would be dropped all slots pass as a fallback. Inputs grow as you connect them, capped at 9 images / 3 videos, with image slots grouped above video slots.

Outputs: image_0..image_8, video_0..video_2, image_count, video_count. Indices are 0-based so they line up one-to-one with MiniMax H3 (image_0 -> ref_image_0). Outputs mirror inputs positionally and each carries a single asset at its original resolution (no batching, no padding); filtered or unconnected slots emit None. Wire every output into a reference consumer once and leave it wired — it skips None and runs once with the survivors. Consumers that do not tolerate None (PreviewImage, SaveImage) would crash; feed those from a slot you know is populated.

3D Model Batch Saver

Saves MESH, File3D, supported file paths, and lists of 3D models. MESH is written as GLB; file-based models retain their original format.

3D Model Batch Preview

Creates ComfyUI 3D previews for individual models or model batches.

Mask Nodes

  • Mask From Batch: selects a range from a mask batch
  • Mask Repeat Batch: repeats masks along the batch dimension
  • Mask Batch Copy: creates two independent mask copies
  • Mask Batch Composite: concatenates two mask batches

Runtime TXT Filename Templates

ComfyUI normally resolves filename placeholders from input widgets only. This package also supports the runtime filename output from TXT Batch Loader.

Example Save Image prefix:

D_%TXTBatchLoader.filename%_%EasySeed.seed%

For forest_scene.txt and seed 197152849854180, the resolved prefix is:

D_forest_scene_197152849854180

The node name may be the class type (TXTBatchLoader), the display name, the workflow title, or the node's Node name for S&R value — for example %Text Source.filename%. The placeholder resolves when the loader runs in the same prompt as the saver; if ComfyUI reuses the loader's cached output instead, the most recently recorded filename is used.

Common Index Rules

  • start_index = 0: start from the beginning
  • end_index = 0: continue to the final item
  • Positive start/end values are 1-based; the end is inclusive
  • Toggle reset_on_queue to restart an incremental loader from its first filtered item

Requirements

  • ComfyUI
  • Pillow 10 or newer
  • PyTorch 2.0 or newer
  • Codecs required by the selected video format

Current package version: 1.2.1