Preset Empty SD3 Latent Image
SD3 and Flux need a 16-channel blank canvas — this hands you one
- LATENT
The name is a lie in the fun way: this node makes no SD3 call and doesn't care what you feed it downstream. It just creates a blank latent with the channel count SD3 and Flux actually need, which is 16 instead of the usual 4. If you've ever wired ComfyUI's stock EmptyLatentImage into a Flux or SD3 workflow and watched it die with a shape mismatch, you already know why this exists. This is the version with training wheels: nine preset resolutions, all within a hair of the same pixel count as 1024x1024, plus a batch_size field.
Here's the mechanism, because it's the whole point. Diffusion models don't denoise pixels, they denoise a compressed latent that a VAE maps back to pixels. The SD 1.5/SDXL lineage used a 4-channel autoencoder at 8x spatial compression. SD3 and the Flux family went to a 16-channel autoencoder at the same 8x per side - four times the information per unit of latent, which is why they hold texture through img2img passes that would smear an SDXL latent. Feed one of those models a 4-channel tensor and it fails on shape before any sampling happens. This node does what ComfyUI's own EmptySD3LatentImage does - torch.zeros of shape [batch, 16, height//8, width//8], flagged with the spatial downscale ratio so downstream nodes know what they're looking at - and then wraps it in a resolution dropdown so you don't have to type it.
The two inputs that matter:
- resolution - the preset list. You get
1024x1024 (1:1), the portrait/landscape steps like1152x896 (9:7)and1216x832 (19:13), all the way out to1536x640 (12:5)and640x1536 (5:12). Every one is a multiple of 64, and they're all built to hover around one megapixel, which is what SD3-class models were trained at. - batch_size - how many blank latents to stack. Default 1; the UI lets you go to 4096, but on a 16-channel latent that's "please OOM me" territory. Leave it alone unless you actually want a batch.
Output is a single LATENT that plugs straight into a sampler's latent input, usually after a KSampler/SamplerCustom on the model side.
Installing the pack is the easy part - it's a no-dependency utility pack, "Personal ComfyUI custom nodes" in the author's own words. In ComfyUI Manager search for comfyui-uonr-nodes, or clone it in:
cd ComfyUI/custom_nodes
git clone https://github.com/uonr/comfyui-uonr-nodes
Then restart ComfyUI. There are no model downloads and no requirements.txt - the pack ships pure ComfyUI.
Where people get burned: using this 16-channel node with SD 1.5 or SDXL, which want 4 channels and will error the same way in reverse. And the reverse mistake - grabbing the pack's 4-channel PresetEmptyLatentImage for a Flux job. Pick by what your checkpoint's VAE wants, not by habit. Resolution-wise you can relax; since these are pixel-space presets and models now tolerate a megapixel band, the exact ratio matters less than staying near native pixel count.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | COMBO | 1024x1024 (1:1) | Preset width and height near the same pixel count as 1024x1024. |
| batch_size | INT | 11–4096 | The number of latent images in the batch. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | The empty SD3 latent image batch. |