VidkNot turns video links into structured knowledge notes. It downloads audio, transcribes speech, generates Markdown notes, and saves them to Obsidian, Feishu, Notion, Yuque, or AnythingLLM.
| English | 中文 |
- Convert courses, interviews, podcasts, and industry videos into searchable notes
- Save useful short-video content into a personal knowledge base
- Expose video-to-note capability to agents through MCP
- Reduce transcription mistakes with dual-ASR cross-validation
| Capability | Description |
|---|---|
| Video parsing and download | Supports Douyin, Bilibili, YouTube, and other yt-dlp-compatible platforms |
| Dual-ASR transcription | SiliconFlow SenseVoice + local faster-whisper correction, enabled by default |
| Structured notes | Generates topic, summary, key points, details, quotes, terms, and full transcript |
| Storage targets | Obsidian, Feishu, Notion, Yuque, AnythingLLM, or Markdown-only output |
| Agent integration | CLI, FastAPI, MCP, and Python API |
VidkNot is managed through the uv ecosystem. If you don't have uv yet, install it first (see the uv docs):
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
winget install astral-sh.uv
# or via pip
pip install uvThe current GitHub release is v0.3.2. Install this repository version from GitHub:
uv tool install "vidknot @ git+https://github.com/suonian/vidknot.git@v0.3.2"For Feishu support:
uv tool install "vidknot[feishu] @ git+https://github.com/suonian/vidknot.git@v0.3.2"Run it without installing:
uvx "vidknot @ git+https://github.com/suonian/vidknot.git@v0.3.2" --helpFor development:
git clone https://github.com/suonian/vidknot.git
cd vidknot
uv syncThis creates a .venv from uv.lock with the dev tools (pytest, ruff) included. Run commands with uv run or activate the environment:
uv run vidknot "URL" --destinations noneFFmpeg must be available locally:
ffmpeg -versionCopy .env.example to .env and configure the keys you need:
SILICONFLOW_API_KEY=your_siliconflow_api_key
OPENAI_API_KEY=your_openai_compatible_api_key
# Optional: Feishu
FEISHU_APP_ID=your_feishu_app_id
FEISHU_APP_SECRET=your_feishu_app_secret
FEISHU_FOLDER_TOKEN=your_feishu_folder_token
# Optional: Obsidian
OBSIDIAN_VAULT_PATH=/path/to/obsidian/vault
# Optional: Notion
NOTION_TOKEN=your_notion_token
NOTION_PAGE_ID=your_notion_page_id
# Optional: Yuque
YUQUE_TOKEN=your_yuque_token
YUQUE_LOGIN=your_yuque_login
# Optional: Douyin cookie file
VIDKNOT_DOUYIN_COOKIE_FILE=/path/to/douyin-cookies.txtDefault settings live in config.yaml. Dual-ASR correction is enabled by default:
settings:
enable_correction: true
correction_version: v4
faster_whisper:
model: small
device: cpu
compute_type: int8v4 is the conservative default. v3 makes broader corrections and carries a higher risk of changing valid text.
CLI:
# Generate a note and save to the default destination, Obsidian
vidknot "https://v.douyin.com/example/"
# Print output only
vidknot "https://v.douyin.com/example/" --destinations none
# Save to Feishu
vidknot "https://v.douyin.com/example/" --destinations feishu
# Save to multiple destinations, comma-separated
vidknot "https://v.douyin.com/example/" --destinations obsidian,anythingllm
# Disable dual-ASR correction
vidknot "https://v.douyin.com/example/" --no-correct
# Check local requirements
vidknot --check-envIn a development checkout, prefix these with
uv run(e.g.uv run vidknot --check-env).
MCP:
vidknot --mcpFastAPI:
uv run uvicorn vidknot.api:app --reloadPython API:
from vidknot import VideoKnowledgePipeline
pipeline = VideoKnowledgePipeline(destinations="none")
result = pipeline.run("https://v.douyin.com/example/")
print(result["markdown"])VidkNot writes Markdown notes with:
- Video title, source URL, and processing metadata
- Topic and summary
- Structured key points and details
- Important quotes
- Terms and explanations
- Timestamped transcript
| Document | Purpose |
|---|---|
| INSTALL.md | Local installation and environment checks |
| API_GUIDE.md | Third-party API configuration |
| COOKIE_GUIDE.md | Cookie setup and security |
| DEPENDENCIES.md | Direct dependencies |
| CHANGELOG.md | Version history |
- Do not commit
.env, cookie files, or API keys - Only process video content you are allowed to access and use
- Follow the terms of video platforms, cloud services, and note platforms
- Third-party service availability, pricing, and permissions are controlled by their providers