Blog · September 16, 2026 · 16 min read

Auto-Generate Subtitles: A Guide

Graphic title card for the article “Auto-Generate Subtitles: A Guide” with a stylised video frame with editing timeline.
Grafik: HumanITy

There are exactly three routes to automatic subtitles: straight on the platform, inside your video editor, or with a standalone tool that does nothing but transcribe. The platform route is the fastest, the editor gives you styling and timing, the standalone tool gives you the file and with it control over correction and reuse. What comes out is a subtitle file, usually SRT or WebVTT, or text burned into the picture. Burned-in text reliably shows up in a silent feed, a toggleable track stays switchable and translatable; where the platform allows both, take both. And whichever route you take: the machine mishears German proper nouns and technical terms regularly, sets numbers differently from how subtitles need them, and breaks lines wherever there happens to be room. Google recommends in its own help page that you always review automatic captions. The correction pass is part of the instructions, not polish. All prices: as of September 2026.

At my end, subtitling does not run through an app but through a fixed work step: a local speech model and a check against the script before any text goes into the picture. Everything on AI at work is on the AI page, the reasons for running speech recognition on your own machine are in Local AI: The Overview, and the editing programs with prices are in AI Video Editing Software Compared. This article is only about the subtitles.

The three routes at a glance

Route What you get What it is good for
Platform (YouTube, TikTok, Instagram) Subtitles right on the uploaded video, correctable in the interface One video, one platform, done fast
Editor (Premiere Pro, DaVinci Resolve, CapCut, Kdenlive) A subtitle track in the timeline, styleable, exportable You are editing yourself anyway and want to control look and timing
Standalone tool (browser service or local model) An SRT or VTT file, independent of the video Several platforms, an archive, translation, correcting in peace

The question behind it: once or repeatedly? For a single reel the platform route is usually enough; how the reel tools differ on price, German and export has its own comparison. The moment the same video runs on several channels, an archive builds up or the brand style has to hold, a fair amount already speaks for the file on the very first video.

Route 1: straight on the platform

YouTube generates automatic captions via speech recognition, and German is in the language list in its official help. You correct them in YouTube Studio under "Subtitles": pick the video, click "More" next to the track. The same help page names the weak spots: unclear pronunciation, accents, dialects, background noise, long silence at the start, several people talking over each other. Important for "generate and translate": automatic captions are only ever created in the video's default language according to Google. A second language is not a second automatic run, it is a translation.

TikTok transcribes the audio automatically too, and German is named in TikTok's announcement of 21 July 2022. Every line can be changed before publishing. Important for the burned-in question: viewers can switch the captions off themselves, via the share panel and the captions button (announcement of 6 April 2021). Both are product announcements, so what the switches are called today is something you see when you upload.

Instagram generates automatic captions for reels via speech recognition. In the editor they sit under "More options" behind the "Turn on captions" and "Translate captions" switches, and can still be changed after publishing. If you place the captions sticker in the recording instead, you correct a misheard word by tapping it. Meta's accessibility guide also advises adjusting the colour: white text on a light background turns unreadable in the feed.

Route 2: inside your editor

If you are editing yourself anyway, the subtitles get made where everything else gets made. Adobe Premiere Pro has speech to text built in, German is supported, the language pack is installed on demand, and caption translation covers 27 languages according to Adobe. DaVinci Resolve only transcribes in the Studio version, a one-off 295 dollars. CapCut generates captions automatically and translates them into more than 27 languages, German explicitly included. Kdenlive gets its speech recognition from VOSK or Whisper with the models sitting locally; it is the only route here that costs nothing and uploads nothing.

Prices and limits for each program are in the AI video editing software comparison.

Route 3: a standalone tool

Here you separate transcription from editing: you get a file and can correct it, archive it, translate it and reuse it.

In the browser. Services like Happy Scribe take the file and hand back subtitles, in more than 150 languages. On exports the comparison table is worth reading: TXT and SRT are in the free tier, PDF and DOCX from Basic, VTT only from Pro. And the prices printed large (8.50 euros for Basic, 19 for Pro, 59 for Business a month) apply with annual billing; billed monthly the same tiers cost 17, 29 and 89 euros. Human proofreading starts at 1.75 euros a minute. The price is that your raw footage gets uploaded. If there are clients or conversations in it, that is a deliberate decision; how I handle it is in AI and Data Protection: What the AI Gets to See.

Locally. OpenAI's Whisper is MIT licensed and runs on your own machine, in six model sizes from tiny to turbo. The command line writes SRT or VTT directly (--output_format srt), --language German sets the language, and with --initial_prompt you feed it the spellings the model would otherwise mishear: company names, product names, technical terms. One limitation: the built-in translation (--task translate) only ever goes into English. German to Spanish needs a second step.

Correcting. For cleaning up the file there is Subtitle Edit, also MIT licensed, for Windows 10, macOS 12 and newer, and Linux, working offline. A subtitle file is a text file in the end; a tool that plays the video next to it is simply more pleasant.

SRT or VTT

SRT (.srt) WebVTT (.vtt)
What it does Number, timecode, text. That is all. Positioning, text alignment, CSS styling via STYLE blocks, regions, chapter cues, speaker tags
Status De facto standard with no specification body W3C Candidate Recommendation Draft, version of 20 May 2026
Technical Text file UTF-8, MIME type text/vtt
Use it for Uploading to YouTube and other platforms Your own website via the HTML <track> element

YouTube accepts both plus seven more formats, but explicitly recommends SRT or SBV for beginners. For SRT it supports only the basic variant and ignores style markup; for VTT, styling is limited to bold, italic and underline. Not a drawback but a division of labour: the file carries text and timing, the look is decided by the platform or by your video.

Burned in or toggleable

Burned-in subtitles are part of the picture, toggleable ones a separate track the viewer can switch on and off. Which one fits depends on the channel and on what the text has to do beyond being readable.

Burn them in when: the video plays in a silent feed (Reels, TikTok, LinkedIn), you want to control the look (brand typeface, colour, position above the controls) or you need to be certain the text appears. Toggleable captions can be switched off by the viewer on TikTok according to TikTok's own announcement; if your video does not work without text, burned in is the safe option.

Additionally toggleable when: the video lives on YouTube or your own website, you want to offer several languages, or someone should be able to switch the text off, enlarge it or have it read aloud. That is exactly what burned-in text cannot do: it cannot be switched off, cannot be scaled, cannot be translated, and cannot be supplied as its own corrected text track. That does not make it invisible to machines, platforms often re-transcribe the audio or read on-screen text via optical character recognition. You just have no influence over the result, whereas your own track carries the text you corrected. Conversely, a VTT track is no guarantee that every search engine and every screen reader processes it the same way: on your own page, a visible transcript is the more robust addition.

Both at once is usual for a multilingual audience: burned in in the original language, toggleable as the translation. The simplest way to burn in is ffmpeg, whose subtitles filter renders an SRT file into the picture via libass; force_style sets typeface and colour. That turns a brand guideline into a command-line parameter instead of a sequence of clicks.

Where German really breaks it

Five places, and all five only show up in the correction pass. As benchmarks I use the style guide Netflix publishes for its German timed-text deliveries: public, precise, used by professionals. By its own wording it applies to deliveries to Netflix and is not a limit for Instagram or YouTube. I take the values deliberately as benchmarks and check the target platform's own specs on top.

Proper nouns. The machine writes names the way they sound. That regularly creates errors in company, place and personal names. The fix: keep a list of your recurring names and hand it to the model, in Whisper via --initial_prompt. Netflix takes a similar line: proper names are not translated, diacritics stay.

Technical terms. Every industry has twenty words a general speech model does not know. Same list, same route, then a find-and-replace pass over the finished file. One minute, rest done.

Numbers. Here subtitle practice differs from transcript practice. Netflix spells out one to twelve and switches to digits from thirteen, uses a dot as the thousands separator from five-digit numbers (50.300) and a colon for times (8:30 Uhr). Automatic subtitles follow none of these rules, they write what they hear.

Line breaks. The point where automatic subtitles look worst. The rule: two lines maximum, and the break must not tear a unit of meaning apart. Netflix puts it like this: break after punctuation, before conjunctions, before prepositions; never between article and noun, adjective and noun, first and last name, or verb and subject pronoun. The shape to aim for is a bottom-heavy pyramid, so no top line of just two short words. Whisper plays along: --max_line_width and --max_line_count set the limits, and both need --word_timestamps True.

Reading speed. The hard number almost nobody checks. For its German subtitles Netflix sets a maximum of 42 characters per line, two lines maximum, a maximum of 17 characters per second for adults and 13 for children's content, plus a duration of five sixths of a second to seven seconds. Automatic subtitles cut at speech pauses, not for readability. If you speak fast, 60 characters sit on screen for two seconds and nobody has read them.

In German this gets tight more often than in English, because German words are longer on average. Not in every sentence, but often enough: the characters per second go up without you speaking any faster.

When this comes around every week

Everything above is handwork with tool support: fine for one video, repetition from the third one a week. I did not add another app for this, I gave the task to a role. Eddi is my AI employee for video editing: he gets raw footage and a script and delivers a finished video, pauses out, subtitles on, overlays placed, 9:16 format.

For the subtitles he runs exactly route three, locally. A speech model on the machine itself produces the text, then comes the step that makes the difference: a second comparison checks the transcript against the script before anything goes into the picture. Only then does he burn the subtitles in, in the brand style, on the command line with ffmpeg and Remotion, no CapCut, no mouse. After every encode a black-frame check runs, grown out of a complaint of mine.

The technology is the same as above. The difference: the checking routine is built in and does not depend on whether somebody still feels like proofreading 40 subtitle lines on a Friday evening. How a role like that comes about is in Hiring an AI Employee: The Process, and the overall division of work in My AI Workforce.

Frequently asked questions

How do I create subtitles for Instagram Reels?

Directly in the app: Instagram generates the captions via speech recognition, and the "Turn on captions" and "Translate captions" switches sit in the editor under "More options", still changeable later. If the same video also runs on YouTube or your website, generate an SRT file as well and burn it in for the reel.

Can I generate and translate subtitles automatically?

Partly. YouTube only generates automatic captions in the default language, so a second language is always a translation. CapCut translates into more than 27 languages, Premiere Pro into 27, Whisper running locally only into English. Every other language pair needs a second step, and translated subtitles get read by someone who speaks the target language.

Are automatic subtitles available for free?

Yes. The automatic captions on YouTube, TikTok and Instagram cost nothing. Kdenlive is free software and gets its speech recognition from VOSK or Whisper, which is itself MIT licensed and runs locally. The effort moves from the invoice to the setup.

Should I burn subtitles in or attach them as a file?

Burn them in for the silent feed, so Reels, TikTok and LinkedIn, and whenever you want to control typeface and position. Additionally as a track or file wherever someone should be able to switch the text off, enlarge it, translate it or have it read aloud. Where the platform can do both, take both.

How long can a subtitle line be?

A usable benchmark is what Netflix sets for its German subtitle deliveries: a maximum of 42 characters per line, two lines maximum, a maximum of 17 characters per second for adult content, and a duration between five sixths of a second and seven seconds. For Instagram, YouTube or your own page these are not limits but benchmarks; the target platform's own specs come on top. Automatic tools follow none of them on their own.

How good are automatic subtitles in German?

Usable for fluent standard speech without background noise, with a fixed error profile: proper nouns, technical terms, number formatting, line breaks. Google names accents, dialects, background noise and several people speaking at once as limits, and advises always reviewing automatic captions.

How to take this further

Take your next video and run the pass through once, completely: generate the subtitles, export as SRT, then check three things. Every proper noun and technical term. Every line over roughly 42 characters. Every break that splits a sentence in the wrong place. After that you know your error profile and hand those words over next time.

If what comes out of it is that the subtitles are not the problem but the repetition is, the next step is a fixed role rather than another subscription. The templates for it, and the people who have already run the same pass, are in my community.

Kevin Welter

Kevin Welter

Developer, IT architect, author of technical books (Kubernetes, cloud infrastructures) and speaker. Runs his business with an AI workforce of fourteen AI employees and shows solo business owners in his community how to hire their first AI employee.

More about AI employees

Your first AI employee up and running within an hour

Join the community