Skip to navigation

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.

After running a source, switch between OUTPUT and TRANSCRIPT. The transcript tab shows the complete cached transcript when available (not the passages selected by JEV). DOWNLOAD, COPY TO CLIPBOARD, and PUBLISH AND SHARE WITH TINYPASTE use whichever tab is selected. If no transcript is available for a result, the transcript actions are hidden. Summaries restored from disk do not include their transcripts.

Job Lifecycle

Each run executes on a background thread, so rerunning the page replays progress instead of restarting the work. Finished runs are stored in history, rendered in the summary panel, and can be copied, downloaded, or published.

start thread log, and replay on rerun summary returned exception store, history, render show traceback copy, download, or publish Idle Running Done Failed Panel
  • 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
  • Use JEV prefiltering — Reveals the scoring provider and I want to include only… / I want to exclude… fields. See JEV Prefiltering.

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:

defaults:
keep-history: true
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 selected output or full cached transcript 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.