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.