The minutes pipeline turns a raw recording into a transcript with speaker labels. Hermes then turns the transcript into minutes with a flow that already works.
It runs at chat.hjc925.cloud/minutes, behind a login.
Why it exists
The earlier method used three separate tools. It needed hand trimming, an upload to a third-party service with a two-hour cap, and a separate transcription step. It produced no speaker labels.
The recordings have three hard properties.
Transcription is a batch job
The box has 2 vCPU, about 5 GB of free memory and no GPU. It does have AVX-512 with VNNI, which helps int8 inference.
The interface must never hold an HTTP request open for the length of a run. Work is queued, and the browser asks for progress.
The API
The service is a plain Python HTTP server. Every route sits under chat.hjc925.cloud/minutes.
Read
Write
ingest-local exists because a two-hour recording is slow to upload twice. If the file is already on the box, the pipeline takes it where it is.
Output
The pipeline produces a transcript with timestamps and speaker labels. It can write SRT subtitles from the same segments.
Service facts
The pipeline shares the chat.hjc925.cloud host with the chat interface. It is a separate service on a separate port. Caddy sends /minutes/* to it and everything else to the chat backend.