A designer-friendly GUI for transcribing audio/video and a companion After Effects panel.
- Foxtitles macOS app for transcription (no CLI needed).
- Foxtitles panel for After Effects.
- Apple Silicon (M1/M2/M3/M4): Intel Macs are not supported by the current MLX-based transcription engine.
- macOS 14.0+ recommended.
For an end-to-end walkthrough (every button/option in the GUI + After Effects panel), see docs/USER_GUIDE.md.
For architecture details, model stack, build/packaging notes, and credits, see docs/TECHNICAL.md.
- The file to share is
dist/Foxtitles-Release.zip. It’s large on purpose (it includes the app + Python runtime + dependencies + ffmpeg). - The small
Foxtitles-Source-*.zipis for building only; it will not run by itself.
- Unzip the source zip.
- Double-click
MAKE_RELEASE.command. - When it finishes, share
dist/Foxtitles-Release.zip.
If it stops with:
- “Python not found”: install Python 3.11+ from python.org, then run
MAKE_RELEASE.commandagain. - “FFmpeg not found”: install Homebrew (brew.sh), then run
brew install ffmpeg, then runMAKE_RELEASE.commandagain.
Planned improvements are tracked in TODO.md.
- Unzip the release.
- Double-click
INSTALL.command(recommended).- Installs
Foxtitles.appto~/Applications - Installs
Foxtitles.jsxinto your user After Effects scripts folder
- Installs
- Restart After Effects and open:
Window -> Foxtitles
- Select your video/audio layer + a style Text Layer, then click Process.
Notes:
- This build targets Apple Silicon (M‑series Macs).
-
Open Terminal and go to the repo folder.
-
Run:
python3 -m venv .venv
. .venv/bin/activate
pip install -U pip
pip install -r requirements.txtOptional (enables drag-and-drop in the GUI):
pip install tkinterdnd2./scripts/run_gui.shOr create a simple macOS app wrapper:
./scripts/create_launcher_app.shThis creates dist/Foxtitles.app. Place the .app next to the repo folder so it can find scripts/run_gui.sh.
This produces a self-contained .app with ffmpeg included.
./scripts/build_macos_app.sh
./scripts/package_release.shThe release zip is dist/Foxtitles-Release.zip.
./scripts/package_source_zip.shThis creates dist/Foxtitles-Source.zip.
- Add files: click Add Files or Add Folder (drag-and-drop works if installed).
- Choose output format (SRT is common).
- Click Start Transcription.
- When finished, you can open the output folder.
- Select any file in the list to preview its transcription inside the app.
Preview tip: select a file and click Preview to open the audio/video.
- Copy the panel file:
after-effects/Foxtitles/Foxtitles.jsx
- Paste it into:
/Applications/Adobe After Effects <version>/Scripts/ScriptUI Panels/
-
Restart After Effects.
-
Open the panel:
Window -> Foxtitles
- Select your comp and the video layer you want markers on.
- Click Generate and choose an SRT file.
- Click Edit to fix text if needed.
- Click Build to create subtitle layers.
- Pick a Style source layer and click Apply Style to rebuild with that look.
The Foxtitles app writes a handoff file after each successful run:
~/Documents/Foxtitles/last_output.json
In the Foxtitles panel:
- Click Run Foxtitles to launch the GUI (first time, pick the launcher path).
- Transcribe and make sure SRT is one of the outputs.
- Click Import Latest to bring the most recent SRT into the current comp.
- If the GUI doesn't open, re-run
./scripts/run_gui.shfrom Terminal so it can show errors. - The app runs locally and uses your Mac to process audio/video.
- If macOS blocks the app because it is from an unidentified developer:
- Run
INSTALL.command(it clears the quarantine flag), or - System Settings -> Privacy & Security -> scroll down -> allow/open anyway.
- Run
