S1Z35 - Z Image Turbo
The one S1Z35 node actually worth reaching for daily (Z-Image Turbo)
- width
- height
Of the eight nodes in the ComfyUI-S1Z35 pack, this is the one I'd actually keep on the canvas. Z-Image Turbo is, for a large chunk of the local-generation community, the current default - Alibaba's 6B Apache 2.0 model that put near-Flux quality on 12GB cards, distilled down to about eight steps, and it's what people mean when they say "SDXL 2.0" these days. And this node gives it twelve presets, the most in the pack, including the HD set the other nodes don't bother with.
What it is
A size-preset node for Z-Image (ZIT), from the S1Z35 pack. Pick a preset, get width and height integers, wire them into your latent. The zit.csv ships with the classic eight buckets - 1024 square, 4:3, 3:2, 16:9, 9:16, ultra-wide - plus four HD entries running up to 1600×896.
Those HD entries are the part worth paying attention to. Z-Image is natively comfortable from about 1MP to 2MP, and the community consensus is that artifacts start appearing past ~2MP. So the four HD presets (1280×1280, 1472×1104, 1536×1024, 1600×896) sit right at the top of the model's comfort zone - not past it. If you want bigger than that, the answer is multi-pass upscaling, not one giant generation, and this node politely stops before that trap.
How it works
Standard shared engine for the pack. At node creation it reads presets/zit.csv, parses each width, height, label line into a dropdown entry, and on selection extracts the numbers back out. Pure stdlib CSV parsing; no model files, no GPU, no API. The label is cosmetic - the (WxH) suffix is where the real values are.
Inputs and outputs that matter
- preset - the dropdown, twelve entries. This is the only thing you'll touch most days.
- swap_dimensions - boolean, off by default. Flips width and height for instant portrait/vertical versions of any bucket.
Outputs are width (INT) and height (INT), wired as usual into EmptyLatentImage before your sampler. With Z-Image Turbo specifically, remember the settings that make it sing: CFG around 1, few steps, and it's a strong universal refiner for output from other models - so a size node feeding a clean latent is exactly the setup it wants.
Installing it
Same light install as the rest of the pack - no requirements.txt, no model downloads, nothing to configure:
cd ComfyUI/custom_nodes
git clone https://github.com/K3nt3L/ComfyUI-S1Z35
Restart ComfyUI and the node shows up under S1Z35/Resolution. Or ComfyUI Manager → Install Custom Nodes → search "S1Z35".
Common issues
- Edits don't show up until you refresh the node. The dropdown is built at node creation. Edit
presets/zit.csv, delete the node, re-add it (or restart). - "Missing zit.csv (512x512)" - the fallback when the file is gone or empty. Don't be surprised by a 512×512 latent if you see it.
- Going past the HD entries. If you add a 2048×2048 to the CSV because Z-Image Turbo "handles it," you'll get mushy, artifact-heavy output - that's the model's ~2MP ceiling talking, not the CSV. The presets end where they do on purpose.
- The seed-sameness thing isn't the node. Turbo's known quirk - near-identical outputs across seeds - is a property of the distilled model, and the Base release fixed it at the cost of speed. This node just hands you sizes.
If you run Z-Image at all, this is the pack's most useful node. The presets match the model's working range, the HD entries are sensible, and there's nothing to break. Install the pack for this one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 12 options: Square (1:1) (1024x1024), Landscape (4:3) (1152x896), Portrait (3:4) (896x1152), Landscape (3:2) (1216x832), Portrait (2:3) (832x1216), Cinematic (16:9) (1344x768), +6 | |
| swap_dimensions | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |