Skip to content
KolWrite Open KolWrite

SRT file from video or audio

Turn a video or audio file into an SRT file.

Upload your file and let KolWrite transcribe it with timestamps.

Live demoRecording & transcript Open KolWrite Open demo in a new tab

Live demo

Runs in your browser.

Once you fix any misspelled names, export it as an SRT. Each line includes a start and end time, so video editors, media players, and publishing platforms display the words right as they're spoken.

  • .srtthe subtitle file video tools accept
  • 100+languages transcribed
  • Edit firstfix names before exporting
  • SRT · VTTplus TXT, DOCX, PDF, and JSON

What's inside an SRT file

An SRT file is just plain text. It contains a numbered list of cues, and each cue has a start time, an end time, and the subtitle text. You can open it in any text editor, and nearly every video editor, player, and publishing platform can read it.

Numbered cues

Cues are numbered sequentially so players display lines in the right order and you can easily find specific lines when editing.

Millisecond timing

Timestamps look like 00:00:04,100 --> 00:00:07,000. That breaks down into hours, minutes, and seconds, followed by a comma and the milliseconds.

Plain text in any language

The words are stored as plain text, including Hebrew and Arabic. Save the file as UTF-8 when you edit it so none of the letters get garbled.

1
00:00:01,200 --> 00:00:03,900
Welcome back to the show.

2
00:00:04,100 --> 00:00:07,000
Today we are talking about subtitles.

What makes an SRT ready to publish

Generating the file only takes minutes, though a quick check by a person is what keeps an SRT from being distracting.

Audio-synced timing

Because the cues are pulled directly from the recording, lines show up right when the words are said. Subtitles timed by hand often drift out of sync.

Names and jargon

Automated transcription usually trips up on proper nouns, product names, and acronyms first. Fix them once in the transcript before you export.

Short lines and speaker breaks

Stick to one or two short lines per cue so people can finish reading before the text disappears. Speaker labels make it easier to see where to split cues.

Go from media file to SRT in four steps

  1. Upload your file

    Open KolWrite on the web, your phone, or your Mac and add a video or audio file. Select the spoken language, or let KolWrite detect it automatically.

  2. Transcribe with timestamps

    Pick a model to generate the transcript with timestamps and speaker labels. Different models vary in speed and in what they skip.

  3. Review and fix

    Click any line you aren't sure about to play the audio and fix typos. Your edits won't mess up the timestamps, and every export will use the updated text.

  4. Export to SRT

    Download the SRT (or VTT for web players) to bring into your editing software or upload alongside your video. If you need another language, run a translation before exporting.

For developers and AI agents

You can also run everything KolWrite does with a recording through our API. Send the address of an audio or video file from your own code or an AI coding agent, and you'll get back the transcript with word timings, speaker labels, and an SRT file if you request one.

Word timings and speakers

The JSON output gives you the start and end time for every segment, plus individual word timings on models that support alignment. Turn on speaker separation to include a speaker label on each segment.

SRT and translation

Pass output_format as srt if you want subtitles directly from the API. If you are using the Oracle models, you can also set translate_to to get the text back in another language.

Built for agents

The API console publishes plain-text instructions for an agent to read before writing code. This includes agent-instructions.md, along with llms.txt, which links to the full reference.

Example request. The key comes from an environment variable, and the console has the full reference.

curl -X POST https://app.kolwrite.com/transcribe \
  -H "x-api-key: $KOLWRITE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"audio_url": "https://example.com/video.mp4", "model": "oracle", "language": "auto", "output_format": "srt"}'
# Returns {"jobId": "..."}. Poll GET https://app.kolwrite.com/transcribe/{jobId}
# until status is COMPLETED. The result is the file or the JSON you asked for.

Questions

How do I make an SRT file from a video?

Upload the video to KolWrite, run the transcription, and check the text against the audio. When it looks good, export as SRT. You'll get a file with numbered cues and start and end times for each spoken line, ready to drop into your video editor or upload to your video platform.

Can I make an SRT file from audio only, such as a podcast?

Yes. SRT files only care about spoken words and when they happen, not the video track. You can upload an audio file, export the SRT, and match it up with the video version of your episode later.

Can I get an SRT file in Hebrew or Arabic?

Yes. Both languages read right to left, and the SRT file stores the characters in their natural order. Still, it's a good idea to preview the subtitles in your editor or player before publishing, since different tools handle punctuation and embedded English words in right-to-left text a bit differently.

What is the difference between SRT and VTT?

Both are plain-text subtitle formats that use timed cues. SRT is older and more widely accepted, while web players use VTT (WebVTT) natively. You can export both from the same transcript in KolWrite.

Does an SRT file put the subtitles on the video?

No, an SRT is a separate sidecar file. The media player or editor overlays the text on top of the video, and viewers can usually turn it on or off. If you want the words permanently baked into the video frames, you need to burn the captions in, which KolWrite can also do.

How do I create an SRT file with an AI assistant or the API?

Pass the video's address to the KolWrite API and set output_format to srt. Once the job finishes, save the output as a .srt file. If an AI agent is handling this, it can read the instructions in the API console first.

Try making an SRT from one of your own videos.

Grab a clip with actual dialogue, export the SRT, and load it alongside the video to see how the timing and names hold up.

Start transcribing