Nodes/ComfyUI VIDU/Upscale Video (VIDU)
ComfyUI Node

Upscale Video (VIDU)

It doesn't take a video file, it takes an ID

By 1zhangyy1·Created 2 years ago·Updated about a year ago· 10
Upscale Video (VIDU)
    • video_url
    • cover_url
    • task_id
    creation_id
    token
    model

    If you searched "upscale video ComfyUI" and landed here expecting a local ESRGAN-style node you feed a video file into, stop and read this first: that's not what this is. This node doesn't accept a video at all - it takes a creation_id, which only exists if Vidu itself already generated the clip for you. It's the upscale step of Vidu's own pipeline, exposed as a ComfyUI node, not a general-purpose video upscaler.

    What it actually is

    This node ships as part of comfyui-vidu-nodes, a small wrapper pack around Vidu's cloud video API. Vidu is a real, working closed-source video-generation service - in community shorthand it gets lumped in with Kling and Hailuo as one of the Chinese labs that ships nothing open, API only. That matters here because "closed-source" isn't just a licensing footnote: it means every node in this pack, this one included, does zero local compute. No model download, no GPU work in your ComfyUI process. You send a request to Vidu's servers, they do the upscaling, you get back a URL.

    So the workflow this node belongs to always starts with one of the pack's other generators - Text to Video, Image to Video, Character to Video, or Start-End to Video - each of which hands you back a task_id/creation_id for whatever it just made. This node is strictly the second step: take that ID, ask Vidu to upscale the result.

    The inputs and outputs that matter

    Only two required fields and one optional one:

    • creation_id - the ID of a video Vidu already generated for your account. You can't get one any other way; it comes out of a prior Vidu generation node in the same pack.
    • token - your Vidu API token, same one every node in this pack needs. Vidu doesn't hand these out automatically; you get it by contacting Vidu directly, and the pack's own docs don't say more than that.
    • model (optional) - the upscale model to use. Right now the pack only exposes one choice, stable, so there isn't really a decision to make yet.

    Outputs are video_url, cover_url (a thumbnail), and task_id. All three are plain strings pointing at Vidu-hosted URLs - nothing lands on your disk. That's the catch worth knowing up front: Vidu's generated-video links are only valid for one hour. If you don't do something with video_url before that window closes, it's gone. The obvious next step is wiring video_url straight into the pack's Video Downloader node to pull it onto your own storage before it expires.

    Installing it

    Same as every node in this pack - there's nothing upscale-specific to set up. In ComfyUI Manager, search for ComfyUI VIDU and install. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/1zhangyy1/comfyui-vidu-nodes
    

    Restart ComfyUI. No requirements.txt gymnastics, no weight downloads - this is one of the rare packs where "install" really does mean "clone it and go," precisely because there's no local inference happening. The only prerequisite that isn't a pip package is your Vidu API token.

    Where people get stuck

    The pack's own README documents its real failure modes, and they're worth knowing before you assume something's broken on your end:

    • 404 Not Found usually means a bad API path or an invalid token, not a problem with your creation_id.
    • JSON parse errors almost always trace back to a bad or expired token - the server stops returning JSON and returns an HTML error page instead, which the node can't parse.
    • Task status query failures are network issues or a creation_id/task_id that doesn't match anything on Vidu's side (most often because you copied the wrong output field from the generator node).

    Every node in this pack logs to the ComfyUI console with a [Vidu <node name>] prefix, including the full request URL, parameters, and response - that log is genuinely the fastest way to diagnose any of the above, faster than guessing from the ComfyUI error toast alone. And because this is a thin, unofficial wrapper maintained by one person rather than Vidu itself, if Vidu changes their upscale API on their end, this node breaks until someone patches it - worth keeping in mind if it suddenly stops working with no change on your side.

    CategoryVIDU

    Inputs (3)

    NameTypeDefaultDescription
    creation_idSTRING
    tokenSTRING
    modeloptCOMBO1 options: stable

    Outputs (3)

    NameTypeDescription
    video_urlSTRING
    cover_urlSTRING
    task_idSTRING