RenderZero Image Input
RenderZero Image Input — an upload loader that refuses to resize your picture
- IMAGE
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.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| slot_index | INT | 11–999 | — |
| image_slot | STRING | — | |
| target_width | INT | 10241–16384 | — |
| target_height | INT | 10241–16384 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |