Empty Latent Image Passthrough
An empty latent that also tells you its own dimensions
- latent
- width
- height
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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 1024 | The width of the empty latent image. |
| height | INT | 1024 | The height of the empty latent image. |
| batch_size | INT | 1 | The number of latent images in the batch. |
| type | COMBO | 4_channel | The 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)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | The generated empty latent image tensor. |
| width | INT | The width of the output latent image. |
| height | INT | The height of the output latent image. |