Icy EmptyLatentImage
Every txt2img workflow starts here
- LATENT
IcyEmptyLatentImage is the ComfyUI-IcyHider Icy wrapper of core EmptyLatentImage - the exact same node, renamed so the privacy extension can hide it. And despite being one of the most-used nodes in all of ComfyUI, it's also one of the most misunderstood, so let's clear that up.
This node creates the blank latent canvas that your sampler starts from. In a plain txt2img workflow it's the first brick after your model loader: EmptyLatentImage → KSampler → VAEDecode. The "latent" is important - the node isn't making a pixel image, it's making an abstract compressed representation of an image (the model's working space) that the sampler will fill with noise and then sculpt into a picture. The VAE decode step at the end turns that back into pixels you can see.
The inputs that matter
- width / height (INT, 16–16384, step 8, default 512) - the output image dimensions. The step of 8 isn't an accident: latent space runs at one-eighth the resolution of pixels, so these numbers have to stay multiples of 8 or the VAE can't cleanly round-trip them. Set 513 and you'll get errors or silently snapped dimensions.
- batch_size (INT, 1–4096, default 1) - how many blank canvases in one go. Batch 4 and the sampler generates four images from four sets of noise in one queue run - the standard way to sweep seeds.
Output: a single LATENT.
What beginners get wrong
- "Why is it blank / black?" Because it's supposed to be. The latent is empty by design; the KSampler's noise generation fills it. Nothing's broken.
- Multiples of 8. This is the single most common "why won't this run" error in ComfyUI, and it's this node's wheelhouse. If your workflow dies with a shape mismatch, check width/height here first.
- The Icy wrapper adds nothing. As with every node in this pack, if you don't need IcyHider's hiding, core
EmptyLatentImageis the same node with the same behavior.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/icekiub-ai/ComfyUI-IcyHider
Restart, or use ComfyUI Manager (search "IcyHider"). No pip dependencies, no models bundled.
Common issues
- Missing node in shared workflows. Install the pack, or swap in core
EmptyLatentImage. - Shape errors during sampling. Your width/height aren't multiples of 8. Fix the canvas size before blaming the sampler.
- Upscalers vs this node. If you're upscaling, remember this node sets the generation resolution. A hires-fix second pass usually feeds a new
EmptyLatentImageat larger dimensions into a second sampler - that's by design, and the KB's upscaling material calls out exactly this two-pass pattern.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51216–16384 | The width of the latent images in pixels. |
| height | INT | 51216–16384 | The height of the latent images in pixels. |
| batch_size | INT | 11–4096 | The number of latent images in the batch. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | The empty latent image batch. |