Screenforge/blog
Blog

Whisper AI Transcription Without the Upload: How Screenforge Captions Screen Recordings Locally

Screenforge generates captions using Whisper AI transcription entirely on-device via ONNX Runtime, no audio or video recording ever leaves your machine.

A man wearing over-ear headphones typing on a laptop at a desk in a home office

Screenforge generates captions for screen recordings using Whisper, OpenAI's open-source speech recognition model, running locally on your computer through ONNX Runtime. There's no server call involved. The recording, the transcription, and the caption file all stay on the same machine, from start to finish.

Key Takeaways

  • Screenforge captions recordings with Whisper, running locally through ONNX Runtime, not a cloud API.
  • No audio, video, or transcript text ever leaves your device during captioning.
  • Four model sizes (tiny, base, small, medium) trade processing speed for transcription accuracy.
  • Captions arrive as word-level, click-to-edit segments with full style customization.
  • Export as an SRT file or burn captions directly into the video, free in the desktop app today.

What Is Whisper, and Why Does Running It Locally Change Anything?

Whisper is OpenAI's open-source speech recognition model family, released in several sizes and trained to convert spoken audio into text across dozens of languages. Most "AI captions" features in screen recording tools call a cloud-hosted version of Whisper or something similar. Screenforge instead runs the model directly on the device doing the recording.

Most screen recorders bundle transcription as a checkbox feature quietly wired to a third-party API behind the scenes. Screenforge treats transcription as a local compute problem instead, the same category as encoding video or rendering a timeline.

So what actually changes when transcription happens on-device instead of over a network? Cloud transcription typically means your audio file gets uploaded, processed on infrastructure you don't control, and a transcript sent back down. That round trip is invisible to most users. It also means the content of the recording, whatever was said on screen, briefly exists on someone else's server.

Running Whisper locally removes that step entirely. The model, and the compute needed to run it, live on your laptop or desktop. Nothing about the audio needs to travel anywhere for a transcript to come back.

Cloud Transcription vs. Local Transcription

The practical difference comes down to where the processing happens, not what the output looks like. A local Whisper model and a cloud-hosted one can both produce a transcript with timestamps. Where they diverge is in what happens to your audio to get there.

With cloud transcription, the audio or video leaves your machine, even briefly and even if the provider deletes it afterward. With local transcription, that step never happens, because there's no upload endpoint in the pipeline to begin with.

How Does Screenforge Run Whisper AI Transcription Locally?

Screenforge runs Whisper through ONNX Runtime, a standard framework for executing machine learning models on local CPU or GPU hardware without a server round-trip. You choose a model size, tiny, base, small, or medium, and the transcription happens on your own device using that model.

ONNX Runtime is a common way to run models like Whisper efficiently outside a research environment. It's what lets Screenforge ship transcription as a built-in feature rather than a network call. No API key, no account, and no internet connection required for this part of the workflow.

Choosing a Model Size: Tiny, Base, Small, or Medium

  • tiny — Processing speed: Fastest · Transcription accuracy: Lowest · Good fit for: quick drafts, short clips, rough captions
  • base — Processing speed: Fast · Transcription accuracy: Moderate · Good fit for: everyday walkthroughs and tutorials
  • small — Processing speed: Moderate · Transcription accuracy: Good · Good fit for: most product demos and longer recordings
  • medium — Processing speed: Slowest · Transcription accuracy: Highest · Good fit for: accuracy-sensitive content, technical terminology

This is a genuine tradeoff, not a marketing choice. The tiny model transcribes a recording in a fraction of the time the medium model needs, but it's more likely to miss a word here and there, especially with background noise, accents, or dense technical vocabulary. The medium model catches more of that detail, at the cost of a longer wait after you stop recording.

There's no single "correct" setting. Someone captioning a two-minute internal update might reach for tiny or base. Someone captioning a fifteen-minute client walkthrough full of product names and acronyms probably wants small or medium instead.

Why Does On-Device Transcription Matter for Sensitive Recordings?

Recording something before it's public, an internal demo, a client call, an unreleased feature walkthrough, means the audio itself is sensitive information. Local transcription means that audio never gets packaged up and sent to a transcription server, because Screenforge's captioning pipeline doesn't include a network step at all.

Think about what typically gets recorded with screen capture software: a product manager walking through a feature before launch, a support engineer reproducing a customer's exact configuration, a sales team recording a client-specific demo with real account data visible on screen. All of that ends up in the audio track and the video frames, not just the final transcript.

The privacy question around AI captions usually gets framed as a policy problem, something to fix with a data retention clause or a deletion promise. Architecturally, the simpler answer is to remove the exposure in the first place rather than manage it after the fact.

Why does that distinction matter in practice? A policy is a promise about how a third party will behave. An architecture where the audio never leaves the device isn't a promise. It's a description of what the software can't do, even if it wanted to.

This doesn't require any special mode or setting to turn on. It's simply how the captioning feature is built. Recording, transcription, and editing all happen through local processing, the same way the rest of Screenforge's core functionality works.

What Does the Caption Editing Workflow Look Like After Transcription?

Once Whisper finishes transcribing, Screenforge produces word-level timed captions, meaning each word carries its own timestamp rather than one block per sentence. You can click into any segment and edit the text directly, fix a misheard word, adjust timing, or restyle how captions appear on screen.

Word-level timing matters for editing because it means you're not stuck retiming a whole sentence to fix one word. What happens when Whisper mishears a product name or acronym? It will, occasionally, especially with jargon or unusual spellings. You correct that single word, and the timestamps around it stay intact.

Style customization covers the usual caption variables: font, size, color, position on screen, background, and highlight style for the active word. None of that requires re-running transcription. It's applied on top of the timed text you already have.

Exporting Captions: SRT Files or Burned-In Video

Once captions look right, there are two export paths. You can export a standalone SRT file, useful if you're uploading the video somewhere that handles its own caption rendering, like YouTube or a course platform.

Or you can burn the captions directly into the exported video file, so they become a permanent part of the frame. That's the more common choice for social clips and anywhere you can't guarantee the platform will display an uploaded caption file correctly.

Both export paths run through the same local FFmpeg-based processing Screenforge uses for the rest of its editing and export features. No upload step gets introduced at export time either.

Frequently Asked Questions

Does Whisper AI run locally?

Yes. Whisper's open-source models can run entirely on a local CPU or GPU without any network connection. Screenforge uses this approach for captions: audio is processed on your device through ONNX Runtime, and no recording data is sent anywhere to produce a transcript.

Is local AI transcription as accurate as cloud transcription?

Not always, and it depends on model size. Smaller local models like Whisper tiny or base trade some accuracy for speed, while the medium model narrows that gap considerably at the cost of longer processing time. Cloud services often default to larger models by design. For clear speech in typical screen recordings, the practical difference is usually small.

Can I add captions to a screen recording without uploading it anywhere?

Yes. In Screenforge, recording, transcription, editing, and export all happen through local processing, using Whisper via ONNX Runtime for captions and local FFmpeg for everything else. There's no point in that workflow where the video or audio file gets sent to an external server.

What model sizes does Screenforge support for transcription?

Screenforge offers four Whisper model sizes: tiny, base, small, and medium. Each one trades processing speed against transcription accuracy, tiny is fastest and least precise, medium is slowest and most precise. You pick the size per recording, so a quick internal clip and a detailed client walkthrough can use different settings.

Can I edit captions after Whisper generates them?

Yes. Captions come out as word-level timed segments, and each one is click-to-edit. You can fix a misheard word, adjust its timing, or change caption style, font, color, position, and highlighting, all after transcription finishes, without needing to re-run the model.

Does Screenforge send any data to the cloud?

Screenforge's core recording, editing, transcription, and export happen entirely locally. The app does include an optional, off-by-default anonymous analytics and crash reporting feature, unrelated to recording content, that never accesses your actual audio or video. Transcription itself has no cloud component at all.

Where This Leaves You

Whisper AI transcription doesn't have to mean handing your recording to someone else's server. Running the model locally, through ONNX Runtime, with a choice of four sizes, gets you timed, editable captions without adding a network dependency to the process.

That matters most for the recordings that shouldn't leave your machine in the first place: pre-launch demos, client-specific walkthroughs, internal tooling nobody outside the team has seen yet. The architecture doesn't ask you to trust a policy. It simply doesn't create the exposure.

This is already built into the free Screenforge desktop app for macOS and Windows, no separate purchase, no account required to use it.

Record your next demo with Screenforge.

A free desktop app for macOS and Windows, plus an AI agent that records demos for you.