Nodes/Runware.ai ComfyUI Inference API Integration/Topaz Labs Starlight Precise 2.5
ComfyUI Node

Topaz Labs Starlight Precise 2.5

Topaz's generative video upscaler, as a cloud ComfyUI node

By Runware·Created 2 years ago·Updated about a month ago· 140
Topaz Labs Starlight Precise 2.5
    • image
    video
    width1024
    height1024
    fpsfalse
    fps_value15.00
    ttlfalse
    ttl_value60
    outputFormatMP4
    outputQuality95

    Topaz Labs is the commercial name in upscaling - Video AI and Photo AI are the paid baseline that open nodes keep trying to displace (one NVIDIA-node author famously dropped his Topaz subscription over it). Starlight is Topaz's generative video upscaler line, and "Starlight Precise 2.5" is the current tier served here. This node brings it into ComfyUI as a cloud call: you give it a video, a target width/height, and it returns the upscaled result. If you've been running Topaz Video AI as a separate app and wishing the results lived inside your ComfyUI workflow, this is that bridge.

    Read that carefully though: this is a video upscaler - the required input is a video given as a URL or UUID string, not a ComfyUI VIDEO tensor. That's the first thing that'll trip you up, so let's get it out of the way. There's no VIDEO socket on this node; you need the video's address (see the pack's upload utility, or any hosted/public URL) typed into the video field.

    How it works

    It's an upscale-classified task in the pack, which means it rides the image-returning path: the output is an IMAGE tensor, even though the input is video. That's a quirk of how the pack classifies upscalers - worth knowing so you're not hunting for a VIDEO output that isn't there. The image output will contain the result as ComfyUI frames; how you use them (save as image, reassemble to video) is up to the rest of your graph.

    Inputs that matter

    • video (required) - the input video as a UUID or URL string. This is the gotcha input: it is not a ComfyUI VIDEO socket. You'll feed it a URL you have, or a UUID you got from uploading the video (the pack's upload flow / your Runware media). If your video lives as a tensor in the graph, you'll need to get its URL first.
    • width - target output width (1–3840, default 1024).
    • height - target output height (1–2160, default 1024). Note the tooltip: the aspect ratio is preserved by computing the upscale factor from the shorter edge - so you're really specifying a target size, and the model keeps the shape. Set one confidently; the other follows.
    • fps - off-by-default gate with fps_value (15–120, default 15). Leave the gate off for the model default; flip it on if you need a specific output frame rate (minimum is 15 or the source's rate, whichever is higher).
    • outputFormat - MP4 (default), WEBM, MOV.
    • outputQuality - 20–99, default 95. Video files balloon fast at high quality on large upscales; don't max it unless you need it.
    • ttl / ttl_value - only relevant to URL output; ignore.

    The output is image (an IMAGE).

    Installing

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

    Or ComfyUI Manager → search Runware → install → restart. API key via Settings, RUNWARE_API_KEY, or runware auth login.

    The honest caveats

    Three things to know before you commit. First, the input-wiring friction: no VIDEO socket, so plan how your video becomes a URL/UUID. Second, Topaz's generative upscaling adds plausible detail - and like every generative restorer, it can rewrite fine features and shimmer on repeated texture across frames; the KB's upscaling essay classifies this as the "more detail" job, not the "more pixels" job. Third, this is the paid-baseline option: you're paying Topaz's model per cloud call, so it only makes sense when you don't have (or don't want to use) a local path - an RTX-card node or a free model like SeedVR2 will do parts of this job for nothing. It's the right node when you specifically want Topaz's quality inside ComfyUI without the subscription app.

    CategoryRunware/Image/topazlabs

    Inputs (9)

    NameTypeDefaultDescription
    videoSTRINGVideo input (UUID or URL).
    widthINT10241–3840Target output width. The aspect ratio is preserved by computing an upscaling factor using the shorter edge.
    heightINT10241–2160Target output height. The aspect ratio is preserved by computing an upscaling factor using the shorter edge.
    fpsoptBOOLEANfalseEnable to set fps. Off uses the model's default.
    fps_valueoptFLOAT15.0015–120Output frame rate. Minimum is 15 or the input video's frame rate, whichever is higher.
    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