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.
Before & after
See the difference
Drag the handle to see the burned-in subtitles disappear frame by 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 referenceimport 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 unit | Cost in credits | Notes |
|---|---|---|
| Processing time | 50 credits | Per 1,000 frames |
| Failed jobs | 0 credits | Credits auto-refunded |
| Batch processing | Same rate | One queue, per-file callbacks |
Learn
Guides, tutorials & comparisons
Batch Remove Subtitles from Videos
Batch remove hardcoded subtitles from a folder or catalog: queue episodes, track per-file status, an...
Read TutorialRemove Hardcoded Subtitles in Go
Remove hardcoded subtitles from video in Go with the mlslabs Subtitle Eraser API: detect regions, in...
Read TutorialRemove Hardcoded Subtitles in Node.js
Remove hardcoded subtitles from video in Node.js with the mlslabs Subtitle Eraser API: detect region...
Read TutorialHow to Remove Hardcoded Subtitles from Video in Python
Learn how to remove burned-in subtitles from video with Python in 5 steps: install the SDK, get your...
Read TutorialRemove Subtitles from Video Before Dubbing
Why dubbing teams erase burned-in subtitles first, and how to do it automatically: clean master, the...
Read TutorialErase Subtitles for TikTok & Reels
Localize short-form video for TikTok, Reels and Shorts: erase burned-in subtitles, keep watermarks, ...
ReadBurned-in Subtitles vs Closed Captions: What's Actually Different
Burned-in (hardcoded) subtitles vs soft subtitles vs closed captions — what each is, when it's baked...
Read GuideHardcoded vs Soft Subtitles: What's the Difference
Hardcoded (burned-in) subtitles are locked into the video pixels; soft subtitles are a separate trac...
Read GuideVideo Inpainting Explained: How AI Fills What You Remove
Video inpainting explained: how modern models reconstruct missing pixels behind removed subtitles an...
ReadAI Subtitle Removal vs Manual Editing
Manual subtitle removal (clone stamp, frame-by-frame cleanup) vs AI video inpainting — compare time ...
Read CompareSubtitle Removal API vs Self-Hosted Inpainting
Self-hosting a video inpainting model means GPUs, VRAM, model management and queues. Compare the tru...
Read CompareSubtitle Removal vs Blurring
Blurring a subtitle is fast but leaves a visible smudge and can fail compliance checks. Compare blur...
Read CompareSubtitle Removal vs Cropping
Cropping the subtitle bar out changes your aspect ratio and loses picture. Inpainting removes text i...
ReadFAQ
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.
Related APIs