Repository navigation
Fixes a class of failure where a bad model name in Settings produced empty transcripts with no usable explanation.
What was wrong
The Transcription Command field is free-form, so the --model argument can be edited to name a Hugging Face repo that does not exist — one install was running mlx-community/whisper-high-mlx. Two things then conspired to hide the cause:
- Hugging Face answers 401, not 404, for a repo that is not there (so its API cannot be used to probe for private repos). The log therefore ended in
RepositoryNotFoundError: 401 … Invalid username or password, which reads like an authentication problem and is not one. - mlx_whisper catches the error per file, prints
Skipping <file> due to …, and still exits 0. The run was recorded as completed with an empty transcript.
Prevention
Settings will no longer save a command that cannot run. The command must contain [INPUT_FILE] and a --model <id>, and a model outside the built-in list is checked against Hugging Face before the save is written:
- One of the three listed models — saved immediately, no network call
- A real but unlisted repo (e.g.
whisper-large-v2-mlx) — still allowed - A repo Hugging Face does not have — rejected, with the model name quoted back
- Hugging Face unreachable — saved with a warning, so working offline never blocks a save
Recovery
For installs that already have a bad command on disk, the transcription log now explains it in plain language and says how to fix it:
"mlx-community/whisper-high-mlx" is not a model on Hugging Face, so nothing could be transcribed. Open Settings, pick a model from the list (this rewrites the --model argument), save, and run this file again.
The message is logged at error level, which expands the log panel automatically, and the run is now recorded as error instead of a completed-but-empty transcript.