Most tl;dw apps usually use caption context for generating summaries. smol-tldw uses pure video context to generate a description using SmolVLM2. It is experimental but quality of summaries are great for such smol models! (256M/500M)
Obvious caveat is this is limited to visual context.
Install dependencies using uv
uv syncpython -m smol_tldw "https://www.youtube.com/watch?v=..."Native frame decoding using torchcodec.
Pipeline first downloads the video using yt-dlp.
Loads HuggingFaceTB/SmolVLM2-256M-Video-Instruct model by default. You can change it by passing --model.
Run with --help to see all options.
python -m smol_tldw.cli \
--video-input frames \
--max-frames 64 \
--repl \
"https://www.youtube.com/watch?v=..."