Nodes/MediaKit Toolkit/Erase Subtitle Pro · 字幕擦除(增强版)
ComfyUI Node

Erase Subtitle Pro · 字幕擦除(增强版)

Erase subtitles, but only the ones you actually meant to

By fudanll-sys·Created about a month ago·Updated 26 days ago· 1
Erase Subtitle Pro · 字幕擦除(增强版)
  • video
  • video
erase_modeSubtitle
output_encode_modeQuality
restrict_regionfalse
top_left_x0.00
top_left_y0.50
bottom_right_x1.00
bottom_right_y1.00
poll_interval_seconds10
max_poll_attempts720

The standard subtitle eraser goes at the whole frame and hopes for the best. Pro is the version you use on footage you care about, because it lets you decide what gets erased and where - down to a normalized rectangle on the frame. Same cloud machinery underneath, but with the guardrails the blunt tool lacks.

The inputs that matter

Three of these do the real work:

  • erase_mode - Subtitle only removes subtitles; Text also erases other rendered text like logos, watermarks and on-screen UI captions. Default is Subtitle. Pick Text only if you actually want those gone - erasing is destructive.
  • output_encode_mode - Quality (prioritize image quality) or Size (prioritize a smaller output). Default Quality, which is the right call for most people; you're already paying for the job, don't let the encode cheapen it.
  • restrict_region (BOOLEAN, default false) - the headline feature. Flip it on and the node only erases text inside the box you define with the four coordinates below.

Then the coordinates, which are normalized (0–1 across the full frame, so they work at any resolution):

  • top_left_x, top_left_y - defaults 0, 0.5
  • bottom_right_x, bottom_right_y - defaults 1, 1

Read those defaults and you'll see the box is the bottom half of the frame - the classic subtitle band. That's the pack's way of saying "subtitles live at the bottom, start there." If your subs sit lower, nudge top_left_y up toward 0.8; if they're top-centered, you're rebuilding the box from scratch.

There's also the usual video input plus poll_interval_seconds (default 10) and max_poll_attempts (default 720) - advanced polling knobs you can ignore. The single output is video, straight into a Save Video node.

How it works

Identical plumbing to the rest of the pack: materialize the video to a temp file, submit an async erase task to your MediaKit account via mediakit-cli, poll, download the result. The difference is what gets submitted - with restrict_region on, the four coordinates are bundled into an erase_region object that tells the cloud exactly which part of the frame is fair game. When the box is right, background regions outside it never get touched, so logos, faces and scene text survive untouched.

Install and the cloud setup

Install via ComfyUI Manager (search "MediaKit Toolkit" / mediakit-toolkit), restart fully, or:

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

No Python dependencies, no model files - this pack wraps Volcengine's CLI rather than loading weights. Before first run you need a Volcengine account with AI MediaKit activated and the CLI installed and authed in the environment that starts ComfyUI:

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

Every run bills your MediaKit account by usage, and your clip goes directly to Volcengine - the plugin author's servers are never in the path.

Where people get burned

Erase is inpainting, and inpainting invents pixels. On busy backgrounds you can get smear where text was, and if your region box is wrong you can paint over a face and never notice until the render's done. The fix is discipline: start with restrict_region on and a tight box, run a 10-second test clip, and only then commit the full video. Also remember Pro costs more than standard - it's the enhanced capability on Volcengine's pricing sheet. Worth it when you need the control, wasted when you don't.

CategoryMediaKit/Video AI

Inputs (10)

NameTypeDefaultDescription
videoVIDEO
erase_modeCOMBOSubtitleSubtitle 仅擦字幕;Text 同时擦除其他渲染文字。
output_encode_modeCOMBOQuality2 options: Quality, Size
restrict_regionBOOLEANfalse启用后只擦除归一化坐标框内的文字。
top_left_xFLOAT0.000–1
top_left_yFLOAT0.500–1
bottom_right_xFLOAT1.000–1
bottom_right_yFLOAT1.000–1
poll_interval_secondsINT102–60
max_poll_attemptsINT7201–5000

Outputs (1)

NameTypeDescription
videoVIDEO