Nodes/ComfyUI_RH_API/πŸ“€ RH Upload File
ComfyUI Node

πŸ“€ RH Upload File

Upload any file type to RunningHub

By xuchenxu168Β·Created 9 months agoΒ·Updated 9 months agoΒ· 7
πŸ“€ RH Upload File
  • config
  • RH_PARAM
β—„node_idβ–Ί
β—„field_nameβ–Ύβ–Ί
β—„file_pathβ–Ί

RH Upload File is the pack's generic uploader: when you have a file that isn't an image tensor, a video object, or a latent - a .txt prompt list, a .json config, a LUT, a random asset - this is the node that gets it onto RunningHub. The pack's specialized uploaders are nicer for their own types, but this one never says no.

It's a brute-force four-field node, and there's a real lesson in how it's built. All four inputs are required:

  • config - from RH Config.
  • node_id - the target node inside the RunningHub workflow. Unlike the image/video/audio uploaders, there's no "just upload without attaching" mode here; this node is all about producing a parameter.
  • field_name - a dropdown of text, image, audio, video, latent, mask, or file. This labels what kind of input the remote node expects, so the workflow knows how to treat the uploaded file.
  • file_path - the local path to the file. It must exist on disk; a missing file raises FileNotFoundError before anything is sent.

How it works

It reads the file into a buffer, guesses the MIME type via Python's mimetypes (falling back to application/octet-stream for unknown extensions), and uploads to /task/openapi/upload with fileType: file. Then it wraps the returned server filename in a parameter entry - {nodeId, fieldName, fieldValue} - and returns that as a single-element param list.

That's the shape to know: the output is one parameter entry, meant to be wired into the params input of RH Execute or chained alongside other uploaders. It's not an image or a filename you'd look at - it's a "this file should land on this node's input" instruction.

The catch

Because it produces a parameter entry, node_id and field_name have to match the cloud workflow exactly, or the file uploads fine and the workflow ignores it - a silent waste of an upload. Double-check the remote node's actual input name before you commit. Also keep the file reasonable: there's no built-in size cap here, so huge files just hammer the retry/backoff logic until they fail or eventually land.

Install

Pack-wide, same as the rest: ComfyUI Manager (search ComfyUI_RH_API) or git clone https://github.com/xuchenxu168/ComfyUI_RH_API.git into custom_nodes + pip install -r requirements.txt, then restart ComfyUI. No models to fetch - everything this pack sends is data, not weights.

CategoryKen-Chen/RH-API

Inputs (4)

NameTypeDefaultDescription
configRH_CONFIGβ€”
node_idSTRINGβ€”
field_nameCOMBO7 options: text, image, audio, video, latent, mask, +1
file_pathSTRINGβ€”

Outputs (1)

NameTypeDescription
RH_PARAMRH_PARAMβ€”