ComfyUI Node

Topaz Labs Proteus

Topaz Labs Proteus in ComfyUI — Topaz Video AI's workhorse, one clip at a time

By Runware·Created 2 years ago·Updated a day ago· 140
Topaz Labs Proteus
    • image
    video
    width1024
    height1024
    fpsfalse
    fps_value1.00
    settings.enhancement.blurfalse
    settings.enhancement.blur_value-1.00
    settings.enhancement.compressionfalse
    settings.enhancement.compression_value-1.00
    settings.enhancement.detailsfalse
    settings.enhancement.details_value-1.00
    settings.fieldOrder(default)
    settings.focusFixLevel(default)
    settings.enhancement.grainfalse
    settings.enhancement.grain_value0.00
    settings.enhancement.grainSizefalse
    settings.enhancement.grainSize_value0.00
    settings.enhancement.halofalse
    settings.enhancement.halo_value-1.00
    settings.enhancement.mode(default)
    settings.enhancement.noisefalse
    settings.enhancement.noise_value-1.00
    settings.enhancement.preblurfalse
    settings.enhancement.preblur_value-1.00
    settings.enhancement.prenoisefalse
    settings.enhancement.prenoise_value0.00
    settings.enhancement.recoverOriginalDetailfalse
    settings.enhancement.recoverOriginalDetail_value0.00
    settings.videoType(default)
    ttlfalse
    ttl_value60
    outputFormatMP4
    outputQuality95

    Topaz Video AI is what people buy when they have real footage to clean up and don't trust free upscalers with it. Proteus is its general-purpose model - the one Topaz describes as upscaling and restoring a wide range of footage while handling noise, compression artifacts, faces, interlaced material, and scene transitions. This node is Proteus running on Runware's cloud, so you get the commercial video enhancer inside ComfyUI without the Topaz subscription or the hours of local render time. Pay per clip instead.

    Before you get excited, read this node's shape carefully, because it's the least "just wire it up" node in the Runware pack.

    The video has to be a URL or UUID, not a canvas tensor. The required video input is a plain STRING - a hosted video URL or a Runware media UUID. You cannot drag a video from your graph into this socket, and there's no upload-helper wired to it. You need your footage reachable by Runware (a public URL, or uploaded into Runware's media storage first) and you paste the reference in as text. That friction alone tells you this is a batch/cleanup tool, not a live-render toy.

    Resolution is an envelope, not a target. width and height (both up to 8192) don't force the output to exactly that size. Per the tooltips they act as an envelope: the source aspect ratio is preserved, so the result can come back narrower or shorter than you asked, and each value must exceed a fifth of the source dimension or the request is rejected. Set them to roughly "the biggest this clip could ever need," not a precise pixel count.

    What you'll actually touch. Most of the settings follow the pack's toggle pattern - a boolean like settings.enhancement.blur that says "Enable to set X", with the value widget next to it gated until you flip the switch. Off means the model's default, which is usually what you want at first. The ones worth knowing:

    • settings.enhancement.mode - auto, relative, or manual, controlling how the tuning weights (blur, details, noise, compression, halo, preblur…) are applied. Auto is the sane starting point.
    • settings.enhancement.recoverOriginalDetail - how much source detail gets reintroduced after enhancement; the main "don't let it get too clean" dial.
    • settings.focusFixLevel and settings.fieldOrder / settings.videoType - Topaz Video AI's bag of tricks for blurred subjects and interlaced broadcast footage, exposed as dropdowns.
    • fps (toggle + value), outputFormat (MP4 / WEBM / MOV), outputQuality.

    What comes out. Honest warning: the current pack serves every "upscale" task through the same template, and that template exposes an output socket named image typed as IMAGE - even though this is a video model and Runware's API returns the enhanced clip. The MP4/WEBM/MOV choices in outputFormat are the tell that the real payload is video. Treat this node as file-oriented: expect the result to land as a clip rather than something you can scrub through an in-graph VIDEO pipeline. It's an early-corner of the pack, and video support is where Runware's integration is still roughest.

    Install. Standard Runware pack setup:

    # ComfyUI Manager (recommended): Custom Nodes Manager → search "Runware" → install → restart
    cd ComfyUI/custom_nodes
    git clone https://github.com/Runware/ComfyUI-Runware   # manual alternative
    pip install -r ComfyUI-Runware/requirements.txt
    

    Restart and add a Runware API key (Settings → Runware API key or RUNWARE_API_KEY). No local models.

    Video enhancement is the most compute-heavy thing Runware sells, so check the cost shown on the node after each run before you batch a whole folder through it - and remember every clip and frame leaves your machine. For occasional "rescue this one footage" jobs it's a bargain versus a Topaz subscription; for everything else, the local SeedVR2-and-friends path is still the default.

    CategoryRunware/Image/topazlabs

    Inputs (33)

    NameTypeDefaultDescription
    videoSTRINGVideo input (UUID or URL).
    widthINT102416–8192Width of the generated media in pixels. Acts as an envelope: the source aspect ratio is preserved, so the output can come back narrower, and the value must exceed a fifth of the source width.
    heightINT102416–8192Height of the generated media in pixels. Acts as an envelope: the source aspect ratio is preserved, so the output can come back shorter, and the value must exceed a fifth of the source height.
    fpsoptBOOLEANfalseEnable to set fps. Off uses the model's default.
    fps_valueoptFLOAT1.001–120Frames per second for video generation. Defaults to the source frame rate, which is also the lower bound, so a lower value is rejected.
    settings.enhancement.bluroptBOOLEANfalseEnable to set settings.enhancement.blur. Off uses the model's default.
    settings.enhancement.blur_valueoptFLOAT-1.00-1–1Amount of sharpness applied.
    settings.enhancement.compressionoptBOOLEANfalseEnable to set settings.enhancement.compression. Off uses the model's default.
    settings.enhancement.compression_valueoptFLOAT-1.00-1–1Strength of compression recovery.
    settings.enhancement.detailsoptBOOLEANfalseEnable to set settings.enhancement.details. Off uses the model's default.
    settings.enhancement.details_valueoptFLOAT-1.00-1–1Amount of detail reconstruction.
    settings.fieldOrderoptCOMBO(default)Field order for interlaced sources.
    settings.focusFixLeveloptCOMBO(default)Downscales the input for stronger correction of blurred subjects.
    settings.enhancement.grainoptBOOLEANfalseEnable to set settings.enhancement.grain. Off uses the model's default.
    settings.enhancement.grain_valueoptFLOAT0.000–0.1Adds grain after model processing.
    settings.enhancement.grainSizeoptBOOLEANfalseEnable to set settings.enhancement.grainSize. Off uses the model's default.
    settings.enhancement.grainSize_valueoptFLOAT0.000–5Size of the generated grain.
    settings.enhancement.halooptBOOLEANfalseEnable to set settings.enhancement.halo. Off uses the model's default.
    settings.enhancement.halo_valueoptFLOAT-1.00-1–1Amount of halo reduction.
    settings.enhancement.modeoptCOMBO(default)How the tuning weights are applied.
    settings.enhancement.noiseoptBOOLEANfalseEnable to set settings.enhancement.noise. Off uses the model's default.
    settings.enhancement.noise_valueoptFLOAT-1.00-1–1Amount of noise reduction.
    settings.enhancement.prebluroptBOOLEANfalseEnable to set settings.enhancement.preblur. Off uses the model's default.
    settings.enhancement.preblur_valueoptFLOAT-1.00-1–1Anti-aliasing and deblurring strength.
    settings.enhancement.prenoiseoptBOOLEANfalseEnable to set settings.enhancement.prenoise. Off uses the model's default.
    settings.enhancement.prenoise_valueoptFLOAT0.000–0.1Adds noise to the input to reduce over-smoothing.
    settings.enhancement.recoverOriginalDetailoptBOOLEANfalseEnable to set settings.enhancement.recoverOriginalDetail. Off uses the model's default.
    settings.enhancement.recoverOriginalDetail_valueoptFLOAT0.000–1Reintroduces source details into the output video.
    settings.videoTypeoptCOMBO(default)Frame or field type of the source video.
    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