video_helper.gui module
Video Helper — minimal single-page GUI (“video bench”).
This module holds nothing but the self-contained HTML document served by the
FastAPI app at GET /gui (see video_helper.api). It is deliberately
build-step-free: one string of HTML + Tailwind (via CDN) + vanilla ES-module
JavaScript. There is no bundler, no framework, no npm — the whole page is a
static asset the API returns verbatim.
Why a separate module
Keeping the (long) HTML out of video_helper.api keeps the route
definitions readable and lets the AI Helpers suite share one GUI template:
swap the operation list and the per-operation form fields, keep the plumbing.
What the page does
Drop / pick a local video (kept entirely client-side until “Run”).
Choose one operation (validate / dimensions / duration / convert / chunk / black / image-loop / concat / overlay / extract-audio / mux-audio / burn-subs / srt2vtt / extract-frames).
Reveal only the fields (and any extra file inputs) that operation needs.
POST a
multipart/form-datarequest to the SAME FastAPI endpoints the CLI and MCP surfaces use — the GUI adds zero new server logic.Preview the input and the output side by side: a
<video>player for clips, an<img>for the odd still, a JSON dump for the read-only probes, and a download link for everything (single file, or a.zipfor the multi-fileextract-frames/srt2vttoperations).