Update README with new features (MCP API, watch-folder, improved summaries, DOCX styling, cover pages)
Mirror and run GitLab CI / build (push) Waiting to run

This commit is contained in:
admin
2026-06-19 17:46:54 +00:00
parent 4bc9f82ee7
commit 2bd6ee1567
+84 -7
View File
@@ -7,6 +7,8 @@ ScrAIbe is a transcription and summarization service that:
- Provides: - Provides:
- A web GUI for uploading audio and receiving transcripts via email. - A web GUI for uploading audio and receiving transcripts via email.
- A CLI and Python API for direct integration. - A CLI and Python API for direct integration.
- An MCP-style HTTP API (OpenAPI) for LLMs and external systems.
- A watch-folder mode for automatic transcription, summarization, and email delivery.
No local speech models or heavy dependencies are required. ScrAIbe is designed as a thin client in front of your own AI services. No local speech models or heavy dependencies are required. ScrAIbe is designed as a thin client in front of your own AI services.
@@ -24,7 +26,8 @@ For more information: https://apstrom.ca
- Key decisions and outcomes - Key decisions and outcomes
- Action items and responsibilities - Action items and responsibilities
- Open issues and risks - Open issues and risks
- Async web GUI: - Improved, configurable summary prompts (via environment or file).
- Async web GUI (always enabled):
- Upload audio via browser. - Upload audio via browser.
- Jobs are queued and processed in the background (Celery + Redis). - Jobs are queued and processed in the background (Celery + Redis).
- Emails: - Emails:
@@ -32,13 +35,32 @@ For more information: https://apstrom.ca
- Final transcript (MD + DOCX + JSON) when ready. - Final transcript (MD + DOCX + JSON) when ready.
- Summary as MD + DOCX (if requested). - Summary as MD + DOCX (if requested).
- Error notification if processing fails. - Error notification if processing fails.
- MCP-style HTTP API (optional):
- Exposes an OpenAPI-compliant REST endpoint for external LLMs or services.
- Allows:
- Audio upload for transcription.
- Job status checks.
- Retrieval of transcript JSON (no summary).
- Enabled via MCP_SERVER_ENABLED=true.
- Watch-folder mode (optional):
- Monitors a directory for audio files.
- For each file:
- Transcribes and summarizes.
- Emails transcript + summary + JSON to a configured address.
- Deletes the source file after successful processing (configurable).
- Enabled via WATCH_ENABLED=true.
- File formats: - File formats:
- Transcript: .md and .docx (line-numbered, no cover page) - Transcript:
- Summary (if requested): .md and .docx (no line numbering, no cover page) - .md
- .docx (line-numbered, 30 lines per page, optional cover page)
- Summary (if requested):
- .md
- .docx (markdown-aware WYSIWYG styling, optional cover page)
- Full structured output: .json - Full structured output: .json
- Customizable branding: - Customizable branding:
- Web GUI title, logo, and accent color via environment variables. - Web GUI title, logo, and accent color via environment variables.
- Email logo, accent color, and subject lines via environment variables. - Email logo, accent color, and subject lines via environment variables.
- Optional cover pages for transcript and summary DOCX.
- CLI and Python API: - CLI and Python API:
- Simple command-line interface. - Simple command-line interface.
- Drop-in Scraibe class for integration into other tools. - Drop-in Scraibe class for integration into other tools.
@@ -58,7 +80,9 @@ For more information: https://apstrom.ca
- Chunked summarization - Chunked summarization
- Output formatting (e.g., .md with transcript + summary) - Output formatting (e.g., .md with transcript + summary)
- Runs: - Runs:
- Web GUI (Gradio) - Web GUI (Gradio) always enabled
- MCP-style HTTP API (FastAPI) optional
- Watch-folder mode optional
- Celery worker (async processing) - Celery worker (async processing)
- Redis (in-container by default) - Redis (in-container by default)
@@ -209,6 +233,33 @@ Accent color (UI and emails):
- Email headings, links, and email addresses - Email headings, links, and email addresses
- Default: #7C6DA0 - Default: #7C6DA0
MCP-style HTTP API:
- MCP_SERVER_ENABLED:
- Enable MCP-style HTTP API (default: false).
- Values: true/false.
- MCP_SERVER_HOST:
- Bind address (default: 0.0.0.0).
- MCP_SERVER_PORT:
- Port (default: 8000).
- MCP_USE_CELERY:
- Use Celery for async transcription (default: true).
- If false, transcription runs in-process.
Watch-folder mode:
- WATCH_ENABLED:
- Enable watch-folder mode (default: false).
- Values: true/false.
- WATCH_DIR:
- Directory to monitor for audio files (required if WATCH_ENABLED=true).
- WATCH_EMAIL_TO:
- Email address to send transcript and summary (required if WATCH_ENABLED=true).
- WATCH_POLL_INTERVAL:
- Seconds between scans (default: 10).
- WATCH_DELETE_ON_SUCCESS:
- Delete source file after successful processing (default: true).
Async processing (Celery + Redis): Async processing (Celery + Redis):
- CELERY_BROKER_URL: - CELERY_BROKER_URL:
@@ -253,16 +304,40 @@ Email subject lines (customizable):
- Subject for error notification email. - Subject for error notification email.
- Default: "ScrAIbe: Error with your transcription request" - Default: "ScrAIbe: Error with your transcription request"
Output files (async web GUI): Summary prompt customization:
- SUMMARY_PROMPT_CHUNK:
- Override prompt used for each transcript chunk.
- SUMMARY_PROMPT_COMBINED:
- Override prompt used for the final combined summary.
- SUMMARY_PROMPT_FILE:
- Path to a file with prompts in sections:
- [chunk]
- [combined]
DOCX and cover pages:
- COVER_PAGE_ENABLED:
- Add a cover page to transcript and summary DOCX files (default: false).
- COVER_PAGE_ORGANIZATION:
- Organization name shown on the cover page.
- COVER_PAGE_TITLE_PREFIX:
- Title prefix (e.g., "TRANSCRIPT" or "SUMMARY").
- COVER_PAGE_LOGO_URL:
- Logo URL to include on the cover page.
- COVER_PAGE_LOGO_PATH:
- Local logo path to include on the cover page.
Output files (async web GUI and watch-folder mode):
When a job completes, the user receives: When a job completes, the user receives:
- Transcript: - Transcript:
- .md file - .md file
- .docx file (line-numbered, no cover page) - .docx file (line-numbered, 30 lines per page, optional cover page)
- Summary (if requested): - Summary (if requested):
- .md file - .md file
- .docx file (no line numbering, no cover page) - .docx file (markdown-aware styling, optional cover page)
- JSON: - JSON:
- Structured transcript with diarization and metadata - Structured transcript with diarization and metadata
@@ -280,6 +355,8 @@ Core runtime dependencies:
- celery[redis] - celery[redis]
- redis - redis
- python-docx - python-docx
- fastapi
- uvicorn
- ffmpeg (for audio preprocessing) - ffmpeg (for audio preprocessing)
No local Whisper, PyTorch, or Pyannote models are required. No local Whisper, PyTorch, or Pyannote models are required.