Empty Latent Image ⬜
Blank latents with SDXL resolution presets you don't have to memorize
- latent
- summary
Every text-to-image workflow starts from the same humble node: a blank latent canvas that the sampler fills with noise-then-image. ComfyUI's core EmptyLatentImage is fine, but it makes you know your pixel dimensions. This is that node with the answer key built in - it wraps the core node and adds SDXL-aware resolution presets so you don't have to remember which sizes are actually native to your base model.
Pick a preset and the node fills in width/height for you. The SDXL set is the standard ~1-megapixel family - 1024x1024, 896x1152 / 1152x896, 832x1216 / 1216x832, 1344x768 / 768x1344, plus a 512x512 SD1.5 option - all multiples of 64, each roughly the area SDXL was trained at. Choose custom and the width/height widgets take over, still snapped to the nearest multiple of 8 exactly like the core node requires. batch_size sets how many blank latents you get.
Under the hood it's a straight delegation: the actual tensor creation is nodes.EmptyLatentImage, so behavior matches core exactly. This is a preset convenience layer, not a reimplementation - same latents, same noise-ready semantics, zero surprises. Outputs are the latent itself and a summary string describing the dimensions, which is handy when you're feeding the resolution into a text display or logging it.
Honestly, that's the whole pitch: don't memorize resolutions, and don't paste a workflow that guessed at an aspect ratio. If you're doing SDXL, a preset keeps you inside the trained distribution where the model behaves. For SD1.5 you get the square default; for anything exotic (nonstandard ratios, or modern bases with different native areas) use custom and set the numbers yourself.
The one thing to remember is the standard sampler wiring: this node feeds the latent socket on a KSampler, and if you change the preset the downstream resolution changes with it - the summary output is the cheap way to confirm what actually got built before you burn a queue run. It's a thin node, but it's the kind of thin node that quietly removes a whole category of "why is my output a weird aspect ratio" confusion.
Install
Part of OmniNodes:
cd ComfyUI/custom_nodes
git clone https://github.com/TensorVizion/OmniNodes
Restart ComfyUI, or install "OmniNodes" via ComfyUI Manager. No extra dependencies.
Troubleshooting
- Preset shows one size, image came out another - you changed
width/heightmanually while a preset was active; the preset overrides them. Setpresettocustomif you want manual control. - "latent" node not found when loading a workflow - the pack isn't installed. Same install path as every OmniNodes node.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 1024x1024 (square) | 9 options: custom, 1024x1024 (square), 896x1152 (portrait), 832x1216 (portrait), 1152x896 (landscape), 1216x832 (landscape), +3 |
| width | INT | 102464–8192 | — |
| height | INT | 102464–8192 | — |
| batch_size | INT | 11–64 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |
| summary | STRING | — |