Skip to content

Repository files navigation

Ai-Transcriber

Transcribe audio into a raw transcript, a speaker-diarized transcript, and an LLM summary. The transcriber service orchestrates Whisper, an internal diarizer, and an LLM. It is the only service exposed to the outside.

Run

cp .env.example .env
docker compose up --build

COMPOSE_PROFILES=cpu (default) or gpu in .env picks the worker/Whisper variant.

Transcriber API - http://localhost:8000 (interactive docs at /docs).

API

Submit, poll, cancel.

  • POST /v1/transcribe - form: file, and any of raw, diarized, summary (at least one), optional webhooks[]
  • GET /v1/jobs/{id} - status and result
  • POST /v1/jobs/{id}/cancel

Config

  • config.yaml - runtime settings (models, limits, LLM provider, logging)
  • prompts.yaml - summary prompts
  • .env - ports, tokens, images, profile

Architecture

System Context

System Context

Containers - Diarizer

The API accepts an upload and returns. Worker consumes the job out of band. Redis carries the job and its result.

Containers - Diarizer

Components - Diarizer API

Components - Diarizer API

Components - Diarization Worker

Components - Diarization Worker

Flow - Diarize an audio file

Flow - Diarize an audio file

Containers - Transcriber

Containers - Transcriber

Components - Transcriber API

Components - Transcriber API

Components - Transcription Worker

Components - Transcription Worker

Flow - Transcribe an audio file

Flow - Transcribe an audio file

Flow - Cancel a job

Flow - Cancel a job

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages