What is Batch?
Batch is a mechanism to process multiple images simultaneously. While List "processes one by one sequentially", Batch differs in that it passes multiple images at once in a single execution.
The relationship between Queue / List / Batch is as follows:
- Queue
- Executes the same workflow sequentially from the outside
- List
- Processes multiple inputs one by one sequentially (Sequential processing)
- Batch
- Processes multiple images collectively (Parallel processing)
Video is Batch
Since a video consists of a collection of sequential images, ComfyUI treats Video = Batch of IMAGE.
Therefore, normal Batch operation nodes can be used for videos as they are, and conversely, video nodes can be used with almost the same feeling as general Batch operations. There is no need to distinguish between Video and Batch.
Images in Batch must be the same size
Images entering a Batch must all be the same size. If the width/height do not match, subsequent images are automatically cropped based on the first one.

{
"id": "ba2ad549-90e5-4928-91a9-838f62faaf9b",
"revision": 0,
"last_node_id": 8,
"last_link_id": 8,
"nodes": [
{
"id": 3,
"type": "LoadImage",
"pos": [
470.12200360449634,
-270
],
"size": [
335.64547880981644,
458.2099361064978
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
1,
4
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.75",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"pasted/image (38).png",
"image"
]
},
{
"id": 6,
"type": "PreviewImage",
"pos": [
1220.681461659835,
-136.54694942555741
],
"size": [
531.8183964013544,
582.297571000353
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 7
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.75",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 1,
"type": "LoadImage",
"pos": [
362.8584147649525,
257.4072522034403
],
"size": [
442.9090676493603,
348.64453542168144
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2,
5
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.75",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"pasted/image (36).png",
"image"
]
},
{
"id": 2,
"type": "LoadImage",
"pos": [
561.8919629449949,
680
],
"size": [
243.87551946931785,
495.15628337345174
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
3,
6
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.75",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"pasted/image (37).png",
"image"
]
},
{
"id": 4,
"type": "ImpactMakeImageList",
"pos": [
958.4808813380901,
233.92279489924226
],
"size": [
181.63769510352577,
88.44208248160515
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image1",
"shape": 7,
"type": "IMAGE",
"link": 1
},
{
"name": "image2",
"type": "IMAGE",
"link": 2
},
{
"name": "image3",
"type": "IMAGE",
"link": 3
},
{
"name": "image4",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"shape": 6,
"type": "IMAGE",
"links": [
7
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactMakeImageList"
}
},
{
"id": 5,
"type": "ImpactMakeImageBatch",
"pos": [
958.4808813380901,
515.5703816480251
],
"size": [
185.11459509789339,
86
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "image1",
"shape": 7,
"type": "IMAGE",
"link": 4
},
{
"name": "image2",
"type": "IMAGE",
"link": 5
},
{
"name": "image3",
"type": "IMAGE",
"link": 6
},
{
"name": "image4",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
8
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactMakeImageBatch"
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 7,
"type": "PreviewImage",
"pos": [
1220.681461659835,
515.5703816480251
],
"size": [
528.0256750817534,
530.0647321425793
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 8
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.75",
"Node name for S&R": "PreviewImage"
},
"widgets_values": [],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
1,
3,
0,
4,
0,
"IMAGE"
],
[
2,
1,
0,
4,
1,
"IMAGE"
],
[
3,
2,
0,
4,
2,
"IMAGE"
],
[
4,
3,
0,
5,
0,
"IMAGE"
],
[
5,
1,
0,
5,
1,
"IMAGE"
],
[
6,
2,
0,
5,
2,
"IMAGE"
],
[
7,
4,
0,
6,
0,
"IMAGE"
],
[
8,
5,
0,
7,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.630394086312858,
"offset": [
-262.8584147649525,
370
]
},
"frontendVersion": "1.34.0",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
Top: List Bottom: Batch Since shapes need to be aligned, images in the back are truncated in Batch.
Load of Parallel Processing (Note on OOM)
Since Batch processes multiple images simultaneously, the required memory amount increases accordingly. For example, if you flow a 1-minute video directly into image2image, VRAM is likely to be insufficient and cause OOM (Out Of Memory).
In such cases, it is safe to convert Batch → List and process one by one.
Required Custom Nodes
Basic ones are provided as core nodes, but it is a bit tough when trying to handle videos.
- ltdrdata/ComfyUI-Impact-Pack
- ltdrdata/ComfyUI-Inspire-Pack
- kijai/ComfyUI-KJNodes
- Kosinkadink/ComfyUI-VideoHelperSuite
Creating a Batch
Batch Images Node
Groups two IMAGEs into a Batch.

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 21,
"last_link_id": 21,
"nodes": [
{
"id": 1,
"type": "LoadImage",
"pos": [
437.0238029390012,
281.45517150102967
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
15
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"A.png",
"image"
]
},
{
"id": 4,
"type": "LoadImage",
"pos": [
673.6492743455647,
377.2625981314576
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2,
7,
16
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"B.png",
"image"
]
},
{
"id": 3,
"type": "LoadImage",
"pos": [
910.2747457521282,
473.0700247618855
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
19
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"C.png",
"image"
]
},
{
"id": 21,
"type": "ImageBatch",
"pos": [
1158.474612025215,
281.45517150102967
],
"size": [
160.40644154360825,
46
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "image1",
"type": "IMAGE",
"link": 20
},
{
"name": "image2",
"type": "IMAGE",
"link": 19
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
21
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "ImageBatch"
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 9,
"type": "PreviewImage",
"pos": [
1391.2978517395427,
281.45517150102967
],
"size": [
422.9744601491934,
466.20921868865173
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 21
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 20,
"type": "ImageBatch",
"pos": [
925.6513723108875,
281.45517150102967
],
"size": [
160.40644154360825,
46
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image1",
"type": "IMAGE",
"link": 15
},
{
"name": "image2",
"type": "IMAGE",
"link": 16
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
20
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "ImageBatch"
},
"widgets_values": [],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
2,
4,
0,
2,
0,
"IMAGE"
],
[
7,
4,
0,
7,
0,
"IMAGE"
],
[
15,
1,
0,
20,
0,
"IMAGE"
],
[
16,
4,
0,
20,
1,
"IMAGE"
],
[
19,
3,
0,
21,
1,
"IMAGE"
],
[
20,
20,
0,
21,
0,
"IMAGE"
],
[
21,
21,
0,
9,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.9310785498489509,
"offset": [
-337.0238029390012,
-181.45517150102967
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- You can make a Batch of any number of images by increasing nodes, but for 3 or more, it is more practical to use the node below.
Make Image Batch Node

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 22,
"last_link_id": 27,
"nodes": [
{
"id": 9,
"type": "PreviewImage",
"pos": [
1391.2978517395427,
281.45517150102967
],
"size": [
422.9744601491934,
466.20921868865173
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 27
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 1,
"type": "LoadImage",
"pos": [
437.0238029390012,
281.45517150102967
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
24
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"A.png",
"image"
]
},
{
"id": 4,
"type": "LoadImage",
"pos": [
673.6492743455647,
377.2625981314576
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2,
7,
25
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"B.png",
"image"
]
},
{
"id": 3,
"type": "LoadImage",
"pos": [
910.2747457521282,
473.0700247618855
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
26
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"C.png",
"image"
]
},
{
"id": 22,
"type": "ImpactMakeImageBatch",
"pos": [
1160.7996273572849,
281.45517150102967
],
"size": [
185.62226026920635,
86
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image1",
"shape": 7,
"type": "IMAGE",
"link": 24
},
{
"name": "image2",
"type": "IMAGE",
"link": 25
},
{
"name": "image3",
"type": "IMAGE",
"link": 26
},
{
"name": "image4",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
27
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactMakeImageBatch"
},
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
2,
4,
0,
2,
0,
"IMAGE"
],
[
7,
4,
0,
7,
0,
"IMAGE"
],
[
24,
1,
0,
22,
0,
"IMAGE"
],
[
25,
4,
0,
22,
1,
"IMAGE"
],
[
26,
3,
0,
22,
2,
"IMAGE"
],
[
27,
22,
0,
9,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.9310785498489509,
"offset": [
-337.0238029390012,
-181.45517150102967
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- Slots are added every time connection increases, allowing you to group any number of images.
- Once connected, it is fixed to that data type. If you want to change to another data type, use Fix node (recreate) or place a new node.
Load Image Batch From Dir (Inspire) / Load Images (Path) Node
Groups images in a folder into a Batch.

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 24,
"last_link_id": 30,
"nodes": [
{
"id": 9,
"type": "PreviewImage",
"pos": [
1029.1478669725964,
253.0512511271517
],
"size": [
422.9744601491934,
466.20921868865173
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 30
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 24,
"type": "VHS_LoadImagesPath",
"pos": [
664.0692493724947,
518.9129093127292
],
"size": [
292.45143808418436,
456.45143808418436
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "meta_batch",
"shape": 7,
"type": "VHS_BatchManager",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": []
},
{
"name": "MASK",
"type": "MASK",
"links": null
},
{
"name": "frame_count",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "8923bd836bdab8b7bbdf4ed104b7d045e70c66e2",
"Node name for S&R": "VHS_LoadImagesPath"
},
"widgets_values": {
"directory": "E:\\working\\Vivi",
"image_load_cap": 0,
"skip_first_images": 0,
"select_every_nth": 1,
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"image_load_cap": 0,
"skip_first_images": 0,
"select_every_nth": 1,
"filename": "E:\\working\\Vivi",
"type": "path",
"format": "folder"
}
}
},
"color": "#232",
"bgcolor": "#353"
},
{
"id": 23,
"type": "LoadImagesFromDir //Inspire",
"pos": [
664.0692493724947,
251.39556483364825
],
"size": [
292.833435651327,
194
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
30
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
},
{
"name": "INT",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-inspire-pack",
"ver": "1.23.0",
"Node name for S&R": "LoadImagesFromDir //Inspire"
},
"widgets_values": [
"E:\\working\\Vivi",
0,
0,
true,
"None"
],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
30,
23,
0,
9,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1,
"offset": [
-564.0692493724947,
-151.39556483364825
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
- Inspire node can sort
- VHS node has additional functions such as "Output every N images"
Operating Batch
Reverse Image Batch Node
Reverses the order of the Batch. Can be used for reverse playback of videos, etc.

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 26,
"last_link_id": 29,
"nodes": [
{
"id": 1,
"type": "LoadImage",
"pos": [
437.0238029390012,
281.45517150102967
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
24
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"A.png",
"image"
]
},
{
"id": 4,
"type": "LoadImage",
"pos": [
673.6492743455647,
377.2625981314576
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2,
7,
25
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"B.png",
"image"
]
},
{
"id": 3,
"type": "LoadImage",
"pos": [
910.2747457521282,
473.0700247618855
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
26
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"C.png",
"image"
]
},
{
"id": 22,
"type": "ImpactMakeImageBatch",
"pos": [
1160.7996273572849,
281.45517150102967
],
"size": [
185.62226026920635,
86
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image1",
"shape": 7,
"type": "IMAGE",
"link": 24
},
{
"name": "image2",
"type": "IMAGE",
"link": 25
},
{
"name": "image3",
"type": "IMAGE",
"link": 26
},
{
"name": "image4",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
27,
28
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactMakeImageBatch"
},
"widgets_values": []
},
{
"id": 9,
"type": "PreviewImage",
"pos": [
1385.927735543855,
404.2965794773552
],
"size": [
210,
433.98852151453366
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 27
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 26,
"type": "PreviewImage",
"pos": [
1637.8569946600876,
281.45517150102967
],
"size": [
217.51816267396066,
559.649240493594
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 29
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 25,
"type": "ReverseImageBatch",
"pos": [
1390.8748200060702,
281.45517150102967
],
"size": [
202.52924227443842,
26
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 28
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
29
]
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "4dfb85dcc52e4315c33170d97bb987baa46d128b",
"Node name for S&R": "ReverseImageBatch"
},
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
2,
4,
0,
2,
0,
"IMAGE"
],
[
7,
4,
0,
7,
0,
"IMAGE"
],
[
24,
1,
0,
22,
0,
"IMAGE"
],
[
25,
4,
0,
22,
1,
"IMAGE"
],
[
26,
3,
0,
22,
2,
"IMAGE"
],
[
27,
22,
0,
9,
0,
"IMAGE"
],
[
28,
22,
0,
25,
0,
"IMAGE"
],
[
29,
25,
0,
26,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1.2392655498489553,
"offset": [
-337.0238029390012,
-181.45517150102967
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
RepeatImageBatch Node
Repeats the entire Batch a specified number of times.
ImageBatchRepeatInterleaving Node
Repeats each frame a specified number of times.

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 29,
"last_link_id": 33,
"nodes": [
{
"id": 9,
"type": "PreviewImage",
"pos": [
1305.354512143779,
513.4603015032661
],
"size": [
1161.4605890107348,
258
],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 31
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 29,
"type": "PreviewImage",
"pos": [
1304.9908297632537,
833.182791747073
],
"size": [
1163.5208584988297,
258
],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 33
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 4,
"type": "LoadImage",
"pos": [
471.39254659139357,
648.6199396156832
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2,
7,
25
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"B.png",
"image"
]
},
{
"id": 3,
"type": "LoadImage",
"pos": [
471.39254659139357,
1011.4886147737874
],
"size": [
214.080078125,
314.0000000000001
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
26
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"C.png",
"image"
]
},
{
"id": 22,
"type": "ImpactMakeImageBatch",
"pos": [
773.3983709772352,
724.6079002014566
],
"size": [
185.62226026920635,
86
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image1",
"shape": 7,
"type": "IMAGE",
"link": 24
},
{
"name": "image2",
"type": "IMAGE",
"link": 25
},
{
"name": "image3",
"type": "IMAGE",
"link": 26
},
{
"name": "image4",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
30,
32
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactMakeImageBatch"
},
"widgets_values": []
},
{
"id": 1,
"type": "LoadImage",
"pos": [
471.39254659139357,
285.7512644575787
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
24
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"A.png",
"image"
]
},
{
"id": 27,
"type": "RepeatImageBatch",
"pos": [
1012.4224669640521,
513.4603015032661
],
"size": [
210,
58
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 30
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
31
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "RepeatImageBatch"
},
"widgets_values": [
3
],
"color": "#432",
"bgcolor": "#653"
},
{
"id": 28,
"type": "ImageBatchRepeatInterleaving",
"pos": [
1012.4224669640521,
827.5654410675616
],
"size": [
272.36689177371625,
78
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 32
},
{
"name": "mask",
"shape": 7,
"type": "MASK",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
33
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-kjnodes",
"ver": "4dfb85dcc52e4315c33170d97bb987baa46d128b",
"Node name for S&R": "ImageBatchRepeatInterleaving"
},
"widgets_values": [
3
],
"color": "#323",
"bgcolor": "#535"
}
],
"links": [
[
2,
4,
0,
2,
0,
"IMAGE"
],
[
7,
4,
0,
7,
0,
"IMAGE"
],
[
24,
1,
0,
22,
0,
"IMAGE"
],
[
25,
4,
0,
22,
1,
"IMAGE"
],
[
26,
3,
0,
22,
2,
"IMAGE"
],
[
30,
22,
0,
27,
0,
"IMAGE"
],
[
31,
27,
0,
9,
0,
"IMAGE"
],
[
32,
22,
0,
28,
0,
"IMAGE"
],
[
33,
28,
0,
29,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.6995330953034977,
"offset": [
-371.39254659139357,
-185.7512644575787
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
Top: RepeatImageBatch Bottom: ImageBatchRepeatInterleaving
Extracting from Batch
ImageFromBatch Node
Extracts an image at an arbitrary position from the Batch.

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 26,
"last_link_id": 32,
"nodes": [
{
"id": 26,
"type": "PreviewImage",
"pos": [
1282.465927819887,
251.39556483364825
],
"size": [
210,
258
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 32
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 9,
"type": "PreviewImage",
"pos": [
1014.0591784986361,
402.39226643827953
],
"size": [
210,
258
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 30
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 23,
"type": "LoadImagesFromDir //Inspire",
"pos": [
664.0692493724947,
251.39556483364825
],
"size": [
292.833435651327,
194
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
30,
31
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
},
{
"name": "INT",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-inspire-pack",
"ver": "1.23.0",
"Node name for S&R": "LoadImagesFromDir //Inspire"
},
"widgets_values": [
"E:\\working\\num",
0,
0,
false,
"None"
]
},
{
"id": 25,
"type": "ImageFromBatch",
"pos": [
1014.6843064218543,
251.39556483364825
],
"size": [
210,
82
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 31
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
32
]
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "ImageFromBatch"
},
"widgets_values": [
3,
4
],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
30,
23,
0,
9,
0,
"IMAGE"
],
[
31,
23,
0,
25,
0,
"IMAGE"
],
[
32,
25,
0,
26,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1.2392655498489547,
"offset": [
-566.4900380407229,
-150.58863527757217
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
batch_index: Position to extract (starts from 0)length: Number of images in Batch
Get Image or Mask Range From Batch Node
Extracts a range of images (or masks) collectively.
Select Every Nth Image Node (Video Helper Suite)
Gets frames skipping every N images.

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 28,
"last_link_id": 35,
"nodes": [
{
"id": 23,
"type": "LoadImagesFromDir //Inspire",
"pos": [
664.0692493724947,
251.39556483364825
],
"size": [
292.833435651327,
194
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
30,
34
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
},
{
"name": "INT",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-inspire-pack",
"ver": "1.23.0",
"Node name for S&R": "LoadImagesFromDir //Inspire"
},
"widgets_values": [
"E:\\working\\num",
0,
0,
false,
"None"
]
},
{
"id": 26,
"type": "PreviewImage",
"pos": [
1311.8088207681085,
251.39556483364825
],
"size": [
248.0123840465592,
284.6753572256557
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 35
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 9,
"type": "PreviewImage",
"pos": [
1002.9222168569252,
416.9970245193258
],
"size": [
210,
258
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 30
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 28,
"type": "VHS_SelectEveryNthImage",
"pos": [
998.2688388334651,
251.39556483364825
],
"size": [
272.173828125,
102
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 34
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
35
]
},
{
"name": "count",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "8923bd836bdab8b7bbdf4ed104b7d045e70c66e2",
"Node name for S&R": "VHS_SelectEveryNthImage"
},
"widgets_values": {
"select_every_nth": 3,
"skip_first_images": 0
},
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
30,
23,
0,
9,
0,
"IMAGE"
],
[
34,
23,
0,
28,
0,
"IMAGE"
],
[
35,
28,
0,
26,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1.1266050453172323,
"offset": [
-564.0692493724947,
-151.39556483364825
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
select_every_nth: Interval to extractskip_first_images: Skip the first number of images
Conversion Batch ↔ List
If you want to process one by one after loading a video or Batch, convert it to a List.
Image Batch to Image List Node

{
"id": "51a0cfff-124a-46df-9bad-bbc9273d5bfe",
"revision": 0,
"last_node_id": 32,
"last_link_id": 36,
"nodes": [
{
"id": 1,
"type": "LoadImage",
"pos": [
437.0238029390012,
281.45517150102967
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
15
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"A.png",
"image"
]
},
{
"id": 4,
"type": "LoadImage",
"pos": [
673.6492743455648,
377.2625981314576
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
2,
7,
16
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"B.png",
"image"
]
},
{
"id": 3,
"type": "LoadImage",
"pos": [
910.2747457521281,
473.0700247618855
],
"size": [
214.080078125,
314
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
17
]
},
{
"name": "MASK",
"type": "MASK",
"links": null
}
],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "LoadImage"
},
"widgets_values": [
"C.png",
"image"
]
},
{
"id": 20,
"type": "ImpactMakeImageBatch",
"pos": [
1161.2693345106477,
281.45517150102967
],
"size": [
156.6236328125,
86
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "image1",
"shape": 7,
"type": "IMAGE",
"link": 15
},
{
"name": "image2",
"type": "IMAGE",
"link": 16
},
{
"name": "image3",
"type": "IMAGE",
"link": 17
},
{
"name": "image4",
"type": "IMAGE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
22
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactMakeImageBatch"
}
},
{
"id": 9,
"type": "PreviewImage",
"pos": [
1613.5972559487655,
281.45517150102967
],
"size": [
382.21527822393386,
419.8973366170528
],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 23
}
],
"outputs": [],
"properties": {
"cnr_id": "comfy-core",
"ver": "0.3.73",
"Node name for S&R": "PreviewImage"
},
"widgets_values": []
},
{
"id": 24,
"type": "ImpactImageBatchToImageList",
"pos": [
1353.834191383092,
281.45517150102967
],
"size": [
223.82184050572906,
26
],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"name": "image",
"type": "IMAGE",
"link": 22
}
],
"outputs": [
{
"name": "IMAGE",
"shape": 6,
"type": "IMAGE",
"links": [
23
]
}
],
"properties": {
"cnr_id": "comfyui-impact-pack",
"ver": "61bd8397a18e7e7668e6a24e95168967768c2bed",
"Node name for S&R": "ImpactImageBatchToImageList"
},
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
2,
4,
0,
2,
0,
"IMAGE"
],
[
7,
4,
0,
7,
0,
"IMAGE"
],
[
15,
1,
0,
20,
0,
"IMAGE"
],
[
16,
4,
0,
20,
1,
"IMAGE"
],
[
17,
3,
0,
20,
2,
"IMAGE"
],
[
22,
20,
0,
24,
0,
"IMAGE"
],
[
23,
24,
0,
9,
0,
"IMAGE"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.9310785498489526,
"offset": [
-335.94977969986394,
-181.45517150102967
]
},
"frontendVersion": "1.30.6",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
Conversely, there is also a node to group a List into a Batch.
Image List to Image BatchNode