Latent-Tiled PiD Size Picker (FLUX.2 / Klein)
The Klein size picker that also feeds Flux2Scheduler
- latent
- width
- height
The FLUX.2 flavor of the Size Picker, for the world of Klein. If you're rendering with FLUX.2 Klein 4B/9B distilled (or FLUX.2-dev) and want the tiled PiD decode to produce 33MP+ prints, this is the dropdown to reach for. Same one-line-contract as the regular Size Picker - aspect, render size, output size, megapixels, tile count - but the latent space it speaks is different, and so is the wiring.
What's different from the regular picker
FLUX.2 latents are 128-channel and 16x downscaled, not 16-channel and 8x. That means every entry has to sit on the 16-px grid, and a handful of rungs end up slightly different from the qwen ladder - the 8-tile 16:9 rung is 3520x1968 here vs 3456x1944 on the other node. There are 55 presets, not 56: the author swept all 56 candidates end-to-end on Klein 4B distilled up to 244MP, and culled one (the 4:3 6-tile rung) that failed the QA gate twice on a seed-shifted retest. Same discipline as the qwen ladder.
The other difference is the outputs. This node emits three: the empty 128-channel flux2 latent, plus width and height INTs. Wire those two into Flux2Scheduler - it has a resolution-dependent sigma shift, and the node makes sure the shift always matches the preset you picked. That's the step people forget, and it's the reason the twin outputs exist.
The stage-1 recipe for Klein distilled
From the shipped example workflows, verbatim:
Flux2Schedulerwith steps=4 (width/height from this node)KSamplerSelect→ eulerCFGGuiderwith cfg=1.0SamplerCustomAdvanced
Klein distilled is a 4-step model; that's the reference config. Then the flux2 latent goes through the tiled Decode node with latent_format = flux2 and the pid_1.5_flux2_1024_to_4096_4step_bf16.safetensors checkpoint.
Which Klein, at what size
- Klein 4B distilled - the lane that sweeps clean to 244MP. Apache-2.0. Use it for the monster rungs.
- Klein 9B distilled (fp8) - spot-validated clean through the 59MP rungs, but degrades progressively from ~111MP up (shadow drift first, then chroma past the gate at 137MP+). Keep 9B to ≤59MP outputs, or use the 4B workflow for anything bigger. Note the 9B weights are non-commercial.
- Content reality check, same as the qwen ladder: Klein's native render envelope is ~1–4MP. The decode stays faithful at any ladder size, but compositional coherence at the monster rungs is a stage-1 model limitation - scenery holds up best, so keep faces and hero subjects at the ~2MP rungs.
Licensing reminder since this lane makes it easy to trip over: Klein 4B is Apache-2.0, Klein 9B and FLUX.2-dev are non-commercial, and the PiD weights are NVIDIA non-commercial regardless - the strictest license in your chain wins.
Install
Same pack - ComfyUI Manager search "ComfyUI-Latent-Tiled-PiD", or:
cd ComfyUI/custom_nodes
git clone https://github.com/BennyDaBall930/ComfyUI-Latent-Tiled-PiD
Restart, and look under latent/pid. This lane needs a newer ComfyUI than the qwen one: you need FLUX.2 support (the Flux2 latent format, Flux2Scheduler, and CLIPLoader type flux2) - late-2025 or newer; the pack was developed and swept on 0.31.1. Models you'll need on disk: flux-2-klein-4b.safetensors, qwen_3_4b.safetensors (CLIPLoader type flux2), flux2-vae.safetensors, and the flux2 PiD checkpoint. No extra python dependencies.
Gotchas
- Forget the width/height →
Flux2Schedulerconnection and your sigma shift silently mismatches the preset. - The flux2 lane runs a few chroma points warmer than qwen at the biggest rungs - still inside the gate, but the QA node prints both numbers every run, so drift is visible immediately.
- If a dropdown entry throws "Unknown size preset" after an update, re-select from the list.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| size | COMBO | 16:9 | render 1920x1088 -> output 7680x4352 | 33 MP | 4 tiles | aspect | stage-1 render size -> final output size | megapixels | tile count. Pick a line; there is nothing else to configure. |
| batch_size | INT | 11–64 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |
| width | INT | — |
| height | INT | — |