Lumina Empty Latent Picker
An empty latent picker built for the Lumina-Image family
- LATENT
- width
- height
- resolution_text
- batch_size
Lumina-Image models don't play by SDXL's latent rules. They were trained on their own aspect-ratio buckets and use a different channel layout, so the standard SDXL empty latent - and the resolution pickers built around it - quietly generate at the wrong size or the wrong shape. LuminaEmptyLatentPicker is the sibling of the SDXL picker in this pack, but with Lumina's own resolution list and a 16-channel latent, so the empty latent you get actually matches what a Lumina model expects to see.
Why you'd reach for it
If you've tried dropping Lumina-Image 2 (or a Lumina-based fine-tune) into a workflow built for SDXL, you've met this problem: the empty latent node is the wrong shape. Lumina uses a different latent dimension count than SDXL's 4-channel layout, and its trained buckets differ too. This node sidesteps both: the resolution dropdown is populated with Lumina-friendly ratios (the 0.5-aspect portrait entries through square 1280x1280 and the wide landscape side), and the allocated latent uses the channel count Lumina expects, at the /8 spatial compression ComfyUI's VAE pipeline uses.
How it works
Mechanically it's the same engine as the SDXL v2 picker in this pack - parse the dropdown, apply overrides and multiplier, allocate a zeros latent, emit size outputs. The difference is all in the constants: 25 curated Lumina resolutions instead of 40 SDXL ones, and the latent tensor is allocated with the channel depth this model family needs. That "wrong channel count" bug is exactly the kind of thing that produces garbage outputs with no error message, so the value here is real even though the node looks unremarkable.
The inputs that matter
- resolution (enum, 25 choices) - Lumina's ratio buckets, from 768x1532 up to the 2.0-aspect landscape entries. Default is 1280x1280.
- batch_size (INT, default
1). - width_override / height_override (INT, default
0, step 8) - positive values force specific dimensions. - resolution_multiplier (FLOAT, default
1) - scale the picked size. - swap_dimensions (BOOLEAN) - rotate the aspect.
- Outputs: LATENT, width, height, resolution_text, batch_size.
Installing it
Part of comfyui-lopi999-nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/LaVie024/comfyui-lopi999-nodes
Restart ComfyUI, or use ComfyUI Manager and search "comfyui-lopi999-nodes." No model downloads, no extra dependencies.
Common issues
The sharpest edge is matching this latent to a model that isn't Lumina. Wire this empty latent into an SDXL checkpoint and you'll get a shape mismatch or silently wrong output - the node is specialized, not universal, and that's the whole point of it existing. Also note the resolution list is deliberately smaller than the SDXL picker's 40 entries, so if you need a very specific ratio for a Lumina workflow, you'll be using width_override/height_override more than with the SDXL version. And as with any latent-size node, the multiplier is multiplicative on pixels - keep an eye on VRAM when you scale up.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | COMBO | 1280x1280 (1.0) | 25 options: 768x1532 (0.5), 896x1792 (0.5), 896x1664 (0.52), 960x1664 (0.57), 960x1600 (0.6), 1024x1536 (0.68), +19 |
| batch_size | INT | 11–4096 | — |
| width_override | INT | 00–16384 | — |
| height_override | INT | 00–16384 | — |
| resolution_multiplier | FLOAT | 1.000.01–100 | — |
| swap_dimensions | BOOLEAN | false | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |
| width | INT | — |
| height | INT | — |
| resolution_text | STRING | — |
| batch_size | INT | — |