Someone attaches a two-minute screen recording to a bug ticket. Somewhere in it is the moment the thing breaks. inpoint pulls the ticket's attachments into a folder, transcribes the videos on your machine, and hands you the frames from any stretch of the timeline, each labelled with what was being said.
Ask Claude to grab the assets from a ticket and it runs the whole chain. Each step is also a plain command you can run yourself.
Images, videos, audio and files land in a per-ticket folder on your Desktop, with a manifest and a readable summary of the ticket.
inpoint jira fetch ISP-482
Word-level timestamps in JSON, SRT, VTT and plain text. Non-English audio also gets an English translation written alongside.
inpoint transcribe ISP-482
One timestamp, a list, a range every N seconds, or every scene change. With a transcript present, each frame is annotated with what was said.
inpoint frames bug-repro.mp4 \
--range 1:20-1:40 --every 2s --sheet
The bundled skill teaches Claude Code the full flow. It harvests, transcribes, extracts frames and reads the result back to you. If you have the Claude in Chrome extension it can use your logged-in browser, so no token is stored.
Grab the assets from ISP-482 and tell me what's in the video.
A local web page for scrubbing by hand. Drop a video, get a transcript, click a line to jump there, mark in and out, extract frames, download the lot as a zip.
inpoint serve --open
Mark in and out, play, step one frame, or snap the range to a transcript line.
Harvests are shared state on disk. A second Claude session, another terminal, or the web UI all see the same library. Run inpoint library to list every ticket and what has been done to it.
~/Desktop/ISP/ISP-482/ ├── ticket.json summary, status, attachment manifest ├── README.md the same thing, readable ├── images/ screenshot.png ├── videos/ bug-repro.mp4 ├── audio/ voice-note.m4a ├── files/ logs.txt ├── transcripts/bug-repro/ │ ├── transcript.json segments + word timestamps │ ├── transcript.srt also .vtt .txt .timed.txt │ └── transcript.en.* English, if the source wasn't └── frames/bug-repro/ ├── frame_00-01-23.500.jpg └── contact-sheet.jpg
The first inpoint call builds its own virtualenv. Expect a couple of minutes once, then it is instant. On macOS 26 English audio is transcribed by Apple's engine with nothing to download. Whisper weights, about 0.9 GB, download the first time another language needs them.
/plugin install inpoint --marketplace azadhash/inpoint
/reload-plugins
Prerequisites
brew install uv ffmpeg
Connect to Jira with an API token, or skip this and let Claude use your browser.
inpoint login
inpoint doctor
| Platform | Transcription | Speed |
|---|---|---|
| macOS 26 and later | Apple's on-device speech engine | English and 9 other languages, no download, fastest |
| macOS, Apple Silicon | GPU via MLX | about 10× real time, used for other languages and translation |
| macOS Intel, Linux, Windows | CPU via openai-whisper | same output, several × slower |
Transcription runs locally. The only network calls are to your own Jira site and a one-time model download from Hugging Face.
--json.That is how Claude talks to it. The same flags work for you in a terminal.
| Command | What it does |
|---|---|
inpoint jira fetch <KEY> | Read the ticket and download everything, no browser needed |
inpoint transcribe <file|KEY> | Whisper transcript plus English translation |
inpoint transcript <file> | Read a transcript back, by range or search term |
inpoint frames <file> | Extract stills at timestamps, over a range, or at scene changes |
inpoint library | Every harvested ticket, with transcript and frame status |
inpoint jira status <KEY> | What has been harvested for one ticket |
inpoint jira import <KEY> <files…> | File something you saved by hand |
inpoint probe <file> | Duration, codecs, resolution |
inpoint serve | The local web UI |
inpoint doctor | Check ffmpeg, Whisper, paths and Jira auth |
inpoint login / inpoint logout | Store or clear a Jira API token |
inpoint jira import.