ComfyUI Node

BytePlus Video Enhancement Pro

Crank a video to 4K in the cloud, BytePlus edition

By Runware·Created 2 years ago·Updated about a month ago· 140
BytePlus Video Enhancement Pro
    • image
    video
    resolution(default)
    fpsfalse
    fps_value15.00
    settings.bitratemedium
    settings.resolutionLimitfalse
    settings.resolutionLimit_value128
    ttlfalse
    ttl_value60
    outputFormatMP4
    outputQuality95

    Video upscaling is the least glamorous job in this whole pack and one of the most useful: you've got a 480p clip - phone footage, a download, an old render - and you want it to look like it was shot at 1080p or 4K. This node runs BytePlus (ByteDance's cloud services arm) video enhancement on Runware's GPUs. Drop in a video, pick a target, and get back the enhanced version without installing a single upscaler.

    The "Pro" here is the heavier of BytePlus's two enhancement tiers. The honest difference between Pro and Standard in the node list is thin - the Standard node adds a style preset, Pro doesn't - so Pro is the "just make it better" option and Standard is the "and also tell me the genre of clip" option. Pick by that, not by the name.

    The inputs that matter

    • video (required, STRING): the source clip, as a UUID or URL.
    • resolution: the headline control - 240p up through 1080p, 2k, and 4k, or the default. The tooltip notes it auto-matches your input's aspect ratio, so you don't fight letterboxing.
    • settings.bitrate: low / medium / high. This is where quality and file size trade off; crank it for a final asset, keep it medium for drafts.
    • fps (gated toggle): flip on to set a target frame rate (15–120). The default leaves the source's fps alone - which is right unless your clip is choppy and you want it smoothed.
    • settings.resolutionLimit (gated): caps the short side of the target resolution, scaling proportionally. Useful when you want "bigger, but don't touch my aspect."

    Output format (MP4/WEBM/MOV) and quality (default 95) close out the standard block.

    One thing worth flagging because it will confuse you the first time: the node's output is typed IMAGE, not VIDEO. The schema says so, even though every widget here describes a video. So wire the output into an image preview or save node rather than expecting a VIDEO socket - that's a known quirk of how Runware's catalog types these enhancement calls, not a broken install.

    How it works

    Pack-standard: your clip goes up by URL or UUID, BytePlus enhancement runs on the cloud, and the result comes back as a file the pack converts into your graph. No local upscale stack, no Real-ESRGAN tuning, no waiting on a CPU encode. Each run's cost lands on the title bar.

    Install and gotchas

    Install the pack once - ComfyUI Manager, search Runware - or git clone https://github.com/Runware/ComfyUI-Runware into custom_nodes + pip install -r requirements.txt, restart, and set a Runware API key (Settings → Runware API key, RUNWARE_API_KEY, or runware auth login).

    The gotchas: remember the IMAGE-typed output, budget the cost of 4K (it's the priciest preset for a reason), and don't expect enhancement to fix a genuinely broken source - garbage in, cleaned-up garbage out. For "my clip deserves to be sharper than my phone recorded it," this is the zero-friction answer.

    CategoryRunware/Image/bytedance

    Inputs (11)

    NameTypeDefaultDescription
    videoSTRINGVideo input (UUID or URL).
    resolutionoptCOMBO(default)Resolution preset for the output. When used with input media, automatically matches the aspect ratio from the input.
    fpsoptBOOLEANfalseEnable to set fps. Off uses the model's default.
    fps_valueoptFLOAT15.0015–120Frames per second for video generation. Higher values create smoother motion but require more processing time.
    settings.bitrateoptCOMBOmediumControls the output average bitrate, affecting quality and file size.
    settings.resolutionLimitoptBOOLEANfalseEnable to set settings.resolutionLimit. Off uses the model's default.
    settings.resolutionLimit_valueoptINT128128–2160Pixel limit for the short side of the target resolution. Scales proportionally, maintaining aspect ratio.
    ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
    ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
    outputFormatoptCOMBOMP4File format for the generated video.
    outputQualityoptINT9520–99Compression quality of the output. Higher values preserve quality but increase file size.

    Outputs (1)

    NameTypeDescription
    imageIMAGE