Turn local video and audio into synced subtitles. GPU-accelerated, on-device Whisper transcription, flexible LLM translation, and automated watch folders—all in one native Mac app.
For the people with a Plex library of films that never got English subs, anime rips with no CJK track, home footage in three languages.
Free · Open source · macOS 14+ · Apple Silicon · ~4 MB
Developer ID signed and notarized. Double-click — no Gatekeeper dance. First transcription downloads the model (~574 MB, once).
inbox/ep01.mkvep01.vi.srt
100:00:00,000 --> 00:00:10,000
In 1960s Saigon, a young chef opens a noodle stall.
# or build from source
git clone https://github.com/TungSeven30/Cue.git
./script/build_and_run.sh
待たせたな。
TranscriptTranslationLog
100:00:00 – 00:00:10In 1960s Saigon, a young chef opens a noodle stall.
200:00:12 – 00:00:14待たせたな。
300:00:15 – 00:00:17店、まだ開いてる。
Queue, preview, transcript — the three panes, from the app’s actual split view.
Reel 01
Transcribe
A 30-minute clip: about 2 minutes on an M3 Max, Balanced preset, built-in engine. M3 Pro ~3 min; M4 Max ~1–2 min. The DMG is the whole stack — no Homebrew, no Python.
Optional engines if you want them: mlx-whisper, faster-whisper, or Qwen3-ASR (the pick for CJK). Empty cues get dropped, repeats collapse, fragments merge, zero-length and overlong timings get repaired.
Reel 02
Translate
Transcription is free and local. Translation is your API key — OpenAI, Anthropic, Gemini, OpenRouter — or an OpenAI-compatible local server, no key. Cloud work starts after the first streamed batch; typically 2–6 minutes for a dialogue-heavy 30-minute clip, same on every Mac.
Already-translated ranges are never sent twice. Partial work is saved as it lands. Keys live in the Keychain, never in job files.
Reel 03
Watch
Drop a folder on the sidebar. Every video that lands there — including subfolders, in episode order — is queued, transcribed, and translated. Language-coded .srt sidecars are written next to the file so players pick them up.
As many folders as you want, each with its own language, preset, and translation profile. Cue keeps an idle Mac awake while jobs run. Closing the lid still sleeps it — plug in a display if you want an overnight batch with the lid shut.
Reel 04
Intro
One click — or a toggle on every job — asks your model for a spoiler-free, back-of-the-box intro from the subtitles. Cue prepends it as the first caption: from 0s until first dialogue, 3s minimum, 10s cap.
Written in the translation’s language, or the film’s own language if you didn’t translate. Then you review against a synced preview, export, or burn the words into .burned.mp4.
Free · Open source · macOS 14+ · Apple Silicon · ~4 MB
Intel Macs can build from source; the built-in engine is CPU-only there, and slow.
Usage
What it writes
Sidecar next to the source, intro cue prepended, bilingual line breaks preserved. Timestamps are millisecond-rounded SRT — 1.0599 becomes 00:00:01,060, not truncated.
ep01.bilingual.srt100:00:00,000 --> 00:00:10,000
In 1960s Saigon, a young chef opens a noodle stall.
200:00:12,000 --> 00:00:14,000
待たせたな。
Xin lỗi vì đã bắt cậu đợi.
300:00:15,000 --> 00:00:17,000
店、まだ開いてる。
Quán vẫn còn mở.
Platform
macOS 14+. The DMG is Apple Silicon only. Updates arrive in-app (Cue → Check for Updates…).
Formats
in mp4 m4v mov mkv avi webm wmv mpg mpeg ts mts m2ts 3gp flv in mp3 m4a aac wav flac ogg opus aiff out SRT WebVTT TXT Markdown JSON out original · translated · bilingual · name.burned.mp4
Optional: burn-in video export requires FFmpeg installed on your Mac. Transcription and subtitle export do not.