Live captions for everything your Mac hears.
Transcribes and translates calls, videos and meetings as they happen, and tells you who is talking.
- Download
Luka-<version>.dmgfrom Releases and drag Luka into Applications. - Open Luka. Builds are signed and notarized by Apple, so it opens like any other app.
- Paste a Soniox API key into the first window.
- Press ⌃⌥N and allow System Audio Recording when asked.
Requires macOS 15 or newer; Liquid Glass on macOS 26 and later. Soniox bills per audio hour (pricing).
A glass strip that floats over any app, full-screen video included, and never takes focus. It appears when Luka starts listening and fades out when you finish; ⌃⌥C hides it anytime.
| Do | Result |
|---|---|
| Drag the top or bottom edge | Add or remove lines (1–6) |
| Drag a side | Resize width |
| Drop near screen center | Snaps to center |
| Hover | Controls for language, source, size and lock |
| Click a speaker name | Rename them, everywhere, live |
| Lock ⌃⌥L | Click-through; hover shows Unlock |
Every transcription is a session in the sidebar, saved as you go. Click the title to rename it. Finish with ⌘., then Continue later, edit lines, or copy everything with ⇧⌘C.
Speakers split by mistake? Open a name and choose Same person as….
Work from any app:
| Keys | Action |
|---|---|
| ⌃⌥N | New transcription |
| ⌃⌥R | Start / pause |
| ⌃⌥C | Show / hide captions |
| ⌃⌥T | Show / hide transcript |
| ⌃⌥L | Lock / unlock captions |
Inside Luka: ⌘E names whoever is speaking, ⌘1 / ⌘2 toggle windows, ⌘+ ⌘− text size, ⌘↑ ⌘↓ caption lines.
| Mode | For |
|---|---|
| Translate | Any spoken language → one language |
| Two-way | Conversations: each side translated to the other |
| Transcribe | Write it down, no translation |
Listen to Mac audio, the microphone, or both. The interface speaks English, 한국어 and 中文.
Audio goes straight from your Mac to Soniox over WebSocket; there is no Luka server.
The API key is AES-GCM encrypted in ~/Library/Application Support/Luka/, sessions are JSON files next to it.
./scripts/build-app.sh --install # ~/Applications/Luka.app
./scripts/build-app.sh --dmg # build/Luka-<version>.dmg
./scripts/build-app.sh --release # signed + notarized DMG and zip (Developer ID)
swift test # replays recorded Soniox streamsBuilds with Xcode 26 / Swift 6.2 and runs on macOS 15+. Debug flags: --feed file.pcm streams a 16 kHz mono file instead of live audio.
MIT

