AI and media automation
AI Video Subtitle Translation Pipeline
I built a self-hostable video-processing workflow that transcribes Turkish speech, translates subtitles into a selected language, and produces downloadable SRT files plus video with rendered captions.
- Role
- Independent Product Engineer
- Period
- 2025
Open-source AI workflow
From submitted video to reviewable subtitle outputs
Video submission
Queued background job
Speech transcription
Subtitle translation
Context
Open-source personal project
Role
Independent Product Engineer
Product type
AI and media automation
Core capability
Python
Product context
Turning separate, failure-prone media steps into one job flow
Video transcription, translation, subtitle generation, and caption rendering each have different runtimes and failure modes. The product needed a reviewable flow with visible progress, provider choice, useful error states, and downloadable intermediate and final outputs.
Attribution anchor
What I was responsible for
I published the complete initial application: browser interface, FastAPI job API, queue and worker architecture, media pipeline, Docker setup, deployment guidance, and operational documentation.
Selected scope
Selected contributions
- 01
Built the FastAPI job API and browser interface for URL submission, language and provider selection, progress, errors, and results.
- 02
Used Redis and RQ to move long-running transcription, translation, and media work out of the web request lifecycle.
- 03
Connected video download, Whisper transcription, multiple translation options, subtitle generation, and FFmpeg rendering into one pipeline.
- 04
Added polling, shared result storage, downloadable video and SRT outputs, Docker Compose services, and deployment and safety documentation.
Evidence, not reconstruction
System view
A simplified view of verified responsibilities and system relationships. It does not reproduce a private or historical interface.
Open-source AI workflow
From submitted video to reviewable subtitle outputs
The public processing path represented as an operational job flow rather than a fictional interface.
Video submission
URL, target language, and explicit translation-provider selection.
Input
Queued background job
Redis and RQ isolate long-running work from the API request.
System
Speech transcription
Media acquisition and Whisper-based Turkish speech transcription.
Process
Subtitle translation
Selectable translation providers with progress and error handling.
Process
Subtitle generation and render
SRT generation and FFmpeg caption rendering.
Process
Reviewable downloads
Subtitle file and captioned video available as separate outputs.
Output
Verified relationships
- Video submissionQueued background job
- Queued background jobSpeech transcription
- Speech transcriptionSubtitle translation
- Subtitle translationSubtitle generation and render
- Subtitle generation and renderReviewable downloads
Engineering judgment
Selected technical decisions
Decision 01
Separated the API and worker so expensive media jobs do not block request handling and can expose durable progress.
Decision 02
Kept translation-provider choice explicit instead of hiding cost and capability differences behind one fixed path.
Decision 03
Exposed subtitle files and intermediate progress so model output could be reviewed rather than treated as unquestionable.
Technology context
- Python
- FastAPI
- Redis
- RQ
- OpenAI Whisper
- PyTorch
- yt-dlp
- FFmpeg
- OpenAI API
- deep-translator
- Docker Compose
- HTML
- CSS
- JavaScript
Delivered capability
“An end-to-end, self-hostable AI-assisted media workflow—from submitted URL through queued processing to reviewable subtitle and rendered-video files.”
AI workflow automation · Python services · Media processing