Nodes/comfyui_qwen_runninghub/RunningHub Image Enhancer
ComfyUI Node

RunningHub Image Enhancer

RunningHub Image Enhancer is cloud upscaling on autopilot

By marduk191·Created 9 months ago·Updated 9 months ago· 2
RunningHub Image Enhancer
  • image
  • IMAGE
webapp_id
api_key
timeout600

Feed it an image, get a nicer image back. RunningHub Image Enhancer is the one-node answer to "make it look better," and it's notable for what it doesn't have: no prompt, no sliders, no scale selector. Just an image in, an enhanced image out, with all the actual work happening on RunningHub's servers. Your GPU does nothing, and you never have to learn what an ESRGAN is. For a beginner who just wants a cleaner result, that's honestly kind of lovely.

It's one of five nodes in marduk191/comfyui_qwen_runninghub (a port of the freeqwenimage webapp), and it carries the same caveat as the rest of the pack, quoted straight from the README: "This is untested as I have no access to runninghub. It might work, It might not." The code is straightforward, but nobody's run it end to end - so treat your first enhance as a smoke test.

How it works

Same cloud pipeline as its siblings: the first frame of your IMAGE tensor is saved to a temp PNG, uploaded to RunningHub's /task/openapi/upload endpoint, and a job is submitted with the file ID and nothing else. The node polls /task/openapi/status every three seconds, downloads the first result, and converts it back into an IMAGE tensor. No prompt to send because there's nothing to describe - enhancement happens on the backend's terms.

The inputs that matter

Just three, plus the wait knob:

  • image - what you want cleaned up. Any IMAGE source works: LoadImage, a generation, or RunningHubLoadImage for a URL.
  • webapp_id / api_key - your RunningHub credentials.
  • timeout - default 600 seconds, max 1800. Bump it if the service is queueing.

That's it. The absence of controls is the whole design, and it's also the thing to know going in.

The black box problem

Here's the honest take. Upscaling isn't one job, it's three: adding pixels, adding detail, and adding detail over time. A local pipeline lets you choose - a fast ESRGAN model for pure pixels, SeedVR2 when you want a generative restorer to invent detail, tiled upscaling when you're VRAM-poor. RunningHub Image Enhancer collapses all of that into one opaque button. You don't know the model, the target resolution, or whether it's sharpening or regenerating. For "my render looks soft, please fix it" that's fine. For anything where the outcome matters - a client deliverable, a face you need to recognize, a print size - you're flying blind, and the local stack with visible controls is still the answer. This node is the convenience option, not the quality option.

Install

Lightweight, no models on disk. From your ComfyUI root:

cd ComfyUI/custom_nodes
git clone https://github.com/marduk191/comfyui_qwen_runninghub
cd comfyui_qwen_runninghub
pip install -r requirements.txt

Restart and look under "RunningHub". Dependencies are requests, Pillow, numpy and torch - nothing you don't already have. Manager can usually install it by pack title, though it's not in the official Comfy Registry, so clone directly if Manager comes up empty.

Credentials and troubleshooting

Same routine as the rest of the pack: a WEBAPP_ID and API_KEY from your RunningHub dashboard, as env vars before startup or pasted into the widgets:

export RUNNINGHUB_WEBAPP_ID="your_webapp_id"
export RUNNINGHUB_API_KEY="your_api_key"

"RunningHub credentials are required" means a blank field. Timeouts happen when the backend queues; raise timeout to 900+ and retry. Task failed errors come from the API with a reason in the console - check credentials, credits, and that your image actually uploaded. And since the author never tested this against a live RunningHub account, a hard failure usually points at the hardcoded API node IDs drifting out of sync with RunningHub's backend.

Where it fits

Drop it at the end of a pipeline as a one-shot polish: LoadImage → RunningHubImageEnhancer → SaveImage. It's the right tool when you want a better-looking image with zero fiddling and zero local cost. Just don't ask it to be precise - that's not what it's for.

CategoryRunningHub

Inputs (4)

NameTypeDefaultDescription
imageIMAGE
webapp_idSTRING
api_keySTRING
timeoutoptINT60060–1800

Outputs (1)

NameTypeDescription
IMAGEIMAGE