Nodes/ComfyUI-SD3-nodes/SD3 Empty Latent
ComfyUI Node

SD3 Empty Latent

Why SD3 won't take a normal Empty Latent (and what this one does)

By liusida·Created 2 years ago·Updated 2 years ago· 8
SD3 Empty Latent
    • LATENT
    resolution1024x1024
    batch_size1

    SD3's VAE encodes images into 16 latent channels, not the 4 that SD 1.5 and SDXL use. The plain Empty Latent Image node hands your KSampler a 4-channel tensor, and in the days this pack shipped that mismatch was a fast road to glitchy, silently-broken output. SD3EmptyLatent exists so you stop thinking about it: it hands the sampler a correctly-shaped 16-channel latent at a resolution the model actually likes. It's one of three nodes in liusida/ComfyUI-SD3-nodes, the launch-week SD3 support pack that shipped two days after Stable Diffusion 3 Medium dropped in June 2024 - a pack built on a hype curve that got very loud and then very sad, but the latent node is the part that still makes sense.

    The node does two small things and does them well. First, it generates a zeroed tensor of 16 channels at height // 8, width // 8 - SD3 shares the 8x spatial downsampling of SDXL but quadruples the channel count, so the latent shape genuinely differs. Second, it turns resolution into a dropdown of presets instead of two free-form width/height boxes. Every option is generated by the rule "about one megapixel, multiples of 64," which is the resolution guideline the author baked in: widths run 512 to 1920 in steps of 64, and the height is the largest multiple of 64 that keeps you near 1MP. That's the entire trick of the node, and it's the right trick - SD3 is a 1MP model, and pushing it to 2MP like you might with Flux just gives you mush.

    Two inputs matter, both in the required set:

    • resolution - the preset dropdown, default 1024x1024. All 23 options are multiples of 64, which is the constraint you must not violate with SD3.
    • batch_size - an integer from 1 to 16, default 1. How many images you generate in one go. VRAM is the real ceiling here, not this slider.

    Its single output, LATENT, plugs straight into the KSampler's latent input - the standard start-of-workflow position, sandwiched between your checkpoint loader and the sampler.

    Honest caveat: on modern ComfyUI, the built-in Empty SD3 Latent node does the identical 16-channel job, and current versions of the plain Empty Latent Image have stopped being a trap. The reason people still reach for this node in 2026 is the preset list - it's a cheat sheet for "what resolutions does SD3 tolerate," wrapped in a dropdown, and it's genuinely hard to misuse.

    Install

    Grab the pack via ComfyUI Manager (search "ComfyUI-SD3-nodes") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/liusida/ComfyUI-SD3-nodes
    

    Restart ComfyUI. There are no pip dependencies - the README's only requirement is that ComfyUI itself is up to date. This node alone needs no model downloads; you'll want the SD3 checkpoint and text encoders before anything renders, covered on the SD3 Load Checkpoint page.

    Troubleshooting

    • KSampler complains about a channel mismatch or produces garbage from an otherwise-fine workflow - you're almost certainly feeding it a default 4-channel empty latent. Swap to this node (or ComfyUI's built-in Empty SD3 Latent).
    • Don't hand-roll your resolution - if you really want to bypass the presets, keep both dimensions multiples of 64 and near 1MP. SD3 falls apart at exotic sizes.
    • Set batch_size above 1 and hit an OOM - that's expected; batch multiplies VRAM, and SD3's 16 channels already cost more per image than SDXL did.
    Categorylatent/sd3

    Inputs (2)

    NameTypeDefaultDescription
    resolutionCOMBO1024x102423 options: 512x2048, 576x1792, 640x1600, 704x1472, 768x1344, 832x1216, +17
    batch_sizeINT11–16

    Outputs (1)

    NameTypeDescription
    LATENTLATENT