Guftagu AI is a local-first Windows app for generating Hinglish auto captions and Roman Urdu subtitles from uploaded videos. It runs on your machine, uses bundled FFmpeg, and does not impose cloud transcription quotas or usage limits.
This repository is Apex-only now. The app does not use Ollama or a rules-based converter anymore. It extracts audio locally, runs the cached Hugging Face Apex Whisper model, splits the transcription into subtitle-sized blocks, and exports a .srt file.
If you are searching for a free and unlimited Hinglish auto caption generator for Windows, this project is designed for that exact workflow.
For the full system design, see docs/ARCHITECTURE.md.
- Generate Hinglish auto captions from local video files
- Extract audio with the bundled FFmpeg binary
- Transcribe speech locally with Apex Whisper
- Split the generated text into smaller subtitle blocks
- Download a properly formatted
.srtfile from the browser
- Windows 11
- Python 3.11 or newer
- Internet access for the first install so the Apex model can be downloaded
- Bundled FFmpeg in
ffmpeg/bin
You do not need Ollama for this version.
app.py- Streamlit UI and the end-to-end processing flowaudio_extractor.py- Extracts mono 16 kHz WAV audio from uploaded video filesapex_converter.py- Loads the Apex Whisper model and turns audio into subtitle blockssrt_generator.py- Converts subtitle blocks into.srttextinstall.bat- One-click Windows installerrun.bat- Starts the Streamlit appffmpeg/bin/ffmpeg.exeandffmpeg/bin/ffprobe.exe- Bundled FFmpeg binaries
- Clone or download the repository from GitHub.
git clone https://github.com/SyeddTaha/GuftaguAI cd GuftaguAI
- Make sure Python 3.11+ is installed.
- Keep the bundled FFmpeg files in
ffmpeg/bin. - Double-click or run
install.batfrom the project root. - The installer will:
- Create
.venvif it does not exist - Upgrade
pip - Install the Python dependencies
- Install CPU-only
torch - Verify the bundled FFmpeg binaries
- Download the Apex Whisper model into the Hugging Face cache
- Create
- After installation finishes, run
run.bat. - Open the local Streamlit page in your browser.
The first install is the slowest step because the Apex model must be downloaded once. After that, normal use stays local and offline-friendly.
If you prefer to set things up yourself, run these commands from the project root:
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m pip install torch --index-url https://download.pytorch.org/whl/cpu
.\.venv\Scripts\python.exe -c "from huggingface_hub import snapshot_download; snapshot_download('Oriserve/Whisper-Hindi2Hinglish-Apex')"Then start the app with:
.\run.bat- Start the app with
run.bat. - Upload a video file.
- Set the number of words per subtitle block.
- Use smaller values like
2,3, or4for shorter subtitle lines.
- Use smaller values like
- Click
Start Processing. - Wait for the audio extraction and Apex Whisper transcription to finish.
- Preview the generated Roman Urdu subtitle text.
- Download the
.srtfile.
- Subtitle files are written to the
outputsfolder. - Output filenames follow the pattern:
<video-name>_<timestamp>_apex_whisper.srt
- The app runs locally on your machine.
- It is free to use after setup and does not rely on usage-based transcription credits.
- FFmpeg is bundled, so you do not need a system-wide FFmpeg installation.
- The first Apex Whisper download is large, so installation can take several minutes.
- Subtitle timing is approximate because the model output is split into word-based blocks for better readability.
- Streamlit file watching is disabled to avoid noisy optional-import warnings from
transformers.
Run the installer again or re-download the model with:
.\.venv\Scripts\python.exe -c "from huggingface_hub import snapshot_download; snapshot_download('Oriserve/Whisper-Hindi2Hinglish-Apex')"Make sure these files exist:
ffmpeg/bin/ffmpeg.exeffmpeg/bin/ffprobe.exe
- Confirm
.venvexists - Confirm
run.batis being launched from the project root - Check that no other process is locking the virtual environment executables
- Reduce the words per subtitle block
- Use shorter input videos while testing
- Keep the app on CPU unless you later add GPU support
Before pushing this repository to GitHub, make sure:
- the README says the app is installed by cloning the repo and running
install.bat install.batandrun.batare present- The bundled FFmpeg binaries are included
- Large generated folders like
outputs,temp,.venv, and cache folders stay out of version control - The README reflects the current Apex-only workflow
- You include a license file if you want the project to be reusable by others
- Copy-paste command guide
- Architecture guide
- QA checklist
- Publishing checklist
- Contributing guide
- Security policy
- Code of conduct
- License
Add a license before public release if you plan to distribute the project.