Webapp

The Streamlit GUI runs at http://localhost:8501 and provides a point-and-click interface to all summarizer features.

$python -m streamlit run app.py

Supported Inputs

TypeExamples
Video files.mp4, .mp3, .wav, .m4a, .webm
Text files.txt, .md, .vtt, .srt, .csv, .log, .rst, .html, .xml, .json
URLsYouTube, Instagram, TikTok, Twitter/X, Reddit, Facebook, Google Drive, Dropbox

Text files bypass audio processing entirely and go straight to summarization.

  • Provider — Choose from configured providers in summarizer.yaml
  • Prompt type — Select summary style from prompts.json
  • Chunk size — Characters per text chunk (minimum 1000)
  • Playback speed — Speed for audio preprocessing or visual-mode video (reduces transcription cost, may reduce accuracy)
  • Language — Auto, English, Spanish, French, German, Italian, Portuguese, Chinese, Japanese, Korean
  • Transcription — Cloud Whisper or Local Whisper (Whisper-based)
  • Visual mode — Toggle video-direct mode

History

The sidebar keeps the last 10 summaries. By default, history is in-memory only and is lost on page refresh.

Persist summaries to disk so they survive refreshes and container restarts:

1defaults:
2 keep-history: true
3 output-dir: summaries

Or set SUMMARIZER_KEEP_HISTORY=true when the YAML key is omitted (Docker Compose does this by default).

Docker deployments copy summarizer.docker.yaml, which enables keep-history out of the box. Summaries are written to ./summaries/ when using the default bind mount.

Mermaid Diagrams

When a summary contains ```mermaid blocks, the webapp renders them as interactive diagrams with:

  • Wheel zoom — Scroll to zoom in/out
  • Drag pan — Click and drag to move around
  • Fullscreen — Expand to full screen
  • Theme-aware — Adapts to dark/light mode

Clipboard

Copy the full summary to the system clipboard with a single button. Works in both secure and non-secure browser contexts.

Themes

Switch between Dark, Light, and System modes. The theme applies to the entire UI including Mermaid diagrams.