Nodes/OmniNodes/Empty Latent Image ⬜
ComfyUI Node

Empty Latent Image ⬜

Blank latents with SDXL resolution presets you don't have to memorize

By TensorVizion·Created 3 months ago·Updated about 8 hours ago· 0
Empty Latent Image ⬜
    • latent
    • summary
    preset1024x1024 (square)
    width1024
    height1024
    batch_size1

    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/height manually while a preset was active; the preset overrides them. Set preset to custom if you want manual control.
    • "latent" node not found when loading a workflow - the pack isn't installed. Same install path as every OmniNodes node.
    CategoryTensorVizion/Model Utilities

    Inputs (4)

    NameTypeDefaultDescription
    presetCOMBO1024x1024 (square)9 options: custom, 1024x1024 (square), 896x1152 (portrait), 832x1216 (portrait), 1152x896 (landscape), 1216x832 (landscape), +3
    widthINT102464–8192
    heightINT102464–8192
    batch_sizeINT11–64

    Outputs (2)

    NameTypeDescription
    latentLATENT
    summarySTRING