⚡| Empty Z-Image Latent Image
An empty latent that already knows Z-Image's 1–2MP sweet spot
- LATENT
Every Z-Image workflow starts the same way: with a blank latent sized to something the model actually likes. The stock Empty Latent Image will happily hand you a 2048×2048 canvas that Z-Image fills with artifacts, because Z-Image's native ceiling is around 2MP and its comfort zone is more like 1–2MP. This node is the version that's pre-programmed with those limits, so you don't have to remember what's safe.
Empty Z-Image Latent Image does one thing: it produces an empty LATENT sized for Z-Image / Z-Image Turbo, from aspect ratio, orientation, and a scale factor. It's part of Martin Rizzo's Z-Image Power Nodes, the pack he built on top of his Amazing Z-Image Workflow - and in that workflow this node is the default starting canvas.
How it works
Under the hood it's a lookup table of Z-Image-friendly landscape resolutions per aspect ratio, multiplied by the scale you pick. The base square is 1024×1024; wide ratios like 16:9 map to ~1365×768, ultrawide 32:9 stretches out to ~1931×543. The size selector then scales the whole thing: small (×1.0) for quick previews, medium (×1.3, the default), and large (×1.6) for max detail. Everything lands in the 1–2MP band where Z-Image stays coherent, then gets encoded into latent space for the sampler.
The inputs that matter
orientation(BOOL, default off) - off means portrait, on means landscape. The default favors mobile-portrait usage, which tells you a lot about who this pack is aimed at.ratio(COMBO, default3:2 (photo)) - ten presets from square through 32:9 cinerama. The author's docs are blunt that more extreme ratios raise the odds of visual inconsistencies.size(COMBO, defaultmedium (recommended)) - the scale factor above. Medium is recommended for a reason:largebumps detail but can nudge toward hallucinations.batch_size(INT, 1–4096) - how many identical blank latents to create in one go.
Output is a single LATENT, which goes straight into your sampler's latent input.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/martin-rizzo/ComfyUI-ZImagePowerNodes
Restart ComfyUI, or just install via ComfyUI Manager (search "Z-Image Power Nodes"). No pip requirements, stock ComfyUI only. You'll still need the model triplet - diffusion model, Qwen3-4B text encoder, VAE - to actually sample what this node creates.
Where people trip up
The biggest mistake is cranking size to large and an extreme ratio at the same time, then blaming the model for the results. The two levers compound: 32:9 at 1.6× is asking a 6B model to hold a panorama together. Start medium, test your composition at small (it'll be rough but fast), and only go up once the image holds. And don't forget this is latent-space-native - no pixel math here, so what you set here is literally the canvas the sampler works from, not a resize downstream. For most Z-Image users, this replaces the generic empty-latent node entirely.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| orientation | BOOLEAN | false | When enabled, the generated images will have a landscape orientation. By default, the node produces portrait images prioritizing mobile use. |
| ratio | COMBO | 3:2 (photo) | The aspect ratio for the generated images. This affects the width-to-height proportion of the image. |
| size | COMBO | medium (recommended) | The relative size of the generated images. Larger sizes can lead to more detailed results but require more computational resources and may cause hallucinations in some cases. |
| batch_size | INT | 11–4096 | The number of images to generate in a single processing batch. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | An empty latent image generated according to the given parameters. |