ComfyUI Node

Bria Video Eraser

Object erasure in video — make the thing disappear, keep the audio

By Runware·Created 2 years ago·Updated about a month ago· 140
Bria Video Eraser
    • video
    video
    numberResults1
    mask
    providerSettings.bria.autoTrimfalse
    providerSettings.bria.mask.foregroundfalse
    providerSettings.bria.mask.frameIndexfalse
    providerSettings.bria.mask.frameIndex_value0
    providerSettings.bria.preserveAudiotrue
    providerSettings.bria.mask.prompt
    safetyfalse
    safety.checkContentfalse
    safety.modefast
    ttlfalse
    ttl_value60
    outputFormatMP4
    outputQuality95
    advanced_json

    Inpainting a still image is paint over a region. Inpainting a video is removing an object across dozens of frames so it doesn't flicker back into existence - a water tower, a passerby, a logo on a wall. Bria Video Eraser is that, running on Runware's servers, and it's the one node in this pack's video trio that returns an actual VIDEO output. You point at the thing to remove, it vanishes, and the surrounding frames get filled in consistently. No local model, no VRAM, just a per-run bill.

    The three ways to point at the target

    • providerSettings.bria.mask.prompt - the friendliest: describe the object in plain words ("remove the red car," "delete the street sign"). The model figures out where it is. This is the first thing to try.
    • providerSettings.bria.mask.foreground - flip on automatic foreground-object detection and the eraser targets the main subject instead. Good when the thing to remove is the thing in front.
    • mask - the precise route: supply a mask video as a UUID/URL specifying exactly which pixels to erase. Paired with advanced_json, which the tooltip flags as the way in for providerSettings.bria.mask.keyPoints - key points for the regions, when you need frame-accurate targeting that a prompt can't express.

    Inputs and settings

    • video - required STRING (UUID or URL), same as the other video nodes. Don't wire a VIDEO tensor; Runware addresses media by ID or hosted URL.
    • providerSettings.bria.preserveAudio - default on. The eraser keeps the original audio track unless you turn it off. That's a thoughtful default - you don't usually want object removal to also nuke the soundtrack - and it's the reason you don't need an audio-settings builder here.
    • providerSettings.bria.autoTrim - clips over 5 seconds down to 5. On by default off; flip it if your source is long and you want the whole thing processed.
    • providerSettings.bria.mask.frameIndex (+ _value) - pick a specific frame for the key points.
    • numberResults (1–4), safety (mode: none/fast/full), outputFormat (MP4/WEBM/MOV), outputQuality, ttl.

    Output: video, native VIDEO type, into a Preview/Save video node.

    Install

    One-time pack setup, then the API key:

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

    Restart; key via Settings → Runware API key or RUNWARE_API_KEY. No checkpoints download - the erasure runs cloud-side and the node reports cost after each run.

    Where it gets fiddly

    The prompt-based route is genuinely good and worth starting there. But "describe the object" is doing a lot of work - if the thing you're removing is small, partially occluded, or moving, the model can miss it, and that's what mask + keyPoints is for. That's also the fiddly part: you need to get a mask video onto Runware as a URL/UUID, which means an extra upload step. And remember the 5-second autoTrim default when you set autoTrim off for longer footage. For clean, obvious objects this node is nearly magic; for the hard cases, budget a couple of iterations before you get the wipe you want.

    CategoryRunware/Video/bria

    Inputs (17)

    NameTypeDefaultDescription
    videoSTRINGVideo input (UUID or URL).
    numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
    maskoptSTRINGMask video specifying areas to erase (UUID or URL).
    providerSettings.bria.autoTrimoptBOOLEANfalseAutomatically trim videos exceeding 5 seconds.
    providerSettings.bria.mask.foregroundoptBOOLEANfalseEnable automatic foreground object detection.
    providerSettings.bria.mask.frameIndexoptBOOLEANfalseEnable to set providerSettings.bria.mask.frameIndex. Off uses the model's default.
    providerSettings.bria.mask.frameIndex_valueoptINT0Frame number for key points.
    providerSettings.bria.preserveAudiooptBOOLEANtruePreserve original audio track.
    providerSettings.bria.mask.promptoptSTRINGText description of object to remove.
    safetyoptBOOLEANfalseEnable to set safety. Off uses the model's default.
    safety.checkContentoptBOOLEANfalseEnable or disable content safety checking.
    safety.modeoptCOMBOfastSafety checking mode for video generation.
    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.
    advanced_jsonoptSTRINGOptional JSON merged into the request. For: providerSettings.bria.mask.keyPoints

    Outputs (1)

    NameTypeDescription
    videoVIDEO