Bubba Empty Latent (Preset Sizes)
Bubba Empty Latent (Preset Sizes)
- pipe
- pipe
- latent
- width
- height
Every model family has its preferred resolution, and nobody remembers all of them. SD 1.5 wants 512×512 territory, SDXL is happiest around 1024×1024, and feeding an SDXL checkpoint a 512×512 latent is how you get the duplicated-objects-and-melted-face look. Bubba Empty Latent (Preset Sizes) exists so you stop thinking about raw pixel numbers and pick from a named list instead: aspect ratio + model family, with the dimensions baked in.
The dropdown is the whole point. It's organized as labeled presets like 1:1 | 1024x1024 - SDXL and 16:9 | 1344x768 - SDXL - the heading is the aspect ratio, the numbers are width×height, and the suffix names which model generation it's sized for. The preset table in the pack source covers 1:1, 16:9, 4:3, 3:2, 21:9, and a grab-bag of "Other" SDXL sizes, each with entries for SD 1.5, SD 2.x, SDXL, and the occasional "SDXL Large" (1536-class) option. Pick the row matching your checkpoint family and your intended crop, and you're done - the node constructs the empty latent at the right dimensions.
The other two inputs
invert_aspect_ratio- a boolean that flips width and height. Portrait instead of landscape, instantly, without hunting for the matching preset. Since every preset has a mirrored twin in the list, this is mostly a convenience toggle, but it's a good one when you're A/B-ing orientations.batch_size- 1 to 4096, default 1. Number of empty latents to create in one tensor. That's how you generate a grid of images in a single pass, and it rides through the pipe if you're using one.
A clean detail: the node writes width and height out as INTs alongside the latent. That's quietly useful - wire them into a filename builder or an overlay so your saved images are named with their dimensions, or feed them to a resize node so downstream steps stay consistent with what was actually generated.
Pipe-aware, naturally
The optional pipe input means it can slot into a Bubba workflow without disturbing anything: the latent gets written back into the pipe (along with width/height), and Bubba KSampler picks it up downstream. That's the pack's preferred pattern - Empty Latent → KSampler, all state carried, no loose latent wires. If you're not on the pipe, the standalone latent output feeds any standard KSampler exactly like ComfyUI's core Empty Latent Image node.
The honest trade-off
What you give up versus the core node is arbitrary dimensions. Stock Empty Latent Image lets you type any width and height; this one only offers presets, and there are legitimate reasons to want an oddball size (a specific canvas ratio, a multi-lora workflow that wants a tighter crop). If you find yourself fighting the preset list, you're the person who wants the core node with (width*0.5) x (height*0.5) primitives instead.
But for the 90% case - "I know I'm using an SDXL checkpoint, give me a sane landscape size" - this is the better tool, and it quietly teaches the right habit: match the resolution to the model family, not to whatever arbitrary number you typed last week.
Install
Standard Bubba Nodes install - ComfyUI Manager → search "Bubba Nodes", or:
cd ComfyUI/custom_nodes
git clone https://github.com/bubbafett5611/Bubba_Nodes
Restart, and make sure ComfyUI is 0.27.0+ (the pack uses the newer V3 node API). No extra dependencies beyond the pack's aiohttp/pydantic, no model downloads - this node is pure tensor creation plus a dropdown table.
One compatibility note: older Bubba workflow files stored sizes like Medium (1344x768), and the node still parses that legacy format via a regex, so old graphs keep working. If you're hand-editing a workflow JSON and the size string doesn't match a current preset or a legacy (WxH) pattern, the node raises a clear "Invalid size preset selection" error rather than silently producing a garbage latent - which is the right failure mode.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| size | COMBO | 1:1 | 1024x1024 - SDXL | 28 options: 1:1 | 512x512 - SD 1.5, 1:1 | 768x768 - SD 2.x, 1:1 | 1024x1024 - SDXL, 1:1 | 1536x1536 - SDXL Large, 16:9 | 896x512 - SD 1.5, 16:9 | 1024x576 - SD 2.x, +22 |
| invert_aspect_ratio | BOOLEAN | false | — |
| batch_size | INT | 11–4096 | — |
| pipeopt | BUBBA_PIPE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| pipe | BUBBA_PIPE | — |
| latent | LATENT | — |
| width | INT | — |
| height | INT | — |