camkit transcribe resolves an engine by precedence (highest wins): an
explicit --engine openai|replicate|whisper-cpp flag, then environment, then
the auto default. auto picks:
OPENAI_API_KEYset → OpenAIwhisper-1(best quality). Note: this is pinned towhisper-1, not a "newer" model — thegpt-4o-transcribemodels don't return the word-level timestamps the rebuild step needs.- Else
REPLICATE_API_TOKENset → Replicate hostedvaibhavs10/incredibly-fast-whisper(word-level timestamps). Beats local whisper-cpp whenever the token is present — use--engine whisper-cppto force local. Model version is pinned in code; refresh via Replicate's/v1/models/.../versionsAPI if predictions start failing. - Else
whisper-clion PATH → local whisper.cpp. By default it reuses theggmlmodel Camtasia downloads toCamtasia.app/Contents/Resources/models/speechToText/(tiny/quantized — fast, lower fidelity). Override withCAMKIT_WHISPER_MODEL(path to a largerggml-*.bin) orCAMKIT_WHISPER_BIN. - None → an error telling you to set
OPENAI_API_KEYorREPLICATE_API_TOKEN, or runbrew install whisper-cpp. camkit never auto-installs (no silentbrew).
camkit reuses Camtasia's model file but not its bundled libwhisper.dylib
(private, code-signed, undocumented ABI) — you bring your own whisper-cli
runner. The tiny local model has coarser word timestamps, so cross-checking
with camkit silences matters even more on the local path.