The analysis pipeline
The twelve stages, caching, and cost estimates.
A run moves through a fixed sequence of stages. You do not interact with them directly, but knowing the order helps when reading progress output or resuming an interrupted run.
The stages
- Ingest — scan the folder and group files into sessions.
- Extract audio — pull audio from video files.
- Parse subtitles — read
.srtand.vttfiles. - Parse transcripts — read
.docxtranscripts from Zoom, Teams, and Google Meet. - Transcribe and identify speakers — run Whisper on any session without a transcript, and work out who is speaking.
- Merge transcript — assemble one transcript per session.
- PII removal — redact personal data, only when
--redact-piiis set. - Topic segmentation — split each transcript into topics.
- Quote extraction — pull out quotable moments.
- Quote clustering — group quotes into sections.
- Thematic grouping — group quotes into themes.
- Render — write the report and output files.
Transcription (stage 5) runs on your machine. The AI provider is used by the analysis stages (8–11) and by speaker identification (stage 6), which sends a sample of the transcript — up to about eight minutes of it — to work out who is moderating. Stage 6 runs before PII removal, so --redact-pii does not cover that sample. If that matters for your study, see Privacy and data.
Resuming a run
If a run is interrupted, running the same command again resumes from where it stopped. Completed sessions and stages are loaded from a cache rather than recomputed. To start fresh, add --clean, which deletes the output directory first.
Bristlenose records each run's outcome in an append-only log inside the output folder, so an interrupted run is detected and reconciled the next time you run.
Cost
When the run uses a cloud provider, Bristlenose reports an estimated cost, shown as, for example, ~$0.46 (est.). The token counts behind it come from the provider and are exact; the dollar figure is an estimate based on a built-in price table, so it is always shown as an estimate. Transcription-only runs and local-model runs have no provider cost.