S1Z35 - Flux 2
Flux 2 can do 4MP — this node quietly keeps you sane instead
- width
- height
Flux 2 is the strongest open-weights image model on paper - 32B of transformer plus a 24B vision-language encoder, native output up to 4MP. So the first time you open S1Z35 - Flux 2 and find only three presets - 1024 square, 1280×768 landscape, 768×1280 portrait - it's easy to read that as a disappointment. It isn't. It's the node correctly deciding that on real hardware, "as big as the model can go" is a trap.
What it is
A size-preset node from the ComfyUI-S1Z35 pack, aimed at the Flux 2 family. Pick a preset, get width and height integers, wire them into your latent. That's it. The flux2.csv keeps things deliberately modest: square, one landscape, one portrait. No 4:3 set, no cinematic 21:9.
That restraint is the right call, and here's why. Flux 2 Dev needs 18-24GB of VRAM even quantized and was widely rejected as a daily driver on exactly those grounds - the community's shorthand was "32 billions parameters? It's rough." Generating at 4MP on a card that's already sweating is how you turn a two-minute image into a ten-minute one. The Klein variants are lighter (4B in ~13GB), but even there, resolution is the lever you control. This node's three presets are "the sizes that won't melt your rig," and that's a feature.
How it works
Standard engine for the pack: at node creation it reads presets/flux2.csv, parses width, height, label lines into dropdown entries, and on selection extracts the numbers back out. Pure stdlib CSV parsing, no model files, no dependencies.
Inputs and outputs that matter
- preset - the dropdown: Square (1024×1024), Landscape Standard (1280×768), Portrait Standard (768×1280).
- swap_dimensions - boolean, off by default. This one is actually useful here, because the CSV ships exactly one landscape and one portrait. Flip
swap_dimensionson a landscape preset and you get the mirror without touching the file.
Outputs are width (INT) and height (INT), wired as you'd expect into EmptyLatentImage or any size input. If you do want to push beyond the three shipped sizes - say, a 2K generation for the sake of it - you edit presets/flux2.csv yourself. The model's native ceiling is 4MP; just know what you're paying per pixel.
Installing it
Same light install as the rest of the pack - no requirements.txt, no model files, nothing to download:
cd ComfyUI/custom_nodes
git clone https://github.com/K3nt3L/ComfyUI-S1Z35
Restart ComfyUI and the node lands under S1Z35/Resolution. Or use ComfyUI Manager → Install Custom Nodes and search for "S1Z35".
Common issues
- Edited presets don't appear. The list is built at node creation. Edit
presets/flux2.csv, delete the node, add it fresh (or restart), and your new sizes show up. - "Missing flux2.csv (512x512)" - the fallback when the file is missing or empty. It'll happily hand you 512×512.
- You expect more options. This is the one place the pack's minimalism can genuinely surprise. If you came from the SDXL or Flux 1 nodes with their eight buckets, three presets feels thin. It's not a bug - the author chose conservative sizes for a heavy model family. Add the ratios you actually use to the CSV.
- VRAM errors are the model's doing, not the node's. If Flux 2 OOMs at a preset size, the node isn't the culprit; you're at the edge of what your card can hold quantized. Drop to Klein or pick a smaller bucket.
One honest caveat: if you're running Flux 2 Klein on a 12-16GB card, the "Flux 1" node in this same pack shares most of its buckets, and the two overlap. Pick this one when you specifically want to stay inside the sizes this family handles comfortably.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 3 options: Square (1024x1024), Landscape Standard (1280x768), Portrait Standard (768x1280) | |
| swap_dimensions | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |