π Image Dimensions
One reusable width/height pair for your whole graph
- width
- height
Width and height show up all over a typical ComfyUI graph - your Empty Latent Image, maybe a resize node further down, maybe a crop node, maybe something computing an aspect ratio. Left as separate widgets, changing your target resolution means hunting down every node that has its own copy of "1024" and "1024" typed in and editing them one at a time. Image Dimensions is GOAT's fix for that same class of problem their Sampler Settings node solves for steps/CFG/denoise: set width and height once, wire the outputs everywhere they're needed, and change your resolution in exactly one place.
How it works
There's no logic beyond holding two integers and passing them through as typed outputs. That's genuinely the whole node - its value is entirely in graph organization, not computation. You set it up once as a single "resolution" node near the start of your graph, then every downstream node that needs width or height (Empty Latent Image, a resize node, a dimension-aware math node) reads from its outputs instead of carrying its own separate widget value.
Inputs and outputs that matter
width(64β8192, default 1024)height(64β8192, default 1024)
Both are plain integer widgets - no aspect-ratio presets or step snapping beyond a step of 1, so you're typing exact pixel values rather than picking from a dropdown of common resolutions.
Two outputs, matching by name: width and height, both INT - connect them to any node's width/height inputs (right-click β convert widget to input on the target node first, if it isn't already exposed as one).
How to install it
ComfyUI Manager: search "GOAT Nodes", install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/AconexOfficial/ComfyUI_GOAT_Nodes.git
then restart ComfyUI. Nothing to download - it's two integer widgets and two outputs.
Common issues & troubleshooting
Not much can actually go wrong here - this is one of the simplest nodes in the pack, and there's no failure mode beyond the generic "did I actually connect the output" issue. If a downstream node still shows its own resolution instead of following this one, check that its width/height widgets were converted to inputs and wired to this node's outputs rather than left as standalone widgets sitting next to an unconnected wire.
Default is 1024x1024, which lines up with SDXL/Flux-era native resolution rather than SD1.5's 512x512 - worth remembering if you're building a template for an older SD1.5 checkpoint and forget to change it, since generating well above a model's trained resolution without a hi-res-fix step tends to produce composition artifacts and duplication.
Why not just use ComfyUI's own Empty Latent Image widgets directly? You can, for a single sampler. This node earns its place once your graph has more than one place that needs to know the target resolution - a resize step, an aspect-ratio calculation, a second sampler in a refine pass - where keeping one shared source of truth avoids the classic "changed it in one place, forgot the other three" bug.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 102464β8192 | β |
| height | INT | 102464β8192 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| width | INT | β |
| height | INT | β |