Video Cleanup

Subtitle Eraser API — remove hardcoded subtitles from video

Detect and inpaint burned-in subtitles frame by frame, so localized and resale-ready copies are clean in minutes — not hours of rotoscoping.

VideoCleanup

Before & after

See the difference

Drag the handle to see the burned-in subtitles disappear frame by frame.

Clean frame
Burned-in subtitles
Burned-in subtitlesClean frame

What it does

Burned-in subtitles are part of the picture, which is why simple crops or blurs fail. Subtitle Eraser locates caption regions with temporal tracking, then reconstructs the underlying frame from surrounding content with a frame-aware inpainting model. Faces, fine textures and the scene behind the captions stay intact while the text disappears.

Full API reference
Python
import requests

url = "https://api.mlslabs.io/v1/subtitle-eraser/jobs"
resp = requests.post(
    url,
    headers={"X-API-Key": "YOUR_API_KEY"},
    json={
        "input": "s3://bucket/episode-05.mp4",
        "output": "s3://bucket/episode-05-clean.mp4",
        "mode": "auto",          # or "manual" with caption regions
    },
)
job = resp.json()
print(job["job_id"])

Key features

Why teams pick this API

Text detection & tracking

Locates caption regions with temporal tracking so removal stays stable across scene cuts and motion.

Frame-aware inpainting

Reconstructs the underlying frame from surrounding content — no blurry smears or ghosting.

Multi-language coverage

Tuned for Chinese, English and Latin-script caption styles, from crisp subtitle files to stylized titles.

Edge & texture preservation

Keeps faces, text behind captions and fine textures intact while the captions disappear.

Use cases

Built for real workflows

Short-drama export

Export one clean master for every market instead of keeping per-platform subtitle-burned copies.

Localization & reskin

Erase the old language, dub or re-subtitle — the frame underneath is already clean.

Restoring old content

Clean up archive footage with burned-in logos, date stamps and captions.

Pricing

Credit-based pricing

Every request draws from your credit pool. This API bills 50 credits per 1,000 frames.

Billing unitCost in creditsNotes
Processing time50 creditsPer 1,000 frames
Failed jobs0 creditsCredits auto-refunded
Batch processingSame rateOne queue, per-file callbacks

See credit packs & full pricing

Learn

Guides, tutorials & comparisons

Browse all tutorials

FAQ

Common questions

Does it work on stylized or custom fonts?

Yes — the detector is trained on caption styles from clean subtitle files to gradient-filled titles. For unusual cases, "manual" mode lets you supply caption regions.

What resolutions do you support?

SD through 4K. Processing is per-frame, so resolution only affects processing time.

How fast is it?

A typical 20-minute episode completes in a few minutes on the batch queue.

Do I need the original files?

No — the API works on the delivered video. Clean original files help if the captions are heavily stylized.