Requirements
- Apple Silicon Mac (M1 or newer) running macOS 12+. Intel Macs are not supported — torch/mlx are built for Apple Silicon only.
- A free HuggingFace account, to access the gated speaker-diarization model.
1. Download the app
Grab video2text-v1.0.0-macos-arm64.zip from the latest release and unzip it. Put video2text.app wherever you like — moving it to /Applications lets you manage it like any other app.
No build step needed — the app bundles its own Python runtime and ffmpeg.
2. Run it
Double-click video2text.app. A native window opens — no browser required.
If macOS shows an “unidentified developer” warning, right-click the app in Finder → Open once to allow it. This bundle is fully self-contained: it works wherever you put it, with no separate Homebrew or runtime install.
3. Get access to the diarization model (one-time)
pyannote/speaker-diarization-3.1 is a gated model on HuggingFace — it requires a free account, a one-time license agreement, and an access token.
- Create a free account at huggingface.co/join (skip if you already have one).
- Agree to the license on both model pages:
- Create a Read-scoped access token at huggingface.co/settings/tokens.
- Open the app — the Settings card at the top has a token field. Paste your token in and save.
Using video2text on more than one Mac? Each Mac needs its own token — HuggingFace’s license agreement is per-account, so a shared token can’t be baked into the app.
Building from source instead
If you’d rather build the app yourself (for development, or to track main):
git clone https://github.com/neurosamAI/video2text
cd video2text
./build.sh
build.sh creates a virtualenv, installs dependencies (torch, mlx-whisper, pyannote.audio, speechbrain, fastapi, pywebview, and more), and syncs the code into a self-contained video2text.app bundle. Re-run it any time you change code under app/ or static/.
Run it from source without building the app bundle:
python3.11 -m venv .venv # Python 3.11 recommended
./.venv/bin/pip install -r requirements.txt
./run.sh # http://127.0.0.1:8765
During development, your HF token is read from ~/Library/Application Support/video2text/.env (a project-root .env also works, see .env.example).
Next steps
- How It Works — the processing pipeline and the models behind it
- Usage — voice profiles, job history, rematch/relabel, export formats
- Privacy & Security — what stays local, what doesn’t