Skip to content

maxhuk/yt-stt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yt-stt

Download a YouTube video, transcribe the audio locally with mlx-whisper, save as Markdown.

Built for Apple Silicon (M-series). Tested on M3 Pro.

Install

Requires ffmpeg on PATH and uv:

brew install ffmpeg uv
uv sync

Use

uv run yt-stt https://www.youtube.com/watch?v=VIDEO_ID

Output goes to output/<slug>.md. Audio is cached in cache/audio/<video-id>.m4a so re-running on the same URL skips the download.

Options

Flag Default Notes
--model turbo One of turbo, large-v3, medium, small, tiny.
--output-dir ./output Where the .md is written.
--cache-dir ./cache/audio Where downloaded audio is kept.
-v / --verbose off DEBUG logging.

Smoke test

A short Creative Commons clip suitable for a first run: https://www.youtube.com/watch?v=jNQXAC9IVRw (~19 s, "Me at the zoo"). The first run also downloads the model (~1.5 GB for turbo).

Models

Quantized MLX checkpoints from mlx-community on Hugging Face:

--model Repo Disk Notes
turbo (default) mlx-community/whisper-large-v3-turbo ~1.5 GB Sweet spot on M3 Pro.
large-v3 mlx-community/whisper-large-v3-mlx ~3 GB Slowest; highest accuracy.
medium mlx-community/whisper-medium-mlx ~1.5 GB
small mlx-community/whisper-small-mlx ~500 MB
tiny mlx-community/whisper-tiny-mlx ~75 MB Useful for sanity checks.

Models are cached by huggingface_hub under ~/.cache/huggingface/hub/.

Develop

See CLAUDE.md for architecture and conventions.

uv run ruff check
uv run ruff format
uv run pytest

About

Download a YouTube video, transcribe the audio locally with mlx-whisper, save as Markdown.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages