Nodes/ComfyUI-WBLESS/RunningHUB LLM
ComfyUI Node

RunningHUB LLM

One node, every frontier LLM, zero VRAM

By LaoMaoBoss·Created about a year ago·Updated 16 days ago· 0
RunningHUB LLM
    • text
    • reasoning
    • raw_response
    api_key
    base_urlhttps://llm.runninghub.ai/v1
    modeldeepseek/deepseek-v4-flash
    custom_model
    reasoning_effortnone
    system_instructionYou are a helpful assistant
    user_input
    max_tokens2048
    temperature1.0
    top_p1.00
    presence_penalty0.0
    frequency_penalty0.0

    RunningHUB LLM is the "which model do I feel like calling today" node. Same trick as its sibling in this pack, RunningHub DeepSeek Chat - a thin HTTP client that talks to RunningHub's OpenAI-compatible relay - except the model dropdown isn't two DeepSeek entries, it's 53. OpenAI GPTs, Claude, Gemini, DeepSeek, Qwen, GLM, Doubao, Grok, MiniMax. If a frontier model has an API, this node probably has a slot for it.

    It's part of ComfyUI-WBLESS, LaoMaoBoss's utility grab-bag, which also carries global variables, flow switches, scaling helpers, and a matching family of single-vendor chat nodes. This one is the kitchen-sink member of that family.

    Why you'd reach for it

    Same calculus as every API-wrapper node, in the KB's words: a model with no open weights has only one door, and it's a network call. But the real draw here is the menu. Instead of installing a separate node per vendor - a Gemini node here, a Qwen node there - you get every provider behind one key and one base URL. It's especially handy on RunningHub's own cloud ComfyUI, where you can't run a local Ollama anyway because it's a shared environment. The relay also solves a practical Chinese-user problem baked into the README: switch base_url to https://llm.runninghub.cn/v1 and you're on the domestic endpoint without changing anything else.

    One honest caveat from the KB: for plain prompt enhancement, a small local model is usually the better default - free, offline, uncensored. This node is for when you specifically want frontier-chat quality, don't mind per-call cost, and accept that the API path filters what it will produce.

    How it works

    No magic, and that's a feature. It builds an OpenAI-style /chat/completions request with your system and user messages, POSTs it to {base_url}/chat/completions with Authorization: Bearer <key>, and parses the reply - all in Python's stdlib urllib. No openai SDK, no heavy pip dependency to nuke your environment, and the source in core/runninghub_llm.py is short enough to read on a coffee break.

    The security frame applies here louder than usual: this node holds a key and calls the network by design, from the exact category the KB warns shipped credential-stealing malware once (LLMVISION). This one is open, small, and uses only stdlib - but it also disables SSL certificate verification to tolerate corporate proxies. Skim the code, and don't reuse your main platform key if that bugs you.

    The inputs and outputs that matter

    You'll touch maybe four fields:

    • api_key - from runninghub.ai/enterprise-api/sharedApi (the CN mirror at .cn if you switched base URLs). "Bearer" optional.
    • model - the 53-entry dropdown. Slugs are vendor-prefixed, like openai/gpt-5.4-pro, anthropic/claude-sonnet-4.5, google/gemini-2.5-pro. The list mirrors RunningHub's catalog at pack release, so it drifts - which is why there's…
    • custom_model - type any model ID here and it overrides the dropdown. This is the field that keeps the node useful after the menu goes stale, and it's the one beginners miss.
    • reasoning_effort - none by default; bump to low/high/max to get chain-of-thought from the reasoning models, which lands in the reasoning output.

    Everything else - system_instruction, user_input, max_tokens, temperature, top_p, and the two penalties - is standard chat-apparatus. Leave the sampling knobs alone until you have a reason.

    Outputs are the same trio as the sibling node: text (the answer, wire it into a prompt or text node), reasoning (scratch-work when effort > none), and raw_response (the raw JSON, for when you suspect something).

    Installing it

    cd ComfyUI/custom_nodes
    git clone https://github.com/LaoMaoBoss/ComfyUI-WBLESS.git
    

    Or just search ComfyUI-WBLESS in ComfyUI Manager and install. No model files, no pip install - the one helper it uses (cozy_comfyui) is bundled in the repo.

    Common issues

    Missing or wrong key fails loudly with "please provide a valid RunningHub API Key" - it's the enterprise/shared key, not a personal account. The subtler trap: when the relay returns an error object the node doesn't crash, it stuffs API error: ... into text and looks successful. If output seems off, check raw_response. And remember the CN-mirror rule: key and base_url have to come from the same side of the runninghub.ai/.cn divide, or you'll chase auth errors that are really an endpoint mismatch.

    Category🌈WBLESS

    Inputs (12)

    NameTypeDefaultDescription
    api_keySTRING
    base_urlSTRINGhttps://llm.runninghub.ai/v1
    modelCOMBOdeepseek/deepseek-v4-flash53 options: openai/gpt-5.6-sol-saver, openai/gpt-5.6-terra-saver, openai/gpt-5.6-luna, openai/gpt-5.5-saver, openai/gpt-5.5-pro, openai/gpt-5.4-pro, +47
    custom_modelSTRING
    reasoning_effortCOMBOnone4 options: none, low, high, max
    system_instructionSTRINGYou are a helpful assistant
    user_inputSTRING
    max_tokensINT20481–131072
    temperatureFLOAT1.00–2
    top_pFLOAT1.000–1
    presence_penaltyFLOAT0.0-2–2
    frequency_penaltyFLOAT0.0-2–2

    Outputs (3)

    NameTypeDescription
    textSTRING
    reasoningSTRING
    raw_responseSTRING