Image Size (Local Models)
A resolution picker that stops you from ruining your FLUX output
- aspect_ratio
- image_width
- image_height
- image_latent
- batch_size
Resolution is the first thing that ruins a generation for beginners, and it's not your fault - every model family is trained at its own native sizes, and "bigger is better" actively breaks SD 1.5, SDXL, FLUX, and SD3.5 past certain megapixels. That's the whole point of Image Size (Local Models): one dropdown of preset resolutions, organized the way models actually train, instead of you typing numbers into an Empty Latent Image and hoping.
This node ships in the Open Creative Studio Nodes pack, the companion node suite for Open Creative Studio (formerly AP Workflow), a free all-in-one ComfyUI workflow that wraps image, video, text, and audio generation. If you grabbed OCS to run its local image models, this is the node that sets the canvas. It works fine standalone too.
How it works
The mechanism is refreshingly dumb, in a good way. The Aspect Ratio dropdown is a list of named presets; pick one and the node overrides whatever's in Custom Width and Custom Height, then hands you back a blank latent at exactly those dimensions. The latent is a zeros tensor of shape [batch, 4, H//8, W//8] - the //8 is because SD-family models run their latents at one-eighth the pixel size.
The presets are grouped by megapixel rather than by model, because FLUX and SD3.5 can both do 1MP and 2MP:
- 2MP - FLUX.1 and SD 3.5 (1408×1408, 1152×1728, 1920×1088, even a 21:9 2176×960)
- 1MP - shared across FLUX, SD3.5, and SDXL (1024×1024 and friends)
- 0.3–0.5MP - SD 1.5 territory (512×512 and the portrait/landscape variants)
The inputs that matter
- Aspect Ratio - the preset list. This is the one you'll actually touch.
- Custom Width / Custom Height - only read when Aspect Ratio is set to
custom. Min 64, max 8192. - Batch Size - 1 to 64. Generating a batch of 2MP FLUX images is a VRAM conversation you need to have before you dial this past 4.
Outputs
Five of them, and here's the honest bit: the one people reach for first, image_latent, is a 4-channel zeros tensor. That matches SDXL and SD 1.5 style latents, but FLUX and SD3.5 run 16-channel latents, so wiring this into a FLUX sampler will error out. On modern models you want image_width, image_height, and batch_size (plain INTs), or aspect_ratio, which is a clean 1024x1024 string meant for combo inputs that want a resolution label.
Install
It's in ComfyUI Manager - search "Open Creative Studio Nodes" and hit install. Or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/alessandroperilli/OCS_Nodes
Restart ComfyUI. There's no requirements.txt and no model download at install time - the pack only uses libraries ComfyUI already ships (torch, PIL, numpy). That's rare for a node pack and worth appreciating.
Where people get burned
- The latent output is a blank canvas, not a real encode - use the INT outputs for FLUX/SD3.5, or you'll get a channel-count mismatch.
- Batch × 2MP is where VRAM dies. The preset menu makes 2MP look free; it isn't.
- Custom resolution with no preset uses whatever you type in, so you can still shoot yourself in the foot - that's on you, the presets are there to keep you honest.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| Aspect Ratio | COMBO | 30 options: custom, --------- FLUX.1, SD 3.5 ---------, 1408x1408 (1:1 | 2MP), 1152x1728 (2:3 | 2MP), 1728x1152 (3:2 | 2MP), 1216x1664 (3:4 | 2MP), +24 | |
| Custom Width | INT | 6464–8192 | — |
| Custom Height | INT | 6464–8192 | — |
| Batch Size | INT | 11–64 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| aspect_ratio | * | — |
| image_width | INT | — |
| image_height | INT | — |
| image_latent | LATENT | — |
| batch_size | INT | — |