Nodes/renderzero-comfyui-nodes/RenderZero Image Input
ComfyUI Node

RenderZero Image Input

RenderZero Image Input — an upload loader that refuses to resize your picture

By jamesstothard·Created 4 months ago·Updated 4 months ago· 1
RenderZero Image Input
    • IMAGE
    slot_index1
    image_slot
    target_width1024
    target_height1024

    When RenderZero hands your workflow an "additional reference image," RenderZero Image Input is the node that receives it. It's a raw upload loader, period: RenderZero drops a file into ComfyUI's input directory, this node turns it into an IMAGE tensor, and everything downstream sees your photo exactly as uploaded - native aspect ratio preserved, no letterboxing, no forced resize. That's the whole job, and the fact that it's that boring is the point.

    How it works

    The mechanism is a single honest file load: it resolves image_slot against the input directory (with a path-escape guard so a malicious filename can't wander elsewhere), EXIF-transposes the image, converts to RGB, and returns it as a float tensor. The three integer inputs that look important - slot_index, target_width, target_height - are accepted and then ignored. All three are del'd before loading. target_width and target_height exist purely for workflow compatibility; the author's intent, spelled out in the README, is that any resize, crop, or normalization happens downstream with normal ComfyUI nodes like ImageScaleToTotalPixels or ImageScale.

    That's a deliberate design call, and a sensible one. Padding or squashing an upload to a canvas size destroys exactly the reference fidelity you uploaded it for.

    The inputs that matter

    • image_slot (STRING) - the filename RenderZero uploaded. You won't set this by hand in normal use.
    • slot_index (INT, default 1) - just a label for which RenderZero slot this maps to, one image per index. It has no effect on the load.
    • target_width / target_height - ignored, kept for compatibility. If a workflow you imported still has values in them, don't assume the output is that size; check the actual tensor.

    The single output is IMAGE. It feeds wherever you'd feed a reference image: an IP-Adapter-style reference input, a video model's start-image, or just a VAEEncode for img2img. If you need a specific size for your model, pipe this into ImageScaleToTotalPixels first rather than hoping the node does it for you.

    Installing it

    Same as every node in this pack - one repo, one install. ComfyUI Manager, search "renderzero-comfyui-nodes," Install, restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jamesstothard/renderzero-comfyui-nodes renderzero_bridge_nodes
    

    Then restart ComfyUI. No requirements.txt, no model downloads, nothing that can break your Python environment. This is about as dependency-free as a custom node gets.

    Common issues

    The one real failure mode is an empty image_slot, which raises a clear "RenderZero image input is missing image_slot" error - that's the platform's way of telling you it hasn't uploaded anything yet, so it's usually a queueing order problem rather than a bug. And if your output looks off, check whether you're the victim of the compat fields: a workflow that was designed around target_width/target_height doing the work will silently ignore them here, and your reference will arrive at native resolution. That's correct behavior - it just surprises people who imported a workflow built for a different loader.

    CategoryRenderZero

    Inputs (4)

    NameTypeDefaultDescription
    slot_indexINT11–999
    image_slotSTRING
    target_widthINT10241–16384
    target_heightINT10241–16384

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE