Skip to main content

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.

  1. Ensure silentir is installed in the agent's environment.
  2. Copy the skills/silentir directory to your skills folder.
  3. The agent can then use the /silentir command to process video URLs.

Skill files:

  • skills/silentir/SKILL.md: Manifest and metadata.
  • skills/silentir/handler.py: Execution wrapper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silentir-0.1.1.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

silentir-0.1.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

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

Hashes for silentir-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2eeea8cf38a85e77baa363443362e7ff6f924b241f75726ef770915ab51d6daf
MD5 d945644f1fe8410639e370ddce169fdf
BLAKE2b-256 40a52b9351768586d9d6c4b8fb9faca776f2cabf380b03efac5e94a305763be6

See more details on using hashes here.

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

Hashes for silentir-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 736ab2caf47c518f8136c098f7e96305c8da2d02c2d66826bc290445bd3c79d1
MD5 f58dcea3d934af72cbb56638442cd20c
BLAKE2b-256 8ef280d29ff653a2430dff911913a61f14804fe5be28743289ec7a9163b36b11

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page