TK SimpleSize
A dropdown that remembers your model's native resolution for you
- width
- height
- latent
Every model you load in ComfyUI was trained at a handful of resolutions. Pick the wrong one and you get the classic failure modes - stretched bodies, double heads, compositions that look off for reasons you can't quite name. TK SimpleSize is a tiny three-dropdown node that encodes that "what resolution does this model actually like" knowledge so you stop guessing.
It's from a small, mostly-unknown pack (tackcrypto1031/tk_comfyui_SimpleSize, one node, MIT licensed). It has essentially zero community footprint - no Reddit chatter, no GSC impressions - which is fine. It's a utility, not a scene. You reach for it because it solves one specific annoyance: remembering that SDXL wants 1024-ish and SD1.5 wants 512, and that WAN's ratios are nothing like Flux's.
What it does
Pick a model from the first dropdown (SD1.5, SDXL, FLUX, QwenImage, Zimage, WAN), pick a ratio (1:1 through 21:9, including the phone-friendly 9:21 and 9:16), and the node shows you only the resolutions that make sense for that combination. No more setting 1024x1024 on a model whose native sweet spot is 512 - the "you are using a model trained on 1024x1024 to generate absurd ratios" trap is exactly what this deletes.
The presets are curated per model, and they mostly line up with what the community actually settled on: SDXL's trained ratios (1024, 1216x832, 1344x768, 1536x640), Z-Image's 1MP–2MP band, WAN's 480p/720p video frames. The author has done the homework so you don't have to. One thing worth knowing: not every ratio is available for every model. 3:4 only exists for WAN, for instance. Pick a ratio a model doesn't support and the node quietly snaps you back to a valid one.
How it actually works
Here's the part people find surprising: the backend is a dumb shell. The Python class just parses the "WxH" out of the resolution string, returns width and height as INTs, and builds an empty latent with torch.zeros([1, 4, h // 8, w // 8]). That's it - no lookup tables, no model math, no dependencies beyond the torch ComfyUI already ships.
All the "intelligence" lives in a JavaScript extension that swaps the dropdown options the moment you change model or ratio. It's a frontend trick, and a decent one. WAN's 16:9 list is even generated on the fly by inverting the 9:16 list. The whole thing installs as one file, which is why it's a zero-hassle install.
The inputs and outputs that matter
Three required inputs, all dropdowns:
- model_name - SD1.5, SDXL, FLUX, QwenImage, Zimage, or WAN. This is the master switch.
- target_ratio - the shape you're after.
- resolution - auto-populated once model + ratio are set. This is the one that actually drives everything.
Three outputs:
- width / height (INT) - feed these into a KSampler's
width/height, or into EmptyLatentImage. - latent (LATENT) - a ready-made empty latent at 1/8 scale, so you can skip the EmptyLatentImage node entirely.
One gotcha the README glosses over: that latent is hardcoded to the SD convention of 4 channels. FLUX, QwenImage, WAN, and Z-Image all run 16-channel latents (SD3/Flux's latent_channels is 16 in ComfyUI's own latent formats). So the built-in latent output is only really correct for SD1.5 and SDXL. For the DiT crowd, take the width/height outputs instead and feed them into EmptySD3LatentImage - same convenience, right channel count.
Installing it
ComfyUI Manager is the easy route - search for TK_SimpleSize and install. Manual install is the standard two-liner:
cd ComfyUI/custom_nodes/
git clone https://github.com/tackcrypto1031/tk_comfyui_SimpleSize
Restart ComfyUI and you'll find the node under the TK/SimpleSize category. No model files, no requirements.txt, no extra VRAM. It's about as close to zero-friction as a custom node gets.
Worth it?
Honest take: if you only ever generate at 1024x1024 from a saved workflow, you don't need this. If you swap models and aspect ratios often, or you keep hitting the stretched-body wall and want one knob that just works, it's a nice little quality-of-life bump. The trade-off is that it's presets-only - there's no free-form resolution box, so the minute you want something off the curated list (say, 1056x1584 for Qwen), you're back to typing numbers yourself. Think of it as training wheels for resolution, not a replacement for understanding why resolution matters.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 6 options: SD1.5, SDXL, FLUX, QwenImage, Zimage, WAN | |
| target_ratio | COMBO | 8 options: 1:1, 2:3, 3:2, 3:4, 16:9, 9:16, +2 | |
| resolution | COMBO | 2 options: 512x512, 1024x1024 |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |
| latent | LATENT | — |