Empty Latent Batch
Empty Latent Image, Minus the Guesswork, Plus a Batch
- latent
- width
- height
- batch_size
Stock ComfyUI's Empty Latent Image asks you for a width and a height and hopes you know what to type. Empty Latent Batch is that node's better-organized cousin: it gives you the same resolution presets as the pack's Width Height Selector (SDXL, FLUX, ultra-wide, all labeled with megapixels), creates empty latents at those dimensions, and - the actual feature - makes you a whole batch of them in one shot.
How it works
The latent is created as a [batch_size, 4, height/8, width/8] tensor, which is the format every KSampler expects: four channels per latent, each spatial dimension divided by 8 because that's the VAE's downsampling factor. Feed a bigger batch_size and you get multiple identical empty latents stacked in one tensor, which is how you get ComfyUI to generate several images in a single queue run instead of hand-queuing them one at a time. The node sanitizes your dimensions to multiples of 8, picks preset values when a preset is selected, and estimates the memory a batch will eat so it can warn you before you ask for 64 latents at 4K.
Inputs and outputs
- preset - the same curated list as Width Height Selector (41 options including
custom), e.g.1024Γ1024 - 1:1 (1.1MP) - SDXL. - width / height - custom INTs, 64β8192, stepped by 8; used when preset is
custom. - batch_size - 1 to 64, default 1. This is the knob that makes it different from every other empty-latent node.
Outputs: latent (the batch), plus width, height, and batch_size echoed back as INTs in case a downstream node wants them as explicit values.
Where it fits
Batch size is the star. Generate a 4-image batch to compare seeds or prompt variations, wire the batch_size output somewhere you want it tracked, and let the sampler chew through the whole stack on one queue click. The preset list also quietly answers the resolution question for you: SDXL presets hover around 1MP because that's what SDXL was trained for, FLUX presets run higher, and the megapixel label on every preset is the hint you'd otherwise have to go look up.
Installing it
Pack install: ComfyUI Manager β "ComfyUI-KikoTools" β Install β restart, under ComfyAssets β Latents. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/ComfyAssets/ComfyUI-KikoTools.git
cd ComfyUI-KikoTools
pip install -r requirements.txt
Restart ComfyUI.
Gotchas
Memory is the honest limit. A batch of 8 at 1536Γ1536 is a lot more VRAM than 8 separate runs because everything's alive at once; the node warns you, and you should listen - if you're on 8GB, big batches at FLUX presets will OOM regardless of the node's politeness. Also remember it creates empty latents: there's no image inside, it's pure noise-space canvas for the sampler to fill. And the preset's dimensions are pixel dimensions converted to latent space internally - don't divide by 8 yourself before wiring into the sampler, or you'll generate thumbnails.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | custom | Select from optimized resolution presets or use custom dimensions. SDXL presets are ~1MP, FLUX presets are higher resolution, Ultra-wide presets support modern aspect ratios. |
| width | INT | 102464β8192 | Custom width in pixels (must be multiple of 8). Used when preset is 'custom' or as fallback for invalid presets. This will be converted to latent space dimensions. |
| height | INT | 102464β8192 | Custom height in pixels (must be multiple of 8). Used when preset is 'custom' or as fallback for invalid presets. This will be converted to latent space dimensions. |
| batch_size | INT | 11β64 | Number of empty latents to create in the batch. Useful for batch processing workflows. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | β |
| width | INT | β |
| height | INT | β |
| batch_size | INT | β |