Nodes/MediaKit Toolkit/Erase Subtitle · 字幕擦除
ComfyUI Node

Erase Subtitle · 字幕擦除

Wipe hardcoded subtitles off video you don't have the source for

By fudanll-sys·Created about a month ago·Updated 26 days ago· 1
Erase Subtitle · 字幕擦除
  • video
  • video
poll_interval_seconds10
max_poll_attempts720

Hardcoded subtitles are burned into the pixels - no editor can "turn them off" the way you can with soft subs. The standard Erase Subtitle node is the fire-and-forget fix: it sends your clip to Volcengine's AI MediaKit, which detects the subtitle region frame by frame and paints over it. You give it a video, it hands you a video back with the text gone.

What you actually set

The input surface is deliberately tiny:

  • video - a native VIDEO object from a Load Video node. This is the whole job.
  • poll_interval_seconds (INT, default 10, range 2–60) and max_poll_attempts (INT, default 720, up to 5000) - advanced polling controls. 720 × 10s ≈ two hours of wall-clock polling; leave them alone unless you know you need a longer or shorter leash.

The single output is video, wire it straight into a Save Video node and you're done. The workflow is Load Video → Erase Subtitle → Save Video, and that's it - no masking, no prompts, no parameter fiddling.

How it works

This is a cloud node, not a local model. Internally it materializes the video to a temp file, shells out to mediakit-cli to submit an async erase task to your MediaKit account, polls it on your chosen interval, downloads the finished clip, and converts it back to ComfyUI's native VIDEO output. Two consequences you should internalize before running it:

  • It bills you. Subtitle removal is priced by usage on Volcengine's side. Your media goes straight from your machine to Volcengine - never through the plugin author's servers - but it does leave the machine.
  • It's the blunt instrument. Standard mode auto-detects and erases text with no knobs. Anything it decides is a hard subtitle gets painted over. If your clip has a burned-in logo or a caption you wanted kept, or the text sits somewhere unusual, the standard node has no way to know - that's exactly what the Pro sibling's restrict_region exists for.

Install and the cloud setup it needs

The pack installs via ComfyUI Manager (search "MediaKit Toolkit" or mediakit-toolkit) and a full restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/fudanll-sys/comfyui-mediakit-toolkit.git

No Python deps, no model downloads. Before any of these nodes run, you need a Volcengine account with AI MediaKit activated, an API key, and the CLI on the machine running ComfyUI:

npx @volcengine/mediakit-cli install -y
mediakit-cli init --mode cloud-first --api-key "YOUR_MEDIAKIT_API_KEY" --credential-store config --yes

When to reach for it

The local alternative - masking a subtitle band and inpainting every frame - is brutally slow and temporally jittery, which is the classic failure of per-frame editing (the same reason video upscaling is the least settled problem in the field). If you just need a quick clean copy of someone else's clip, this node is the pragmatic answer. The honest caveats: test a short clip first, watch the bill on long videos, and pick the Pro node the moment you need to protect part of the frame.

CategoryMediaKit/Video AI

Inputs (3)

NameTypeDefaultDescription
videoVIDEO
poll_interval_secondsINT102–60
max_poll_attemptsINT7201–5000

Outputs (1)

NameTypeDescription
videoVIDEO