DEV Community

Fred Abila
Fred Abila

Posted on Originally published at Medium

How to Add Captions to a Video in Your Browser: Auto-Generate, Fix Word by Word, Export

Generating captions from speech takes a couple of minutes now. The part that takes judgment comes after: fixing the words the machine got wrong, keeping the timing honest, and making the text readable on a phone.

I'm Fred Abila, and I build Vidmoat, a hosted AI video editor. You get a real multi-track timeline in the browser, plus a chat with an agent that does the edit while the result stays on tracks you can change by hand. The same projects open in the iPhone, Android, Mac and Windows apps (vidmoat.com/download), and you can send a clip to @vidmoat_bot on Telegram and ask for captions there. Below is the workflow I'd hand anyone, with honest notes on where Vidmoat falls short.

Why captions are worth the extra pass

I'll stick to what official sources say.

  • Accessibility. The W3C's WCAG criterion 1.2.2 asks for captions on prerecorded video with audio, at Level A.
  • A wider audience than you'd guess. The BBC's subtitle guidelines say around 10% of broadcast viewers use subtitles regularly, rising to 35% for some online content, and that most of those viewers are not hard of hearing.
  • Watching on mute. Microsoft's Clipchamp support page frames captions as making videos "easier to watch on mute."

One caution from W3C: automatic captions don't meet accessibility needs unless they are confirmed fully accurate, and they usually need significant editing. Its example turns "You should not preheat the oven" into "You should know to preheat the oven." Treat generation as a draft. The steps below build in the review.

What to have ready

Step 1: Generate captions from speech

Open vidmoat.com, create a project and upload the clip. Then pick a route.

Ask the agent. Press Cmd/Ctrl + K to open the console and type:

Add word-level captions to this clip.

Use the panel. Open the Auto Captions tab in the left panel and press Generate captions. It reads the earliest audio clip on the timeline (or the video clip if there is no audio clip), not whatever you have selected. Transcription runs in your browser, so the button downloads a speech model once (roughly 150 MB) and caches it.

Skip the credits. In Text Mode, the Transcript panel's Transcribe this clip runs on your device and uses no credits. The Captions panel then turns that transcript into caption clips with Add captions from transcript. Generate captions and agent edits spend AI credits.

Captions come from the audio with word-level timing and land on the timeline as text clips, so you can restyle or retime them later.

Step 2: Fix the words, one by one

Read the captions against the audio once. Names, brand words and technical terms are where recognition slips, and a missed "not" flips a sentence.

  1. In the Transcript panel, select the wrong words and press Correct. That rewrites the text without touching timing or footage. Cut, in the same toolbar, removes footage from the timeline, so don't mix them up.
  2. Re-run the captions. Correcting changes the source clip, not caption clips already on the timeline.

I prefer the transcript route because it fixes the word at the source (Vidmoat's captions page also describes tweaking a word inline).

Step 3: Check the timing

Timing is usually fine straight after generation. It goes wrong in three ways:

  • You cut after generating. The captions describe the audio they were given. Regenerate.
  • Two sets stacked. Flicker usually means a second set sits on top of the earlier one. Adding a set replaces the old one by default, but check the track.
  • You pasted a script. The From script box spreads your words across the clip and spends no credits, but the timing is estimated rather than heard and drifts on a long take.

For pacing, the BBC suggests about 160 to 180 words per minute, roughly 0.3 seconds on screen per word.

Step 4: Style for readability

Click a style card and every caption restyles. The help page lists 14 presets, including Clean, Karaoke, Word Box, Bold Yellow, Neon Pop, Hormozi and Gradient Pop, with Karaoke as the default. Fonts, fills and shadows live in the Inspector's Style tab. Caption style presets appear on the Creator plan list and brand-kit fonts and colors are on Creator and above, so check the pricing page for your plan.

If your color won't show on the spoken word, six presets carry their own highlight that wins over gradients and per-word colors. Change Active Word in the Inspector, or choose a preset without one.

Readability is mostly not about the preset:

  • Size. The BBC gives a line height of about 3.9% to 4.5% of video height for 9:16.
  • Contrast. White text with a dark background or outline is the safe default. Clipchamp's page recommends white for accessibility, and the BBC uses white on black.
  • Line length. The BBC suggests up to three lines for vertical video, kept within about 90% of the width. I ask for short cues: "keep captions to two short lines and break at natural phrases." Then read the result.
  • Safe margins. For vertical video the BBC says stay within the central 75% vertically and 90% horizontally, a little above the very bottom because faces sit in the top half. Shorts, TikTok and Reels also draw interface over the lower area and right edge. A free Vidmoat export has a small watermark pill bottom-right, so keep text clear of that corner too.
  • Don't hide the picture. W3C notes captions should not obscure relevant information. Move a caption that covers a product or a face.

For the highlight look, see my earlier piece on karaoke captions for talking-head Shorts.

Step 5: Check on a phone-sized frame

A wide monitor flatters captions. Check them small:

  • Set the canvas to 9:16 and play the cut at phone size, not full window.
  • Open the same project in the Vidmoat iPhone or Android app. Cloud projects follow your account, but media imported locally on a desktop must be uploaded before another device can use it.
  • Or export with the Draft preview preset (half resolution, low quality, quick) and watch the file on your phone.

Look for wrapped lines, text under the platform interface, captions over a face, and lines that linger after the speaker stops.

Step 6: Export, burned-in or SRT

In Vidmoat, captions are text clips burned into the render. Vidmoat cannot import or export SRT or VTT files, so there is no subtitle file to download.

Export from the top bar. Presets cover YouTube, TikTok / Reels, X and Draft preview; formats are MP4, WEBM or GIF at 24, 30 or 60 fps. Hobby exports cap at 720 on the short edge (a 9:16 project comes out at 720x1280); Creator and above go to 4K.

Burned-in captions suit Shorts, Reels and TikTok, but the viewer can't turn them off (W3C calls these open captions). If you need a toggleable track or a caption file for YouTube, another tool fits better.

How other tools handle captions

Facts below come from each company's official pages, checked in October 2026.

  • Descript. Captions are built from your script and timed automatically, with presets and a Properties panel (font, size, colors, active and future words, line animation). It exports SRT or VTT as a separate file. MP4 exports embed a toggleable subtitle track by default, not burned in; burning in uses a captions layer.
  • CapCut. Captions tab, Auto captions, choose the spoken language, generate. It offers style presets, animation, batch line editing, translation and, per its page, standalone SRT export on desktop and online. I didn't confirm which parts sit behind a paid plan.
  • Kapwing. Word-by-word subtitles with an editable transcript for terms and timing. Export hardcoded, or download SRT, VTT or TXT, and upload your own SRT or VTT. Free accounts include up to 10 minutes of subtitles, and free exports carry a watermark.
  • Clipchamp. Autocaptions in many languages (one per video), an editable transcript, font and color styling, and .SRT download.
  • YouTube Studio. Auto captions in dozens of languages, including Hindi, Swahili, Spanish and French. YouTube says quality may vary and to review them, which you do under Subtitles in Studio. These are tracks on YouTube, not text baked into a file you post elsewhere.

If you need SRT or VTT, or a language other than English, those tools cover what Vidmoat doesn't today.

Where Vidmoat falls short

Captions in the browser model cover English, with no language picker, and there is no SRT or VTT import or export. Vidmoat is young, and a small operation compared with the bigger players.

FAQ

Can I add captions to a video for free?
Yes. The Hobby plan includes auto-captions, with 720p exports and a small watermark. The Transcript panel's on-device route uses no credits.

Are auto-generated captions accurate enough to post?
Review them before you post. W3C says automatic captions must be confirmed fully accurate to meet accessibility needs, and YouTube says to review its own. Fix names in the transcript, then re-run the captions.

Can I export an SRT file from Vidmoat?
No. Captions are burned into the render. For a separate subtitle file, use one of the tools above.

If you have a clip that needs captions, open vidmoat.com, drop it in and ask the agent for word-level captions. Fix a word, change the style and look at it at phone size. Or send a short clip to @vidmoat_bot and ask for captions there. Tell me what it got wrong; that's how it gets better.

Fred Abila builds Vidmoat.

Top comments (0)