Erase Subtitle · 字幕擦除
Wipe hardcoded subtitles off video you don't have the source for
- video
- video
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) andmax_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_regionexists 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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| video | VIDEO | — | |
| poll_interval_seconds | INT | 102–60 | — |
| max_poll_attempts | INT | 7201–5000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |