Nodes/ComfyUI-Ardenius/Ard Position
ComfyUI Node

Ard Position

The node that tells you where your four tiles go

By ArdeniusAI·Created 2 years ago·Updated 2 years ago· 5
Ard Position
    • latent_width
    • latent_height
    • x_1
    • y_1
    • x_2
    • y_2
    • x_3
    • y_3
    • x_4
    • y_4
    width1024
    height1024
    upscale_multiplier1.5

    Ard Position doesn't touch an image at all - it computes numbers. Specifically, it computes the four quadrant origins you need when you're working with the pack's four-tile pattern: you give it the intended full-canvas width and height plus an upscale_multiplier, and it hands back the latent dimensions plus the x/y coordinates of all four corners (TL, TR, BL, BR) as ten integer outputs.

    Here's the mental model. Say you want a big canvas and you're building it from four tiles: you generate four images, each a quarter of the final composition, then place them. This node answers "where does each tile land?" It computes latent_width = width * upscale_multiplier and latent_height = height * upscale_multiplier, both rounded up to a multiple of 8, then sets the four origins at (0,0), (latent_width/2, 0), (0, latent_height/2), and (latent_width/2, latent_height/2). Those come out as x_1/y_1 through x_4/y_4.

    So the outputs, all INT: latent_width, latent_height, and the eight coordinates. The inputs are just the two dimensions and the multiplier (default 1.5). The node is marked as an output node, but it produces no preview - it's pure parameter plumbing.

    Where this fits in the pack: alongside Ard 4Crop Latent (which crops a latent into quadrants) and Ard 4Img Combine (which stitches decoded tiles back), Ard Position is the geometry brain. The coordinates can feed into latent-space paste/crop logic, or just serve as documented values for how big the upscaled canvas is and where each quadrant sits. The KB's upscaling material describes exactly this tiled pattern - the "generate four, stitch one" approach to getting a big image out of small-GPU-friendly chunks.

    Gotchas worth knowing:

    • The multiplier rounds to the nearest multiple of 8 for the latent dims, so the reported positions assume an 8-divisible canvas. If your tiles don't match those exact dims, the coordinates will be off.
    • The upscale_multiplier here is applied to the whole canvas before halving - so a 1024×1024 canvas at 1.5× gives a 1536×1536 latent with four 768×768 quadrants. That's a 1.5× per-axis upscale per tile, which is the sane range for a detail pass.
    • It outputs numbers, not tensors. Wire the coordinates into whatever paste/crop node you're using; there's nothing here to connect a latent to.

    Honest verdict: this is a math convenience node for one specific workflow - the pack's four-tile generation-and-stitch pattern. If you're doing that pattern, it saves you from writing the same arithmetic yourself and keeps the geometry consistent. If you're not doing four-tile work, it's useless to you, and ComfyUI's Math Expression nodes do the same arithmetic with more flexibility. Know what it's for and it's a fine little tool; expect nothing else.

    Install is the standard pack route - ComfyUI Manager → search ComfyUI-Ardenius, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ArdeniusAI/ComfyUI-Ardenius
    

    then restart ComfyUI. Pack-wide notes: civitai and moviepy install with the pack (nothing to do with this node), and a stray import error at startup is the Save Image node wanting comfyui_controlnet_aux - the rest of the pack loads.

    CategoryArdenius

    Inputs (3)

    NameTypeDefaultDescription
    widthINT102464–8192
    heightINT102464–8192
    upscale_multiplierFLOAT1.5

    Outputs (10)

    NameTypeDescription
    latent_widthINT
    latent_heightINT
    x_1INT
    y_1INT
    x_2INT
    y_2INT
    x_3INT
    y_3INT
    x_4INT
    y_4INT