Self-hosted transcription — your audio never leaves our servers

Turn any video into
subtitles you can edit.

Upload a video or audio file and get accurate, time-coded captions in minutes — edit them in the browser, translate to other languages, and export .srt, .vtt or plain text. Powered by our own speech-to-text engine, not a third-party API.

Free minutes every month · No credit card · Your files stay private

subtitles.devizones.com/projects/demo
intro.mp4 · English
done · 00:10.6
00:00.4 → 00:02.1Welcome back to the channel.
00:02.3 → 00:05.0Today we're shipping our own transcription engine.
00:05.2 → 00:07.8No third-party APIs — it all runs on our box.
00:08.0 → 00:10.6Let me show you how the captions come out.
SRT VTT TXT Translate
.srt · .vtt · .txt Export in every common format
Self-hosted Your media never leaves our box
Multi-language Translate captions in a click
Word-level timing Clean, readable cue breaks

Everything you need to caption a video.

From upload to a polished subtitle file — without juggling a dozen tools or shipping your media to someone else's cloud.

Upload video or audio

Drop in MP4, MOV, MP3 or WAV. We extract the audio and queue it for transcription — large files welcome.

Our own engine

Speech-to-text runs on self-hosted faster-whisper. No OpenAI, no Deepgram — your audio stays on our infrastructure.

In-browser editor

Fix a word, retime a cue, merge or split lines. Clean cue breaks with word-level timestamps out of the box.

Translate captions

Generate caption tracks in other languages from the original transcript — timings preserved, one click per language.

Export anywhere

Download .srt, .vtt or plain-text transcripts. Drop them straight into YouTube, Premiere, CapCut or your player.

Fast, async pipeline

Upload and come back — a one-hour video transcribes in a few minutes. Watch progress live from your projects list.

Captions in three steps

Most videos are ready to download within minutes of uploading.

1

Upload your file

Pick a video or audio file. We pull the audio out and add it to the transcription queue automatically.

2

We transcribe it

Our engine generates time-coded captions with sensible line breaks. Edit any cue in the browser.

3

Export or translate

Download .srt / .vtt / .txt, or spin up extra caption tracks in other languages — then export those too.

Simple, minutes-based pricing.

You get a pool of transcription minutes each month. No surprise per-file fees.

Free

Free

Get started — 30 minutes of transcription per month

  • 1 team member
  • 30 minutes / month
  • Up to 200 MB per file
  • .srt · .vtt · .txt export
  • Translation not included
Start free
Most popular

Pro

$19/mo

1,000 minutes/month + translation

  • 5 team members
  • 1,000 minutes / month
  • Up to 1024 MB per file
  • .srt · .vtt · .txt export
  • Multi-language translation
Get started

Every plan runs on our own transcription engine. Your media is processed privately and never sent to a third party.

Questions everyone asks

Where does the transcription actually run?+

On our own servers, using self-hosted faster-whisper. Your audio is extracted, transcribed, and discarded from the queue — it is never sent to OpenAI, Google, or any third-party API.

What formats can I upload and download?+

Upload common video and audio (MP4, MOV, MKV, MP3, WAV, M4A). Download captions as .srt or .vtt, or grab a plain-text transcript — ready for YouTube, Premiere, CapCut, or any player.

Can I translate the captions?+

Yes — on plans that include translation, generate a new caption track in another language from the original transcript. The timings are preserved, so the translated subtitles line up with the video.

How long does a video take?+

It's an async pipeline — upload and come back. As a rule of thumb the engine processes audio several times faster than real time, so a one-hour video is typically ready in a few minutes.

Ready to caption your next video?

Upload your first file in a couple of minutes — we don't ask for a card.

Start your free trial

Self-hosted transcription · Your media stays private