Nodes/ComfyUI Ino Nodes/Ino Is Image Landscape
ComfyUI Node

Ino Is Image Landscape

Is it landscape or portrait? Ask the node, then branch on it

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Is Image Landscape
  • image
  • is_landscape

Sometimes the smartest node in a workflow is the dumbest one. Ino Is Image Landscape looks at an image, checks whether the width is bigger than the height, and outputs a boolean. That's it. But that one boolean is what lets a workflow route a landscape image through a landscape-aware upscaler, or decide a 16:9 image needs different handling than a 9:16 one, without you watching over it.

It's one of the image helper nodes in ComfyUI-InoNodes, and it's the kind of tiny utility the pack scatters around so you can build conditional logic. There's a matching Ino Is Image Square for the width-equals-height case, and the same family does orientation checks you'd otherwise hand-roll.

The input and output

One required input, image - an IMAGE tensor, straight from a VAE Decode, a Load Image, or anywhere else images appear. One output: is_landscape, a boolean that's true when width is greater than height.

Under the hood it's exactly that check: it reads the tensor's shape (height, width), compares them, and returns the result. No aspect-ratio math, no thresholds, no "close enough." An exact 1920×1080 is landscape; an exact 1080×1920 is not; a square is not (that's what the square node is for).

Where it earns its keep

  • Route by orientation. Feed the boolean into an Ino Switch On Bool to pick a different upscaler, sampler, or crop path for landscape vs. portrait.
  • Format-aware saving. Want 16:9 generations to land in one folder and 9:16 in another? Gate an Ino Save Images or file node on this.
  • Batch sanity checks. When you're running a folder of mixed images through a pipeline, a quick orientation check lets the workflow adapt per image instead of assuming one aspect ratio.

It pairs naturally with the pack's other helpers: Ino Compare Float or Ino Is Image Square for other numeric facts about the image, and the switch nodes to act on the result. Build the whole decision chain out of these and your workflow stops needing a human to babysit orientation.

Gotchas

Two small ones. First, this measures the tensor dimensions, which are the pixel dimensions as decoded - it has nothing to do with EXIF orientation or any rotation metadata. If an image was shot sideways, the node reports what the pixel grid says, not what a human sees. Second, for a batched tensor it uses the batch's height and width, which are shared across the batch anyway, so there's no per-frame subtlety to worry about.

And the usual pack caveat: every node in ComfyUI-InoNodes has an enabled toggle. Leave it on - this one has no reason to be off.

Installation

Ships with ComfyUI-InoNodes:

  • ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/nobandegani/comfyui_ino_nodes && cd comfyui_ino_nodes && pip install -r requirements.txt, restart.

Python 3.10+, ComfyUI 0.18.1+ (V3 schema). No models, no keys. If you're already running the pack, it's on your palette - and honestly, for a node this simple, the fact that it's in the pack is most of the appeal. It's one less thing to hand-roll or wire up with a math node.

CategoryInoImageHelper

Inputs (1)

NameTypeDefaultDescription
imageIMAGE

Outputs (1)

NameTypeDescription
is_landscapeBOOLEAN