v1.4.0 · betareleased today

A YouTube link,
turned into study notes
you actually keep.

NoteWise reads a video — or a whole playlist — and writes hierarchical Markdown the way a careful student would. Quizzes, transcripts, PDF, DOCX, HTML. Cached locally. Through the LLM provider you choose.

  • Videos & playlists
  • Chapter-aware notes
  • LiteLLM provider routing
  • MD · HTML · PDF · DOCX
~/notewise
notewise process "https://youtu.be/iDulhoQ2pro" --quiz --format md,pdf→ parsing url · fetching transcript · detecting chapters→ chapters: 7 · chunking 4000 / overlap 200→ generating with gemini/gemini-2.5-flash✓ wrote attention_is_all_you_need.md✓ wrote attention_is_all_you_need_quiz.md✓ wrote attention_is_all_you_need.pdf
cached · skip on rerun unless --force
  • attention_is_all_you_need.md
  • …_quiz.md
  • attention_is_all_you_need.pdf
No 02 · Output

One run. Six
kinds of paper.

Pick a single format or pass a comma-separated list — NoteWise renders each one from the same generated study notes.

 notewise process "…" --format md,html,pdf,docx

¶ PDF rendering supports Latin scripts cleanly; CJK / RTL fall back to HTML.

  • .md

    Markdown

    Plain, portable, the source of truth.

    01
  • .html

    HTML

    Self-contained, opens in any browser.

    02
  • .pdf

    PDF

    Typeset, printable, archive-grade.

    03
  • .docx

    DOCX

    Edit, annotate, share with non-devs.

    04
  • .txt

    Transcript .txt

    Raw words, no formatting.

    05
  • .json

    Transcript .json

    Word-level timestamps for tooling.

    06
No 03 · Pipeline

From URL to filed-away notes, in six small steps.

Nothing exotic. Each step is observable, tunable through CLI flags, and resumable from cache.

  1. 01

    Resolve

    Single video, full playlist, or a .txt of URLs. Cookies file optional for age-gated or private content.

  2. 02

    Cache check

    Hit? Skip the rest entirely. Otherwise pulls captions from YouTube, rate-limited (default 10/min) and stored verbatim under ~/.notewise.

  3. 03

    Chapter-split

    Bundled into one note by default. Pass --chapter-directory-output to write each chapter as its own file. No chapters → 4 000-token chunks, 200-token overlap.

  4. 04

    Generate

    LiteLLM routes the chunks through your provider. Concurrency tunable; defaults to 5 parallel videos.

  5. 05

    Render

    Markdown is the source. HTML, PDF, and DOCX are typeset on top — same content, four surfaces.

  6. 06

    Persist

    Files land in ./output (or wherever -o points). The cache index updates so the next run skips what's already done.

No 04 · Providers

Bring the model
you already pay for.

NoteWise routes through LiteLLM (opens in a new tab). Set one environment variable, hand it any supported model string, and you're done. Default is Gemini 2.5 Flash — its free tier comfortably covers a full course.

¶ Any LiteLLM-supported model string works — including local llama.cpp endpoints.

Google Geminidefault
gemini/…GEMINI_API_KEY
OpenAI
openai/…OPENAI_API_KEY
Anthropic
anthropic/…ANTHROPIC_API_KEY
Groq
groq/…GROQ_API_KEY
Mistral
mistral/…MISTRAL_API_KEY
DeepSeek
deepseek/…DEEPSEEK_API_KEY
xAI Grok
xai/…XAI_API_KEY
Cohere
cohere/…COHERE_API_KEY
Perplexity
perplexity/…PERPLEXITYAI_API_KEY
OpenRouter
openrouter/…OPENROUTER_API_KEY
Together AI
together_ai/…TOGETHERAI_API_KEY
Fireworks
fireworks_ai/…FIREWORKS_AI_API_KEY
Cloudflare
cloudflare/…CLOUDFLARE_API_KEY
Azure OpenAI
azure/…AZURE_API_KEY
AWS Bedrock
bedrock/…AWS_ACCESS_KEY_ID
OAuth · no API key needed
  • ChatGPT (OAuth)chatgpt/gpt-5.2notewise auth login chatgpt
  • GitHub Copilot (OAuth)github_copilot/gpt-5-mininotewise auth login github_copilot
No 05 · Cookbook

Four commands that cover
most of a semester.

Anything more elaborate is a flag away — notewise process --help.

Recipe · 01

Single video, default everything

The most boring, useful command in the project.

zsh
notewise process "https://youtu.be/VIDEO"
-> ./output/<title>.md

Recipe · 02

Full playlist · PDF + DOCX

Hand it the playlist URL and walk away.

zsh
notewise process "https://youtube.com/playlist?list=…" --format md,pdf,docx -o ./course
concurrent · respects YOUTUBE_REQUESTS_PER_MINUTE

Recipe · 03

Batch a syllabus from a .txt

One URL per line. Resume on next run.

zsh
notewise process syllabus.txt --quiz
-> writes <name>.md and <name>_quiz.md per video

Recipe · 04

Sign in with ChatGPT — no API key

OAuth device flow; uses your existing ChatGPT account.

zsh
notewise auth login chatgptnotewise process "…" --model chatgpt/gpt-5.2
tokens stored in ~/.notewise/auth.json · also: github_copilot/gpt-5-mini
No 06 · Notes in the margin

Honest answers, before you install.

  • Where do my notes live?

    Anywhere you point --output to (default ./output). Markdown is the source; rendered formats sit alongside it. Nothing leaves your machine except the LLM call.

  • What about videos without captions?

    NoteWise relies on YouTube's transcript API, so videos with disabled or missing captions can't be processed. There's no built-in audio-to-text — bring your own ASR if you need it.

  • Will it cost me money?

    Model usage may depend on your provider plan, quota, and current pricing. Check the provider docs before large runs; NoteWise itself is free and open source under the MIT License.

  • Can I use private or members-only videos?

    Yes — pass a Netscape-format cookie file via YOUTUBE_COOKIE_FILE. Anything your browser can watch, NoteWise can transcribe.

  • Why CLI and not a web app?

    Because a CLI fits inside cron, CI, your editor, and your existing scripts. A web app would force you to re-upload, re-paste, re-everything. The Markdown belongs in your repo, not in someone else's database.

  • How are long videos handled?

    Bundled into a single note by default — chapters become headings inside one file. Pass --chapter-directory-output if you want each chapter as its own file. Videos with no chapters are chunked on 4 000-token windows with 200-token overlap so context flows across boundaries.

Coda · Install

Pick a video. Keep what you learn.

Use Python tooling when you want the PyPI package. Prefer the short installer when you want the standalone binary from GitHub releases.

notewise.click/install
# recommended Python tool installuv tool install notewise# try without installinguvx notewise --help# pipx / pippipx install notewisepython -m pip install notewise# prefer standalone binary?curl -fsSL https://notewise.click/install | sh# Windows binary installerirm https://notewise.click/install | iex
the endpoint returns the right installer for curl, wget, PowerShell, or a browser