Nodes/RunningHub/RH Text to Video
ComfyUI Node

RH Text to Video

A cloud text-to-video node that returns a URL, not frames

By liangzheng1128·Created 3 months ago·Updated 3 months ago· 0
RH Text to Video
    • video_url
    • task_id
    prompt
    api_key
    base_urlhttps://www.runninghub.cn
    workflow_id
    negative_prompt
    timeout600

    Video generation is the single most demanding thing you can ask a GPU to do, which makes it the most obvious candidate to hand off to the cloud. RH Text to Video does exactly that: prompt in, API key and workflow ID supplied, and it runs a text-to-video workflow on RunningHub, waits out the render, and hands you back a URL to the finished video plus the task ID.

    The mechanism is the same shape as the other Model nodes - submit a task via the open API, poll until done, read the results - with one crucial difference in what comes out. You do not get video frames or a VIDEO tensor. You get a video_url string. That's the whole output story, and it's the thing most people trip on.

    The fields that matter

    Required:

    • prompt - the video prompt (multiline).
    • api_key, base_url, workflow_id - credentials (pasted directly, no RH Settings needed) plus the text-to-video workflow to run. .cn base URL by default; .ai for international.

    Optional:

    • negative_prompt - sent along if filled.
    • timeout (600s default) - cloud renders take a while; the higher default than the image nodes is intentional. Video jobs are exactly what hits this.

    Outputs:

    • video_url (STRING) - the remote URL of the finished video.
    • task_id (STRING) - so you can track or cancel it later.

    What you do with a URL

    Wire video_url into RH Download Video to pull the file down and (optionally) extract frames as an IMAGE tensor for local processing, or just copy it to a browser. If you want the video as frames for further local work, that Download node's extract_frames option is the path - this node itself never touches the actual video bytes, it only ever sees the URL.

    If the workflow returns something that isn't a video, the node falls back to returning the first result URL, so always sanity-check that the URL points at a video and not a stray image or error page.

    The hardcoded node ID, one more time

    You can probably guess by now: the source bakes nodeId "6" for the prompt and "7" for the negative. This node assumes your workflow's text node is 6. Stock RunningHub text-to-video templates typically match; hand-built workflows often don't, and a mismatch means your prompt silently never reaches the sampler. When that happens, switch to RH Node Info + RH Execute Workflow where you control the IDs.

    And the platform realities apply with extra force here: video jobs are the expensive ones, so watch timeout, and a render on RunningHub's shared pool can drift well past its estimate. Failed runs return an error string in video_url rather than a URL - read it before assuming your workflow is broken. Your prompt leaves the machine, and the platform enforces its own content filter, which the community has confirmed is strict on video.

    Install

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

    or ComfyUI Manager → search "RunningHub", restart. Light deps: requests, websocket-client, Pillow, numpy - no local video stack needed, which is sort of the point.

    CategoryRunningHub/Model

    Inputs (6)

    NameTypeDefaultDescription
    promptSTRINGText prompt for video generation
    api_keySTRING
    base_urlSTRINGhttps://www.runninghub.cn
    workflow_idSTRINGRunningHub workflow ID for text-to-video
    negative_promptoptSTRING
    timeoutoptINT6001–9999999

    Outputs (2)

    NameTypeDescription
    video_urlSTRING
    task_idSTRING