什么是 Batch (批次)?
Batch(批次)是用于 汇总并同时处理 多张图像的机制。 与 List“逐张按顺序处理”不同,Batch 的区别在于 一次执行就能让多张图像一次性通过。
Queue / List / Batch 的关系如下。
- Queue
- 从外部按顺序执行同一个 工作流
- List
- 逐个按顺序处理多个输入(串行处理)
- Batch
- 将多张图像汇总处理(并行处理)
视频就是 Batch
由于视频是由一系列连续编号的图像构成的,因此在 ComfyUI 中,视频 = IMAGE 的 Batch 来处理。
因此,常规的 Batch 操作节点可以直接用于视频,反之视频用节点也可以像一般的 Batch 操作一样使用。 没有必要区分视频和 Batch。
进入 Batch 的图像必须尺寸相同
进入 Batch 的图像,必须全部是相同尺寸。 如果长宽不一致,会以第 1 张为基准,后续的图像会被自动裁剪。

上: List 下: Batch 因为需要统一形状,所以 Batch 中后面的图像被裁剪了。
并行处理的负载(OOM 的注意)
由于 Batch 会同时处理多张图像,因此所需的内存量也会相应增加。 如果直接把 1 分钟的视频放入 image2image,VRAM 会不足,瞬间就会 OOM(内存不足)。
这种情况下,最好 转换为 Batch → List,通过逐张处理来解决。
必要的自定义节点
虽然核心节点中已经准备了基本的,但想处理视频的话还是有点勉强。
- ltdrdata/ComfyUI-Impact-Pack
- ltdrdata/ComfyUI-Inspire-Pack
- kijai/ComfyUI-KJNodes
- Kosinkadink/ComfyUI-VideoHelperSuite
制作 Batch
Batch Images 节点
将多个 IMAGE 汇总为 Batch。
- 每次连接增加时都会添加插槽,可以汇总任意数量。
Load Image Batch From Dir (Inspire) / Load Images (Path) 节点
将文件夹内的图像作为 Batch 汇总。

- Inspire 节点可以排序
- VHS 节点有“每 N 张输出”等附加功能
操作 Batch
Reverse Image Batch 节点
颠倒 Batch 的顺序。 可用于视频的倒放等。

RepeatImageBatch 节点
将整个 Batch 重复指定次数。
ImageBatchRepeatInterleaving 节点
将各帧重复指定次数。

上: RepeatImageBatch 下: ImageBatchRepeatInterleaving
从 Batch 中取出
ImageFromBatch 节点
从 Batch 中取出任意位置的图像。

batch_index: 取出位置(从 0 开始)length: Batch 的张数
Get Image or Mask Range From Batch 节点
批量取出一定范围的图像(或蒙版)。
Select Every Nth Image 节点(Video Helper Suite)
每隔 N 张获取帧。

select_every_nth: 取出间隔skip_first_images: 跳过开头的张数
Batch ↔ List 的转换
读取视频或 Batch 后,如果想逐张处理,就转换为 List。
Image Batch to Image List 节点

反之也有将 List 汇总为 Batch 的节点。
Image List to Image Batch节点