autonota
v0.2.2
Published
CLI to transcribe YouTube audio and summarize transcripts
Downloads
443
Maintainers
Readme
AutoNota
autonota is a Node CLI for downloading YouTube audio, transcribing it with OpenAI Whisper into timestamped JSON, and summarizing transcript JSON into Markdown.
Prerequisites
- Node.js 22+
yt-dlpffmpegffprobeOPENAI_API_KEY
Install
npm install -g autonotaOr run without installing:
npx autonota transcribe <youtube-url> --output <base-path>
npx autonota summarize <transcript-json> --output <summary-md>Usage
autonota transcribe <youtube-url> --output <base-path>
autonota summarize <transcript-json> --output <summary-md>Examples:
autonota transcribe "https://www.youtube.com/watch?v=..." --output ./out/demo
autonota summarize ./out/demo.transcript.json --output ./out/demo.summary.mdCommands
Transcribe
autonota transcribe --helpFlags:
--output <basePath>: base path used to derive<base>.transcript.json--model <name>: Whisper model override, defaults towhisper-1--lang <code>: transcription language override, defaults to auto detection--browser <name>: optionalyt-dlp --cookies-from-browsersource--force: overwrite an existing transcript output--base-url <url>: optional OpenAI-compatible base URL override
Notes:
- Downloaded MP3s are stored beside the
--outputbase path as<base>-<youtube-title-slug>.mp3and reused if that file already exists. - If
--outputends with/or\, it is treated as a directory, producing:- transcript:
<output-dir>/<slug>.transcript.json - audio:
<output-dir>/<slug>.mp3
- transcript:
- Omit
--langto let the API auto-detect the source language.
Summarize
autonota summarize --helpFlags:
--output <summaryPath>: explicit summary file path--model <name>: summary model override; defaults togpt-5-mini(OpenAI),claude-sonnet-4-6(--claude), orgpt-5.4-mini(--codex)--summary-lang <code>: summary language override, defaults toen--force: overwrite an existing summary output--base-url <url>: optional OpenAI-compatible base URL override (OpenAI path only)--claude: use Claude Code CLI for summarization--codex: use Codex CLI for summarization
Notes:
--claudeand--codexare mutually exclusive.
Progress Output
autonota transcribe streams progress for the two slow steps:
Download — yt-dlp progress lines appear under the spinner as they arrive:
↻ downloading audio
[download] 45.2% of 32.4MiB at 1.2MiB/s ETA 00:14Transcription — shows which chunk is being uploaded, and counts down rate-limit waits:
↻ transcribing audio
chunk 2/5...↻ transcribing audio
rate limited, waiting 4m32s (attempt 2/3)...
retrying in 3m40s...In non-TTY contexts (pipes, CI) all progress writes to stderr; stdout remains machine-readable artifact paths only.
Artifacts
autonota transcribe --output ./out/demowrites./out/demo.transcript.jsonautonota summarize ./out/demo.transcript.json --output ./out/demo.summary.mdwrites./out/demo.summary.md
Environment
Copy .env.example to .env if you want local environment loading through your shell setup.
Required:
OPENAI_API_KEY
Optional:
OPENAI_BASE_URL
