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
Mirror and run GitLab CI / build (push) Waiting to run
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user