π€ RH Upload Video
Send a local clip up to a cloud workflow β RH Upload Video
- config
- video
- previous_params
- filename
- params
RH Upload Video is the video sibling of RH Upload Image: it takes a video that exists locally, pushes it to RunningHub, and optionally attaches it as a parameter to a node in the cloud workflow. If you're running an image-to-video or video-edit workflow on RunningHub and your starting clip lives on your machine, this is the node you'll use.
Same shape as the image uploader, same design philosophy. Feed it a config from RH Config plus a video, and it uploads the file to /task/openapi/upload with fileType: video, then - if you give it a target - builds a parameter entry so the cloud workflow knows where to put it.
The video input is the fiddly bit
The node's tooltip says it accepts "video input from Load_AF_Video or other video nodes," and the code is deliberately lenient about what shows up: it will take a VIDEO object that has a file_path or filename attribute, or a plain string path. Underneath, it needs a real file on disk - it checks os.path.exists and raises FileNotFoundError if there's nothing there. So if your video is only a virtual collection of frames in memory (e.g. from a Video Combine chain), export it to a file first; this node uploads files, not frame stacks.
The rest of the inputs
The optional node_id, field_name, custom_field_name, and previous_params work exactly like RH Upload Image. The field_name dropdown is the video-flavored set - video, init_video, reference, or custom - and node_id is the ID of the target node inside the RunningHub workflow. Leave node_id empty and it uploads the clip without attaching it to anything (a "just get this file up there" move).
Outputs are the same two: filename (server-side name) and params (the chain, with this upload appended if you set a node_id). Feed params into RH Execute.
Gotchas
The whole thing depends on the video being findable on disk, so a renamed or deleted source file fails at this node - which is the correct place to fail. There's no explicit size check in the code for video (unlike the image node's 10MB guard), so keep clips reasonable; very large files will eventually hit RunningHub's own limits and you'll see it as an upload retry/failure in the console. And note the video ends up as a path reference on the cloud - RunningHub loads it into the workflow as a file input, so it can't be "edited" before it's used.
Install: ComfyUI Manager (search ComfyUI_RH_API) or git clone https://github.com/xuchenxu168/ComfyUI_RH_API.git + pip install -r requirements.txt, then restart. No models to download - the cloud runs those.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| config | RH_CONFIG | RunningHub configuration from RH_Config node | |
| video | VIDEO | Video input from Load_AF_Video or other video nodes | |
| node_idopt | STRING | Node ID to set parameter (leave empty to skip parameter setting) | |
| field_nameopt | COMBO | video | Field name to set (only used if node_id is provided) |
| custom_field_nameopt | STRING | Custom field name (only used when field_name is 'custom') | |
| previous_paramsopt | RH_PARAMS | Connect previous params to chain parameters |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| filename | STRING | β |
| params | RH_PARAMS | β |