Generate structured notes from YouTube/Bilibili videos using local or online LLMs
Project description
silentir
The silentir project generates structured notes from YouTube and Bilibili URLs using local (Ollama) or online (OpenAI-compatible) models.
Install
uv sync
Optional ASR dependencies:
uv sync --extra asr
Optional example dependencies (examples/basic_usage.py):
uv sync --extra examples
Optional Streamlit UI dependencies:
uv sync --extra ui
Install dev/test dependencies:
uv sync --group dev
Quickstart
uv run silentir "https://www.youtube.com/watch?v=dQw4w9WgXcQ" \
--provider-policy local_first \
--output-format markdown \
--include-timestamps section \
--out notes.md
Python API
from silentir import generate_notes
result = generate_notes(
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
language="auto",
provider_policy="local_first",
local_model="qwen2.5:7b-instruct",
online_model="gpt-4.1-mini",
ollama_host="http://localhost:11434",
openai_base_url="https://api.openai.com/v1",
openai_api_key=None,
)
print(result.note_markdown)
Run tests:
uv run pytest
Lint And Format
Install Git hooks:
uv run pre-commit install
Run checks manually:
uv run pre-commit run --all-files
uv run ruff check .
uv run ruff format .
Architecture and pipeline details:
docs/architecture.md
Explicit Configuration
All runtime configuration is explicit. Use CLI flags or Python function arguments instead of environment variables.
Notes
- Subtitle-first transcription is used by default.
- If subtitles are unavailable, ASR transcriber fallback is used.
- Runtime provider fallback follows
provider_policy.
Streamlit UI
Run the web UI:
uv run --extra ui,asr streamlit run examples/basic_ui.py
The UI exposes the same configuration options as the CLI and lets you preview and download generated notes.
You can also provide an optional write path to persist the rendered notes directly to a file.
Skill
silentir can be used as an skill.
- Ensure
silentiris installed in the agent's environment. - Copy the
skills/silentirdirectory to your skills folder. - The agent can then use the
/silentircommand to process video URLs.
Skill files:
skills/silentir/SKILL.md: Manifest and metadata.skills/silentir/handler.py: Execution wrapper.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file silentir-0.1.1.tar.gz.
File metadata
- Download URL: silentir-0.1.1.tar.gz
- Upload date:
- Size: 19.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eeea8cf38a85e77baa363443362e7ff6f924b241f75726ef770915ab51d6daf
|
|
| MD5 |
d945644f1fe8410639e370ddce169fdf
|
|
| BLAKE2b-256 |
40a52b9351768586d9d6c4b8fb9faca776f2cabf380b03efac5e94a305763be6
|
File details
Details for the file silentir-0.1.1-py3-none-any.whl.
File metadata
- Download URL: silentir-0.1.1-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
736ab2caf47c518f8136c098f7e96305c8da2d02c2d66826bc290445bd3c79d1
|
|
| MD5 |
f58dcea3d934af72cbb56638442cd20c
|
|
| BLAKE2b-256 |
8ef280d29ff653a2430dff911913a61f14804fe5be28743289ec7a9163b36b11
|