Skip to main content

vctx

vctx compiles video URLs, local video/audio, and SRT/VTT subtitles into a durable context pack. A pack keeps canonical transcript, evidence, summary, and provenance data beside readable Markdown so people and AI agents can inspect the same source-grounded result.

It is a one-shot CLI, not a chat application, RAG database, or background service. Video frames are decoded in-process with PyAV; no host ffmpeg executable is required.

Subtitle-backed transcript preparation needs no configuration or AI account. Evidence planning and summaries do require an admitted AI route: authenticate once with vctx auth openrouter login, provide OPENROUTER_API_KEY, or configure your own OpenAI-compatible endpoint. vctx never provides anonymous AI access.

Installation

Python 3.14 or newer is required. The full profile includes local ASR, frame extraction, and OCR:

uv tool install "vctx[full]"

Smaller installs are available:

uv tool install vctx             # subtitles, URL acquisition, compatible AI
uv tool install "vctx[asr]"      # core + faster-whisper
uv tool install "vctx[visual]"   # core + PyAV + RapidOCR

The equivalent pip command is python -m pip install "vctx[full]" inside a Python 3.14 environment.

Usage

Prepare local model assets once, compile a source, verify the resulting pack, then render the view needed by a person or agent:

vctx auth openrouter login
vctx models pull asr ocr
vctx prepare ./lecture.mp4 --out ./lecture-pack --to summary
vctx verify ./lecture-pack
vctx render ./lecture-pack --format read --out ./lecture.md

prepare defaults to --to transcript. --to evidence adds transcript-anchored frame planning and observations; --to summary adds a citation-constrained summary. The stages are monotonic, so a later target retains all safe earlier products. Multiple inputs become independent source directories and are never combined into one summary.

For an agent-oriented view:

vctx render ./lecture-pack --format context
vctx prompt

Simple configuration

Create vctx.toml in the working directory:

[cache]
source_dir = ".cache/vctx/source"
model_dir = ".cache/vctx/models"

[transforms.asr]
use = "instance:local"

[instances.asr.local]
type = "local-faster-whisper"
model = "small"
device = "auto"
compute = "auto"
cache = "persistent"

[evidence]
planner = "auto"
ocr = "auto"
vision = "auto"

[summary]
use = "auto"
language = "native"

[output]
projections = ["context", "read"]
retain_media = true

For zero-TOML online planning and summaries, authenticate once with vctx auth openrouter login; auto then admits the free zero-data-retention OpenRouter route. OPENROUTER_API_KEY provides the same automatic route without keyring login. Without either credential, auto does not make an AI call and the pack records unavailable evidence/summary outcomes while retaining safe earlier products. You may instead configure any suitable OpenAI-compatible /v1 endpoint. Secrets stay in an environment variable or system keyring.

Inspect the effective setup without downloading or creating anything:

vctx doctor --to summary --json

More runnable configurations are under docs/examples. The complete command behavior, every configuration field, path precedence, pack layout, and exit status are documented in docs/api.md.

Workflow

INPUT...
  -> admit and acquire each source
  -> transcript -> evidence -> summary
  -> canonical schema-3 JSON + selected Markdown projections
  -> atomic PACK publication
  -> verify PACK
  -> render context | read | transcript

The pack is the integration boundary. Begin with manifest.json; it records source identities, revisions, artifacts, product outcomes, provider/model effects, omissions, upload/cost facts, and integrity digests. Re-running prepare reuses matching verified lanes. Use --overwrite only when you intend to refresh or rebuild them.

License

MIT License. See LICENSE.

Download files

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

Source Distribution

vctx-0.3.0.tar.gz (83.2 kB view details)

Uploaded Source

Built Distribution

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

vctx-0.3.0-py3-none-any.whl (94.8 kB view details)

Uploaded Python 3

File details

Details for the file vctx-0.3.0.tar.gz.

File metadata

  • Download URL: vctx-0.3.0.tar.gz
  • Upload date:
  • Size: 83.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vctx-0.3.0.tar.gz
Algorithm Hash digest
SHA256 535d9f72a879b8d91ae3b8ea184c905f5f96c73b18802ddcd2ba65c7caa4e8d6
MD5 7084f14bfc6fbea329e5fab2622d1de4
BLAKE2b-256 e70faf08fd16cd1572315330741661e1cf5bc75a10577c6f5586074d17721d6e

See more details on using hashes here.

File details

Details for the file vctx-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: vctx-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 94.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vctx-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30582332a159a1df62722ea7c47ff8e2728ac7ed610f28d132ed27de9a11ab0e
MD5 7a3ae7bbacb08c7cf43a13305fba407f
BLAKE2b-256 ad49e8743a01337f14e0dcfec048894bee6518326393e444bbf7b6cc0505ced4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.1

2 files

0.1.0

2 files

Supported by

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