Image Uploader
Upload an image to Catbox or Uguu without ever leaving ComfyUI
- image
- IMAGE_URL
You made an image in ComfyUI and you need it on the internet - a reddit thread, a Discord server, a friend's browser. You could save it, drag it into a browser tab, upload it to an image host, then copy the link. Or you could add one node to your graph and let the link come to you.
That's the entire job of ImageUploader. It takes whatever image is sitting in your workflow, uploads it as a PNG to Catbox or Uguu - free, anonymous, no-account image hosts - and hands you back a URL string. No API key required for the default path, no config file, no server of your own. It's the kind of tiny utility node that feels pointless until the day you need it, and then it saves you a minute of tab-switching every single time.
The name is not a lie, but it's worth noting what it is not: this is not a node that saves your image to disk, and it doesn't call any paid API. The workflow-sharing culture in the ComfyUI world runs on exactly these hosts - scroll any r/comfyui thread asking for help and you'll see half the replies are files.catbox.moe/... and a.uguu.se/... links to workflow PNGs. This node is how you become one of those links.
How it works
Under the hood it's refreshingly simple. The node takes your IMAGE tensor, converts it to a NumPy array, saves it to memory as a PNG, and POSTs it with requests to the host's upload API:
- Catbox posts to
https://catbox.moe/user/api.phpwithreqtype=fileupload, and the response body is the URL. - Uguu posts to
https://uguu.se/uploadand parses the JSON response to pull out the file URL.
No models to download, no GPU involvement - it's pure networking. The pack ships zero Python dependencies of its own (there's no requirements.txt at all); it relies on requests, which ComfyUI already bundles. If the node loads, you're done installing.
The inputs that matter
The schema is just three inputs and one output:
- image (IMAGE) - wire your decoded output here.
- host - the dropdown:
catboxoruguu. Catbox is the safer default: files hang around (roughly until they stop getting downloaded), while Uguu genuinely deletes files after a few hours. If the link needs to work tomorrow, pick Catbox. - key - leave this blank. For Catbox it's an optional "userhash" that associates uploads with an account so you can manage/delete them later. The README warns to be careful sharing metadata when you use a key - so if you don't have a specific reason, don't set one.
The output is a single IMAGE_URL string. One warning, straight from the source code: the node returns the whole sentence - Posted image to catbox with url: https://files.catbox.moe/... - not a bare URL. If you're wiring this into a node that expects a clean link, you'll want to strip the prose first.
How to install
Via ComfyUI Manager, search for Image Uploader (pack title: conquestace/ComfyUI-ImageUploader) and install. Or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/conquestace/ComfyUI-ImageUploader
Then restart ComfyUI. No pip install, no model downloads - the startup log even prints a friendly "Image Uploader Loading Success!" so you know it took.
Gotchas worth knowing
- It's not an output node. ImageUploader won't mark itself as an output, so if you build a graph that ends at it, ComfyUI won't auto-save the result. Keep a
Save Imagenode in the chain if you want a local copy too. - PNG only, always. There's no JPEG option, so a 2K render becomes a hefty PNG upload - on a slow uplink, expect a pause before the URL appears.
- One image per run, effectively. The code loops over a batch but returns after the first frame, so treat it as one-image-at-a-time rather than a batch uploader.
- Silent failures. There's minimal error handling; if the POST fails (host down, network hiccup), you can get an empty string back instead of a URL. If your output is blank, try the other host.
It's a humble little node with a couple of sharp edges, but for the specific job of "get this image onto the internet right now," it's the one I'd reach for. Add it next to Save Image, and the workflow-sharing step of your life gets a whole lot shorter.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| key | STRING | — | |
| host | COMBO | 2 options: catbox, uguu |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE_URL | STRING | — |