Turn any video, a local file or a URL, into a structured document you can cite.
Install
frame-ingest needs uv, a small tool that sets up Python and the CLI for you. Skip this step if you already have it (uv --version). Otherwise it takes about ten seconds:
brew install uv # macOS
curl -LsSf https://astral.sh/uv/install.sh | sh # Linux and macOS
Then install the skill:
npx skills add lavondev/frame-ingest
Then ask your agent to run it:
| Agent | Command |
|---|---|
| Claude Code | /frame-ingest <video file or URL> |
| Codex | $frame-ingest <video file or URL> |
| Gemini CLI, Cursor, Copilot, OpenCode, Cline | say "frame-ingest this video" |
Claude Code plugin
/plugin marketplace add lavondev/frame-ingest
/plugin install frame-ingest@frame-ingest
Clone the repo (Claude Code and Codex)
git clone https://github.com/lavondev/frame-ingest ~/.frame-ingest-src
~/.frame-ingest-src/scripts/install.sh
The repo ships the skill as skills/frame-ingest/ and .agents/skills/frame-ingest. Codex and other .agents/skills readers can also copy skills/frame-ingest into ~/.agents/skills/.
Command line only
uv tool install "frame-ingest[url,local] @ git+https://github.com/lavondev/frame-ingest"
frame-ingest doctor
Manual download
Download frame-ingest-<version>.skill from a release (a zip; verify it against SHA256SUMS) and unzip it into your agent's skills directory.
What you get
- A corrected transcript, with speech-to-text errors fixed using what was on screen
- Chapters with summaries, plus a glossary and an entity index
- Stable anchors (
ch-01,t-000125) and timestamps, with a JSON sidecar, so every claim is citable
When it finishes, the agent gives you the document path, a TL;DR, the chapters and a coverage line:
audio yes · transcript asr · frames 8/8 analysed
How the data flows
Videos without captions are transcribed on your own machine, and nothing is uploaded for that. Frames and transcript go to whichever model runs your agent, and nothing goes to a cloud provider without your consent. If a video has audio but no transcript can be made, it stops and asks you instead of quietly dropping the sound.
Learn more
Development
uv sync
uv run pytest && uv run ruff check . && uv run ruff format --check . && uv run mypy
Regenerate the artwork (logo, banner, flow diagram, both themes): python3 scripts/gen_assets.py docs/assets
License
MIT, see LICENSE.
Metadata
Release files for frame-ingest 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| frame_ingest-0.2.0.tar.gz | 394.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| frame_ingest-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 571.0 kB
Release files / frame_ingest-0.2.0.tar.gz
| Download URL | frame_ingest-0.2.0.tar.gz |
|---|---|
| Size | 394.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5eaae2ec21624c8c4b8168c6c12f357b809caa406d924423fc912e15b5ba642
|
|
BLAKE2b-256 checksum How to use checksums |
13c578589e4bd955ae87b498c0c31ccf1cfbb8c9b49f8fc82f3efd52a7a66328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency logRelease files / frame_ingest-0.2.0-py3-none-any.whl
| Download URL | frame_ingest-0.2.0-py3-none-any.whl |
|---|---|
| Size | 176.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1b7e95ae85f8a87f72567629001077fe30daf12b0c5ad7d792aa55bcd69b0fca
|
|
BLAKE2b-256 checksum How to use checksums |
0b2b3e93ce1c1cb32ccce12aa99f8e87c983112f84b0096681db575d56235e2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 9, 2026.
Transparency log