Checkbin Get Image Bin
Pull the input image back out of the bin — the other direction of a Checkbin run
- bin
- bin
- image
What it's for
Checkbin Get Image Bin is the retrieval half of the pack. Save Image Bin uploads a candidate to the bin; this node goes the other way and downloads an image back out of it as a normal ComfyUI IMAGE tensor you can process. You reach for it when your workflow needs the input image that a Checkbin run is built around - say, the original low-res photo that two upscalers will fight over.
Look at the shipped example and the pattern snaps into focus: Start Run opens a run over a folder of input images, and two Get Image Bin nodes each fetch the image slot from the bin. That same source photo then feeds two parallel upscale paths (Flux-ControlNet-Upscaler and SUPIR), each saves its result, and humans vote on the pair. Get Image Bin is what turns "the run's input" into something your graph can actually touch.
How it works
The source in bin_node.py is honest about being a small HTTP client. It calls bin.get_input_file_url(name) to ask Checkbin for the URL of an uploaded input file, downloads it with requests, writes it to a temp file, opens it with PIL, converts to RGB, and turns it into a float tensor normalized to 0–1 (image = np.array(image) / 255.0). Out comes a standard [1, H, W, C] tensor ready for any node that eats IMAGE.
So yes - this node makes a network call every time it runs. It fetches from Checkbin's servers, not from local disk, which is exactly the point: the input images live in the bin, not on your machine.
The inputs that matter
Both are required:
- bin - the
CHECKBINoutput from Start Run. With a directory-backed run that fans out to a list of bins, this node runs once per input image, fetching the right one each time. - name - the slot to fetch. The example uses
image(the default name Start Run gives auto-uploaded directory files). It must match the name the input was stored under; there's no fuzzy matching.
The outputs
Two outputs: bin (the same bin, passed through so the chain continues to Save/Submit) and image (the freshly downloaded tensor). Wire image into your upscaler, img2img sampler, or whatever wants the source. Keep bin flowing onward.
Installing it
Part of the checkbin-comfy pack, installed once for all six nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/checkbins/checkbin-comfy
Restart ComfyUI, or use ComfyUI Manager → search "checkbin-comfy". The only dependency is the checkbin package (the sole line of requirements.txt), and there are no model files to fetch. Don't mistake the name for a model loader - this is a client node, and its only "cost" is the HTTP round-trip to app.checkbin.dev.
Common issues
No file found with name: X- the classic failure. The name you passed doesn't match any input slot in the bin. Double-check the spelling against the name used at upload or the auto-upload default (image).- Offline graph - because it downloads over the network, a machine without internet access can't use it. If the fetch fails mid-run you'll see a
requestserror, not a graceful skip. - It's not a local file loader - if your input images are already on disk, a plain Load Image node is cheaper and needs no API. Use this one only when the source of truth is inside a Checkbin bin.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| bin | CHECKBIN | — | |
| name | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| bin | CHECKBIN | — |
| image | IMAGE | — |