Nodes/ComfyUI_RH_APICall/RH Image Uploader
ComfyUI Node

RH Image Uploader

Push a local image into a RunningHub cloud workflow

By HM-RunningHub·Created 2 years ago·Updated 3 months ago· 288
RH Image Uploader
  • apiConfig
  • image
  • filename

If you want to run an img2img or a controlnet job on RunningHub's GPUs but the source image is sitting on your machine, this is the node that bridges the gap. RH_ImageUploaderNode takes an image out of your local ComfyUI graph, uploads it to RunningHub, and hands you back the remote filename it landed under. That filename is the thing you actually reference inside the cloud workflow.

Here's why it has to exist at all. ComfyUI_RH_APICall runs your workflow on RunningHub's servers, not your PC. So a node in that cloud workflow can't just reach into your hard drive - it has no idea your files exist. Someone on r/StableDiffusion hit exactly this: their local prompt-loader node "doesn't work on RunningHub because it can't connect to my PC." Same deal for images. Anything the remote graph needs from your side has to be uploaded first, and this node is the upload step for images.

How it works

Feed it an IMAGE - the ordinary ComfyUI image type, straight out of a Load Image node, a VAE Decode, whatever. The node sends that image up to RunningHub through the API and returns a filename string: the name the file now has on their side. You don't open that file yourself. You pass the filename into an override (via the pack's NodeInfoList node) that tells a specific node in your cloud workflow "use this uploaded image as your input." Load-image node in the cloud, meet the file you just uploaded.

The inputs and outputs that matter

Two inputs, one output, nothing fiddly:

  • image (IMAGE) - the local image to upload. Normal ComfyUI wire.
  • apiConfig (STRUCT) - the credential bundle from the RH_SettingsNode. This is how the uploader knows which account and endpoint to push to. Wire your Settings node in here; without it there's no auth and nothing uploads.

The output is filename (STRING) - the remote name of your uploaded image. Route it into a NodeInfoList override, and from there into the main execute node that fires the workflow.

Installing it

The whole pack installs in one shot, and there are no models or weighty dependencies to pull because the compute is remote:

  • ComfyUI Manager: search ComfyUI_RH_APICall, install, restart.
  • Manual: cd ComfyUI/custom_nodes && git clone https://github.com/HM-RunningHub/ComfyUI_RH_APICall, then restart ComfyUI.

You'll need a RunningHub account and API key, entered on the RH_SettingsNode (not here - this node just consumes the config the Settings node produces). The pack's examples/ folder has an img2img workflow that shows the uploader wired end to end; start from that rather than building it blind.

Where people get stuck

Most trouble here is upstream of the node itself. If it errors on run, check the Settings node first: a blank or wrong apiKey, or a base_url pointed at runninghub.cn when your account is on runninghub.ai. Auth problems surface at the first node that talks to the network, which is often this one.

The subtler failure is when the upload succeeds but the image still doesn't show up in your result. That's almost never the uploader - it's the override. You uploaded fine and got a filename back, but the NodeInfoList entry that's supposed to feed that filename into the cloud workflow is pointing at the wrong node ID or field, so the remote graph quietly runs on whatever default it already had. When the output looks like your image got ignored, verify the override targets the correct load-image node as it exists on RunningHub, and that you're actually passing this node's filename into it. And the standing reminder for the whole pack: your image leaves your machine and lands on someone else's server, so upload things you're comfortable handing to a third party.

CategoryRunningHub

Inputs (2)

NameTypeDefaultDescription
apiConfigSTRUCT
imageIMAGE

Outputs (1)

NameTypeDescription
filenameSTRING