About the client
An archive of recorded educational lectures in which Hebrew, Aramaic and English are often mixed within a single recording.
The archive holds lectures that are often an hour or longer. Speakers move between Hebrew, Aramaic and English in the same sentence, and the text needs diacritics and correct references to religious sources.
The pipeline is built to handle millions of minutes of recordings, both audio and video. Every file has to come out with a transcript, subtitles, a summary and a streamable video.
What had to be solved
Accuracy, scale and cost pulled in different directions.
- Mixed-language speech needed special prompting and several formatting passes.
- Audio-only files and video containers had to go through the same pipeline.
- Long recordings had to be split and joined again with no gaps or overlaps in the timeline.
- Hundreds of parallel jobs ran into API rate limits.
- Three AI model tiers had to be balanced against quality and cost.
How the team built it
FFprobe checks each upload. Video files have their audio extracted automatically, so one path serves every format.
Recordings over 20 minutes are split at natural silences, never mid-sentence. After transcription, the chunks are merged into one timeline with corrected offsets.
Each chunk is transcribed into a structured schema with timestamps and speaker labels. Gemini Pro or Flash is chosen by length, with Flash-Lite also available, which keeps spend down.
Post-processing converts Hebrew script, adds diacritics, tidies formatting and verifies citations of religious sources.
A parallel module builds multi-bitrate HLS streams, thumbnails and previews. Results go to cloud storage behind secure links, on Kubernetes that scales from one file to hundreds, with retries and adaptive backoff.
What changed
Lectures move from raw recording to searchable, subtitled media without manual steps.
- 99% transcription precision on Hebrew and Aramaic content.
- 99% subtitle timestamp accuracy even when recordings are split.
- More than 300 jobs run concurrently under smart queue management.
- AI and API costs are up to 60% lower thanks to dynamic model selection.
- No data is lost when connections drop; work re-syncs automatically.



