explaingit

jefferyhcool/bilinote

5,968TypeScriptAudience · generalComplexity · 3/5LicenseSetup · easy

TLDR

A tool that downloads videos from Bilibili, YouTube, TikTok, and other platforms, transcribes the audio, then uses AI to produce structured Markdown notes with timestamp links.

Mindmap

mindmap
  root((repo))
    What it does
      Video to Markdown notes
      AI summarization
    Video sources
      Bilibili YouTube
      TikTok Kuaishou
    AI options
      Fast-Whisper local
      Groq cloud
      GPT DeepSeek Qwen
    Output features
      Video screenshots
      Timestamp links
      Follow-up chat
    Deployment
      Docker one command
      Windows macOS apps
      Browser extension
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Turn a YouTube lecture into structured Markdown notes with links that jump to the exact video timestamp

USE CASE 2

Summarize a Bilibili video using its existing subtitle track without spending time on re-transcription

USE CASE 3

Use the browser extension to trigger note generation from any video page without leaving the tab

USE CASE 4

Run the full stack locally with Docker and ask follow-up questions about the generated notes

Tech stack

PythonFastAPIReactDockerWhisperTypeScript

Getting it running

Difficulty · easy Time to first run · 5min
MIT license, use freely for any purpose, including commercial projects, as long as you keep the copyright notice.

In plain English

BiliNote is an open-source tool that watches videos on your behalf and turns them into structured written notes. You give it a link from Bilibili, YouTube, TikTok, or Kuaishou, and it downloads the audio, converts speech to text, then passes that transcript to an AI model which produces a clean Markdown document summarizing what was said. The transcription step can be handled by several different speech-to-text engines. The project supports a locally run model called Fast-Whisper, a smaller variant called MLX-Whisper for Apple Silicon machines, and cloud-based options through Groq. For Bilibili videos specifically, the tool can pull the existing subtitle track directly instead of re-transcribing, which saves time. On the AI summarization side, you can plug in whichever large language model you prefer: OpenAI's GPT family, DeepSeek, Qwen, or any other OpenAI-compatible endpoint. The output notes can include screenshots pulled automatically from the video at relevant moments, and each section can carry a link back to the exact timestamp in the original video so you can jump to the source clip. You can also choose a note style: something like an academic summary, a conversational recap, or a key-points-only list. Once a note is generated, you can ask follow-up questions about it using a built-in AI chat that searches the note content to find relevant passages before answering. Deployment is straightforward. A prebuilt Docker image lets you run the entire stack locally with two commands. There is also a source-code path for those who want to modify things, which starts a FastAPI backend and a React frontend separately. For desktop use, Windows and macOS installers are available from the releases page. A browser extension for Chrome, Edge, and Firefox adds a floating button to video pages so you can trigger note generation without leaving the tab. The project is under the MIT license. The README is written primarily in Chinese, reflecting its original focus on the Bilibili platform.

Copy-paste prompts

Prompt 1
I have BiliNote running locally with Docker. Write a Python script to batch-process a list of YouTube URLs and save each generated Markdown note to a named file.
Prompt 2
Using BiliNote with DeepSeek as the AI model, generate a key-points-only summary of a lecture video and include automatically captured screenshots every 5 minutes.
Prompt 3
The BiliNote FastAPI backend is not picking up my Groq API key. Walk me through the correct environment variable setup and how to test the connection.
Open on GitHub → Explain another repo

← jefferyhcool on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.