// HOW-TO · CAPTIONS

How to use an AI subtitle generator (the full workflow, 2026)

The end-to-end AI subtitle generator workflow: transcribe, segment to reading-speed rules, correct the text, then export the right file — SRT, VTT, ASS, or burned-in — for each destination.

KompozyTurn one idea into a week of content — across every platform, published for you.
Get Started →

Last verified · 2026-07-10 · by Moe Ameen

An AI subtitle generator does one thing well: it turns speech into a timed text track. You feed it a video or audio file, a speech-to-text model transcribes every word and timestamps it, and you get back subtitles you can style, translate, and attach to your content. Where it gets confusing is that "subtitles" is not one deliverable — it is a file (SRT, VTT, ASS) or burned-in pixels, and which one you produce depends entirely on where the video is going. A YouTube upload, a website player, and a TikTok clip each want a different output from the same generator.

This guide is the full workflow, not a tool review. It walks the sequence every AI subtitle generator runs through — transcribe, segment, correct, format, export — and, critically, the segmentation and reading-speed rules that separate a subtitle track viewers can actually read from a wall of text that flashes by. That craft layer is the part most auto-generate buttons get wrong and most guides skip.

One distinction to fix before you start, because it decides your export settings. Subtitles assume the viewer can hear and only carry the spoken words, usually for a different-language or sound-off audience. Closed captions and SDH (subtitles for the deaf and hard of hearing) add speaker labels and non-speech sound cues for accessibility. A subtitle generator produces the base timed text for either; the difference is what you include and how you export. If you have a legal or accessibility obligation, you want SDH-style output, not plain subtitles. For the burned-in animated short-form look specifically, the add-captions-to-video-with-ai tutorial goes deeper — this page is the file-first, destination-aware path.

The steps

  1. Decide the output before you generate — file or burned-in. The single decision that shapes everything downstream: do you need a separate subtitle file the viewer can toggle, or burned-in text baked into the pixels? Files (SRT/VTT) are right for long-form YouTube, website players, and accessibility, because viewers turn them on and off and search engines can read them. Burned-in is right for TikTok, Reels, and Shorts, where you want styling control and captions that survive a re-upload. Many creators produce both from one generation. Set this first, because it changes which format you export and whether styling even matters.
  2. Feed the generator clean audio and set the source language. The model only transcribes what it can hear, so accuracy is capped at the door. Upload the highest-quality audio you have — a dedicated mic track beats camera audio, and lowering background music before transcription cuts errors noticeably. Set the source language explicitly rather than trusting auto-detect, especially for accented or code-switched speech. Most generators run OpenAI Whisper or a Whisper-class engine, which supports roughly 99 languages, but a wrong language guess produces garbage no amount of editing fixes.
  3. Generate the transcript and let it segment into timed cues. Run the transcription. The engine returns every word with a timestamp, then slices that stream into subtitle cues — the individual on-screen blocks with a start and end time. This segmentation is automatic but rarely optimal on the first pass: generators tend to cut on silence, not on meaning, so you get cues that break mid-phrase or run too long. Treat the raw output as a first draft of the timing, not the finished track.
  4. Fix segmentation to reading-speed rules. This is the craft step that most auto-captions skip. Aim for roughly 15-17 characters per second (CPS) for general adult content — the comfortable reading pace; streaming standards like Netflix cap around 20 CPS and reject files that exceed it. Keep lines to about 42 characters and no more than two lines per cue, break lines on natural phrase boundaries, and hold each cue on screen long enough to read (a common floor is under ~1 second is too fast). A subtitle that is technically accurate but flashes past unread is a failed subtitle.
  5. Correct the text — proper nouns are where AI misses. Read the full track and fix the predictable errors: brand and product names, people's names, technical jargon, and homophones (their/there, to/two). These are exactly the words your audience notices, and Whisper-class engines that hit 95%+ on clean English still miss them. If your generator supports a custom-vocabulary or word-boost list, seed it with your recurring proper nouns so the next job spells them right before you review. Five minutes here is the difference between a track that builds trust and one that quietly embarrasses you.
  6. Export the right file format for the destination. Match the format to where the video lives. SRT (SubRip) is the simple, near-universal default — use it for YouTube uploads and most social platforms. VTT (WebVTT) is the web-native format with positioning and CSS styling — use it for videos embedded in a website's HTML5 player. ASS (Advanced SubStation Alpha) supports pixel-precise positioning, custom fonts, and animation — use it when subtitles need branded, styled treatment. YouTube also accepts VTT and SBV; a website player generally wants VTT. Export the format the destination expects, not whatever the tool defaults to.
  7. Generate translated subtitle tracks for reach. One source video can carry many language tracks. Most AI subtitle generators translate the transcript into other languages in one step — Whisper alone spans ~99 — so you can produce Spanish, Portuguese, or French subtitle files from the same generation and upload them as alternate tracks. This multiplies addressable audience off content you already made. Machine translation is a strong draft, not a finished localization: idioms and technical terms drift, so have a native speaker spot-check anything customer-facing before it ships.
  8. Attach and verify on each destination. The last mile is per-platform and manual with a standalone tool. Upload the SRT to YouTube Studio's Subtitles panel, add the VTT as a track in your website player, or render the burned-in cut for short-form. Then preview on the actual destination — fonts substitute, contrast shifts, and positioning moves between your editor and the live feed. Confirm the track loads, the timing holds, and short-form captions sit in the middle third where platform UI does not cover them.

Common gotchas

  • Segmentation, not spelling, is where auto-generated subtitles usually fail — cues that break mid-phrase or blow past ~17 CPS read badly even when every word is correct. Always pass over the timing, not just the text.
  • Exporting the wrong format wastes the work: a website HTML5 player wants VTT, YouTube takes SRT/VTT/SBV, and burned-in short-form needs a render, not a file. Confirm the destination's accepted format before you export.
  • Subtitle timecodes are tied to the audio timeline. Re-cut the video after generating and the cues drift — always subtitle the locked final edit, never a draft you will trim again.
  • Plain subtitles are not accessibility. If you have an ADA/accessibility obligation, you need SDH-style output with speaker labels and non-speech sound cues, not a spoken-words-only track.
  • Burned-in subtitles are permanent — a wrong color, an off-screen line, or an unread flash is baked into every export. Get the style and reading speed right once, then render.
  • Machine-translated subtitle tracks vary sharply by language pair. A clean English-to-Spanish pass can read fine while a low-resource language comes out awkward — never publish an unread machine translation to a paying audience.

Where Kompozy fits

Every AI subtitle generator ends at the same place: it hands you a file. The work it leaves on your desk is the last mile — deciding whether this destination wants a toggleable SRT, a web-player VTT, or burned-in pixels, then uploading the right one to each platform by hand. Run one video to YouTube, a website, and three social feeds and you are doing that format-and-attach dance five times per clip. Kompozy owns that last mile because it is the publisher, not a generator you export out of. It renders the destination-appropriate subtitle treatment per format automatically — burned-in short-form presets for Persona Shorts, Clipped Shorts, and Marketing Shorts through an ffmpeg/libass step; the toggleable-file treatment where the platform expects one — and then publishes natively to all nine of its supported social platforms. There is no SRT to carry from a caption tool to each destination and re-attach.

The subtitle craft this page details — CPS limits, ~42-character lines, cutting cues on phrase boundaries — is baked into those presets so you are not tuning reading speed clip by clip. And for the talking-head formats, Kompozy wrote the script before it generated the video, so the subtitles render from the known words rather than being guessed back out of the audio by an ASR model — the proper-noun misspellings you would otherwise correct by hand mostly never appear. Standalone generators are still the right call when you need a hand-tuned ASS track for one hero video, or an SRT for a platform Kompozy does not publish to. But if the goal is subtitled content shipped across your whole calendar rather than a file exported per clip, that is the trade Kompozy makes: Creator ($49/mo for 2,500 credits) for a solo creator running a steady cadence, Pro ($299/mo for 18,000 credits) for high-volume multi-brand output, Enterprise custom. The generator on this page makes a subtitle file; Kompozy makes subtitled posts, formatted and published per destination.

Frequently asked questions

What is an AI subtitle generator?

A tool that runs your audio through a speech-to-text model — usually OpenAI Whisper or a Whisper-class engine — to transcribe every word, timestamp it, and slice it into timed subtitle cues. It returns a subtitle file (SRT, VTT, or ASS) or burned-in captions, which you then correct, style, translate, and attach to your video.

What is the difference between subtitles and captions?

Subtitles carry only the spoken words and assume the viewer can hear — they exist mainly for sound-off or different-language audiences. Closed captions and SDH add speaker labels and non-speech sound cues (music, a door slam) for deaf and hard-of-hearing viewers. A subtitle generator produces the base timed text for either; the difference is what you include and how you export.

Should I export SRT or VTT?

Use SRT for YouTube uploads and most social platforms — it is the simplest, most widely compatible format. Use VTT for videos embedded in a website's HTML5 player, since it was designed for the web and supports positioning and CSS styling. Use ASS when subtitles need branded, animated, pixel-precise styling. Export whichever the destination expects.

What is a good subtitle reading speed?

Roughly 15-17 characters per second (CPS) is the comfortable range for general adult content, with lines kept to about 42 characters and no more than two lines per cue. Netflix allows up to 20 CPS and rejects files that exceed it; children's content should stay lower, around 17 CPS. Exceeding the limit is the most common reason a subtitle file fails quality review.

Can an AI subtitle generator translate into other languages?

Yes. Most generators translate the transcript into other languages in one step — Whisper spans roughly 99 — so you can produce multiple language subtitle files from one source video and upload them as alternate tracks. Translation quality varies by language pair, so spot-check anything customer-facing with a native speaker before publishing.

Can I generate subtitles for free?

Yes. OpenAI Whisper is open source and runs locally on a modern laptop at no cost, and platform tools like YouTube Studio and CapCut auto-generate subtitles free. Paid tools add polished styling, one-click translation, and custom-vocabulary lists on top of the same class of model. The generation is the cheap part; the segmentation and correction are where the quality lives.

Related tutorials

← All how-to guides · Get Started