Meetings
Transcribing a one hour meeting despite STT API limits
August 10, 2026 · 3 min read · Navin team
Duration, size, format: why transcription APIs reject long meetings, and how Navin prepares audio locally (16 kHz mono, segmentation, WAV) to transcribe a full hour without failing.
A one hour recording usually weighs 60 to 120 MB and breaks both the duration cap and the size cap of most transcription APIs. That is why so many tools fail on long meetings. The Meeting module in Navin solves it where it costs the least: in the browser, before the upload.
Docs: Transcription · Meeting · Troubleshooting
Why providers reject your file
Speech-to-text APIs enforce two independent ceilings, and a long meeting hits both.
| Limit | Common range | What happens past it |
|---|---|---|
| Duration per request | 25 to 300 seconds depending on the provider | Request rejected, no text at all |
| Upload size | 4 to 25 MB | Rejected, sometimes after minutes of waiting |
| Accepted formats | Varies, webm/opus often refused | Format error on an otherwise valid file |
Sending a raw one hour file means fighting three constraints at once. The right move is not to shop for a more permissive provider, it is to prepare the audio properly.
What Navin does before anything is uploaded
When you import a file, the #/meeting desk runs a fully local preparation chain:
- Decode the file in the browser.
- Downmix to mono, because a second channel adds nothing for a speech model and doubles the payload.
- Resample to 16 kHz, the rate speech recognition models are trained on.
- Cut into segments below the duration cap configured for your provider.
- Send sequentially, with visible progress such as
Transcribing 4/24. - Reassemble the transcript in order.
Resampling alone changes the economics: one hour of 48 kHz 16-bit stereo is roughly 660 MB as PCM, against roughly 110 MB in 16 kHz mono. Same useful content, almost six times less data to move.
If decoding fails, on an exotic container for instance, the file is sent as is and the provider decides. You then get an explicit error instead of silence.
Live capture does not wait for the end
While recording, the same logic runs continuously. The microphone streams in 25 second chunks, shortened automatically when your provider caps lower, and each chunk is transcribed and appended while the meeting goes on. You read what was just said instead of waiting for a final pass.
The container is picked from what the platform supports, in order audio/webm;codecs=opus, audio/webm, audio/mp4, audio/ogg;codecs=opus. For providers that refuse browser Opus, conversion to WAV happens client side, with nothing to configure.
Better accuracy without a bigger budget
| Lever | Effort | Typical gain |
|---|---|---|
| A stronger STT model in Settings -> Voice | One setting | Best single improvement, especially accents and jargon |
| Close microphone, one speaker per device | Organisational | Removes errors no post-processing can fix |
| The High-accuracy pass action | One click | Repairs obvious ASR errors and punctuation |
| The Identify speakers action | One click | Labels turns without inventing names |
| Domain vocabulary in the notes | Thirty seconds | Helps the model with acronyms and proper nouns |
When an import stops midway
A segment can fail. The transcript keeps everything that succeeded before the incident, so you re-import for the rest instead of starting over. Error messages name the constraint that was actually hit, duration, size, or format, which stops people from switching provider over an encoding issue.
FAQ
What is the maximum meeting length?
There is no ceiling on the Navin side. Length is bounded by provider patience and processing time, since segments are sent one after another.
Does segmentation cut words?
Segments have a fixed duration, so a cut can land mid sentence. The high-accuracy pass restores punctuation and stitches truncated sentences.
Should I convert my file before importing?
Usually not: decoding and conversion happen locally. Re-encode only when an error message explicitly mentions the format.
Can I transcribe from a video call recording instead of a microphone?
Yes, that is the main import use case. Export the recording from your conferencing tool and drop it into the Meeting desk.
Does local processing slow my machine down?
Decoding and resampling are short and happen once per file. The dominant cost remains the network round trip to the provider.
Download Navin · Transcription docs · Local AI meetings · Free models and rate limits
Try Navin on your machine
Local agent, cross-platform. Code, debug, scrape, leads, security and review - without leaving Navin.