Nodes/Sage Utils/Empty Latent Image Passthrough
ComfyUI Node

Empty Latent Image Passthrough

An empty latent that also tells you its own dimensions

By arcum42·Created 2 years ago·Updated 25 days ago· 33
Empty Latent Image Passthrough
    • latent
    • width
    • height
    width1024
    height1024
    batch_size1
    type4_channel

    Every text-to-image workflow starts with a blank latent - the noise-filled tensor the sampler denoises into your image. ComfyUI's stock Empty Latent Image creates it and then forgets the dimensions, which is fine until your metadata node also needs to record the image size. Empty Latent Image Passthrough makes one empty latent and passes the width and height back out alongside it, so the same node serves both the sampler and your metadata constructor.

    The inputs are width (default 1024), height (default 1024), batch_size (default 1), and - the interesting one - type. The type dropdown controls the latent's channel layout:

    • 4_channel - the standard for classic latent diffusion models (SD 1.5, SDXL, Illustrious, Pony...). The latent is 1/8 the pixel dimensions on each side, 4 channels deep.
    • 16_channel - for SD3-family models, which use a 16-channel latent (also 1/8 resolution).
    • radiance - for Chroma Radiance, the pixel-space variant of the Chroma family. Note this one is different: it creates a 3-channel tensor at full resolution, not 1/8 - Radiance works in pixel space, so the latent matches the image dimensions.

    Get the type wrong and you'll get either a hard failure or a silent mismatch where the sampler can't use the latent. The tooltip spelling it out - 4_channel for standard, 16_channel for SD3, radiance for Chroma Radiance - is the pack telling you which is which; trust it over your guess. If you're on an unknown model, check what its loader expects.

    Outputs are latent (the tensor, in the standard {"samples": ...} wrapper) plus the width and height ints. The pass-through behavior is the whole value proposition: width and height flow out as plain integers you can wire into Construct Metadata Flexible (for the Size: line in your params) or into any node that needs to know the resolution downstream. Compared to the core Empty Latent Image, you're paying nothing extra for that convenience - same blank latent, two more wires.

    The one thing this node doesn't do is pick the resolution for you. 1024×1024 is the default and it's the right default for SDXL-class models, but modern models vary: some want 1024×1024, some are better at specific aspect ratios. Pair it with the pack's Quick Res Picker or Guess Resolution By Ratio nodes if you want aspect-ratio-aware sizing on the same wire.

    Install

    ComfyUI Manager → search Sage Utils → install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/arcum42/ComfyUI_SageUtils.git
    cd ComfyUI_SageUtils && pip install -r requirements.txt
    

    Restart ComfyUI. No models, no deps beyond dynamicprompts. Under Sage Utils → image in the node menu.

    CategorySage Utils/image

    Inputs (4)

    NameTypeDefaultDescription
    widthINT1024The width of the empty latent image.
    heightINT1024The height of the empty latent image.
    batch_sizeINT1The number of latent images in the batch.
    typeCOMBO4_channelThe type of latent to create. 4_channel is for standard latent diffusion models, 16_channel is for SD3 models, and radiance is for Chroma Radiance models.

    Outputs (3)

    NameTypeDescription
    latentLATENTThe generated empty latent image tensor.
    widthINTThe width of the output latent image.
    heightINTThe height of the output latent image.