Aspect Ratio Mobile Devices
Phone and tablet resolution presets for wallpapers
- width
- height
- upscale_factor
- prescale_factor
- batch_size
- empty_latent
- show_help
Making a phone wallpaper and don't want to look up whether the iPhone 15 Pro Max is 1290x2796 or 1284x2778? This node is the answer. It's a dropdown of 19 device panels - iPhone 11 through 15 Pro Max in the sample, and the pack's blurb mentions iPad and Samsung Galaxy sizes too - and it spits out the exact width and height for the one you pick, plus a matching empty latent to feed your sampler. It's the mobile sibling of the pack's "Aspect Ratio Popular" node, and it shows up in the menu as Aspect Ratio Mobile Devices.
That's the entire pitch: correct phone dimensions without a browser tab open to a spec sheet.
How it works
Under the hood it's a lookup table keyed on device name. Choose a device_resolution, and it emits that device's real pixel dimensions. Like its sibling, it doesn't just give you numbers - it also builds an empty_latent at those dimensions (times batch_size), so you can run it straight into a KSampler and skip the separate Empty Latent node.
prescale_factor scales the generation size, upscale_factor is passed through for a later upscale stage, following the standard convention for these preset nodes. Both come back out as outputs so the values travel down the graph.
The inputs and outputs that matter
device_resolution- the device preset. The only input you'll normally touch.swap_dimensions(Off/On) - phones are portrait, but flip this if you want landscape.batch_size- folded into the latent, so N wallpapers per run.
prescale_factor and upscale_factor (floats, default 1) are scaling helpers; leave them alone until you're doing multi-stage work.
Outputs: width, height (INT), the empty_latent (LATENT) for your sampler, then upscale_factor, prescale_factor, batch_size passthroughs and a show_help string.
Installing it
ComfyUI Manager: search ComfyUI_Nimbus-Pack, install, restart. It's a small pack and may not be indexed, in which case clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/sergekatzmann/ComfyUI_Nimbus-Pack.git
pip install -r ComfyUI_Nimbus-Pack/requirements.txt
Restart afterward. This node has no models or heavy dependencies - the requirements.txt is really for the pack's video node.
Common issues & troubleshooting
Phone resolutions are brutal on native-resolution models - worse than the desktop ones. A modern phone panel is something like 1290x2796: tall, narrow, and roughly 3.6 megapixels. Diffusion models are trained at a native resolution (1024x1024 for SDXL and Flux, 512 for SD 1.5), and generating at an aspect ratio and pixel count that far off produces duplicated anatomy, stretched limbs and repeating patterns. That extreme portrait shape is exactly the case the "stretched body" complaints are about.
So don't render at the full device resolution. Use prescale_factor to knock the generation size down toward native (aim for around a megapixel at a tall-ish ratio like 832x1216 for SDXL), generate cleanly there, then upscale to the phone's real size with an ESRGAN model or a tiled upscaler. The upscale_factor output exists to carry that number to your upscale node.
Manager can't find it. Niche pack - clone it manually.
Wallpaper came out landscape. Toggle swap_dimensions; a couple of the panels may be stored width-first.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| device_resolution | COMBO | 19 options: iPhone 14-15 Pro Max - 1290x2796, iPhone 14-15 Pro - 1179x2556, iPhone 13 Pro Max - 1284x2778, iPhone 13 Pro - 1170x2532, iPhone 13 - 1170x2532, iPhone 13 Mini - 1080x2340, +13 | |
| swap_dimensions | COMBO | 2 options: Off, On | |
| upscale_factor | FLOAT | 1.00.1–10 | — |
| prescale_factor | FLOAT | 1.00.1–10 | — |
| batch_size | INT | 11–64 | — |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| width | INT | — |
| height | INT | — |
| upscale_factor | FLOAT | — |
| prescale_factor | FLOAT | — |
| batch_size | INT | — |
| empty_latent | LATENT | — |
| show_help | STRING | — |