Batch (バッチ) とは?
Batch(バッチ)は、複数の画像を まとめて同時に処理する ための仕組みです。
List が「1 枚ずつ順番に処理する」のに対し、Batch は 1 回の実行で複数枚を一度に通す という違いがあります。
Queue / List / Batch の関係は次のようになります。
- Queue
- 同じ workflow を外側から順番に実行する
- List
- 複数の入力を 1 枚ずつ順番に処理する(逐次処理)
- Batch
- 複数枚をひとまとめにして処理する(並列処理)
動画は Batch
動画は連番画像の集合から構成されているため、
ComfyUI では 動画 = IMAGE の Batch として扱われます。
そのため、通常の Batch 操作ノードは動画にもそのまま使えますし、
逆に動画用ノードは、一般的な Batch の操作とほぼ同じ感覚で利用できます。
動画と Batch を区別して考える必要はありません。
Batch に入る画像は同じサイズである必要がある
Batch に入る画像は、すべて同じサイズ である必要があります。
幅・高さが一致しない場合は、1 枚目を基準にして後続の画像が自動でクロップされます。

上: List
下: Batch
形を揃える必要があるため、Batch では後ろの画像が切り詰められています。
並列処理の負荷(OOM の注意)
Batch は複数枚を同時に処理するため、必要なメモリ量もそのぶん増えます。
1 分の動画をそのまま image2image に流そうものなら、VRAM が足りず、あっという間に OOM(メモリ不足) です。
こういった場合は、Batch → List に変換 して 1 枚ずつ処理するのが良いでしょう。
必要なカスタムノード
基本的なものはコアノードとして用意されていますが、動画まで扱おうとすると少し厳しいです。
- 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 を読み込んだあと、1 枚ずつ処理したい場合は List に変換します。
Image Batch to Image List ノード

逆に List を Batch にまとめるノードもあります。
Image List to Image Batchノード