feat: add AI summary / transcript integration for recordings
Ported from greenlight-tm: when TRANSCRIPTION_API_URL and
TRANSCRIPTION_API_KEY are set in the .env and the per-room
"AI summary / transcript" setting is enabled, Redlight POSTs to
${TRANSCRIPTION_API_URL}/prompt (header X-Api-Key) as soon as the
"video" format of a recording becomes available.
- transcription.js: service with env gating, timeout and logging
- bbb.js: pass meta_bbb-recording-ready-url on meeting create when the
room has the setting enabled
- recordings.js: unauthenticated /recording-ready callback that
verifies BBB's signed_parameters JWT (HS256, shared secret), caches
the recording and requests the transcription once per recording
(deduped via transcript_requested_at)
- rooms: new recording_transcript column, accepted on create/update
- branding endpoint exposes transcriptionEnabled so the UI only shows
the toggle when the server is configured
- RoomDetail: toggle under "Allow recording" (disabled when recording
is off), de/en i18n
- chore: bump version to 2.4.0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -37,6 +37,13 @@ SMTP_FROM=noreply@example.com
|
||||
# App URL (used for verification links, auto-detected if not set)
|
||||
# APP_URL=https://your-domain.com
|
||||
|
||||
# Recording Transcription / AI Summarization
|
||||
# When the per-room "AI summary / transcript" setting is enabled, Redlight will POST to
|
||||
# ${TRANSCRIPTION_API_URL}/prompt with header `X-Api-Key: ${TRANSCRIPTION_API_KEY}` as soon as
|
||||
# the "video" format of the recording is available. Leave empty to disable the integration entirely.
|
||||
# TRANSCRIPTION_API_URL=
|
||||
# TRANSCRIPTION_API_KEY=
|
||||
|
||||
# Reverse Proxy trust depth (express 'trust proxy' setting)
|
||||
# loopback = trust only 127.0.0.1 / ::1 (default)
|
||||
# Use a number for proxy hops (e.g. 1), or a specific IP/CIDR.
|
||||
|
||||
Reference in New Issue
Block a user