A vertical live-action mockumentary trailer: the dead staff of St. Mordred's (the game's bosses) each tell a different origin story, and the film ends on "Quiet, please." / "Play." / splat. tools/trailer/ holds the whole pipeline: stills and takes through the OpenRouter key (gen.py, stills.sh, clips.sh), the frame graphics in HTML/CSS (frame.html), a QA listener (qa.py), the music sectioner (segment.py) and the edit (cut.py). Media lands in the gitignored promo/trailer/. SCRIPT.md is the screenplay and the cut notes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
72 lines
4.9 KiB
Markdown
72 lines
4.9 KiB
Markdown
# LIFETIME MEMBERS — the Splatter Tennis trailer
|
||
|
||
Vertical 9:16, English, live-action mockumentary ("What We Do in the Shadows" meets a BBC sports
|
||
documentary). Lightly funny, properly eerie. The dead of ST. MORDRED'S LAWN TENNIS CLUB (est. 1877)
|
||
are interviewed about how it all started — and every one of them tells a DIFFERENT origin story.
|
||
The costumes are the game's bosses (Groundskeeper, Line Judge, Chair Umpire, Strawberry Seller,
|
||
The Champion), so the film introduces the cast before anyone has played a point.
|
||
|
||
Pipeline: stills `gen.py still` (gemini-3-pro-image) -> clips `gen.py clip` (Veo 3.1, native
|
||
dialogue + ambience) -> score `gen.py music` (Lyria 3) -> frame graphics in HTML/CSS
|
||
(`frame.html`, rendered by headless Chrome) -> `cut.py` assembles with ffmpeg.
|
||
|
||
## The cast
|
||
|
||
| Who | Look (= the game's boss sprite) | Origin story |
|
||
|---|---|---|
|
||
| REGINALD MOSS, Head Groundskeeper, 1962 – | hulking, bottle-green club blazer with crest, olive work trousers | the fertiliser, FORMULA 7 |
|
||
| DORIS PENNY, Strawberries & Cream, 1971 – | white paper soda-jerk cap, stained apron, tray of strawberries, cream jugs | "it wasn't the cream" |
|
||
| CLIVE BARROW, Line Judge, 1974 – | huge man, navy/white striped polo, navy cap, dark glasses he never removes | the bylaws: lifetime membership |
|
||
| AMBROSE PIKE, Chair Umpire, 1908 – | gaunt, cream linen blazer, panama hat, navy tie, gooseneck mic | 1911, fifth set, no tie-break |
|
||
| THE CHAMPION | bandaged skull, white polo with gold trim, tarnished trophy | never speaks |
|
||
|
||
## Shot list
|
||
|
||
COLD OPEN
|
||
1. GATES — dawn fog, wrought-iron gates, sign ST. MORDRED'S LAWN TENNIS CLUB · EST. 1877. Slow push in. Crows. Somewhere in the fog: pok… pok… a rally. Nobody is playing.
|
||
2. COURT — immaculate stripes in fog, a sprinkler ticking. Far baseline: a figure standing perfectly still.
|
||
3. HONOURS BOARD — gilt names, 1877, 1878 … the last line: 1911 — MATCH IN PROGRESS.
|
||
CARD "Every old club has its traditions." / "Some of them refuse to die." → TITLE "LIFETIME MEMBERS"
|
||
|
||
THE INTERVIEWS — card: "HOW DID IT START?"
|
||
4. REG (potting shed): "Fertiliser. Formula Seven. Lovely green… very persistent."
|
||
5. B — a rusty FORMULA 7 tin on dark soil; the grass around it slowly leans toward camera.
|
||
6. DORIS (strawberry kiosk): "People say it was the cream. It wasn't the cream. The cream was just… old."
|
||
7. B — a cream jug on a doily; the surface of the cream ripples by itself.
|
||
8. CLIVE (umpires' room): "It's in the bylaws. Lifetime membership. Nobody ever defined 'lifetime'."
|
||
9. B — a leather-bound rule book, a finger traces: MEMBERSHIP SHALL BE FOR LIFE.
|
||
10. AMBROSE (high in his chair, fog): "Nineteen-eleven. Fifth set. No tie-break." … "We're still waiting for a result."
|
||
11. B — black-and-white archive: two gentlemen in long whites at dusk, scoreboard 112 – 112.
|
||
|
||
THE TURN — card: "AND THE CHALLENGERS?" (the camera IS the challenger: every stare is at you)
|
||
12. DORIS, into the lens: "They never stay long."
|
||
13. CLIVE pulls his sunglasses down: milky-white dead eyes. Silent.
|
||
14. AMBROSE at the mic: "Quiet, please." — and the score obeys: it stops dead on "please".
|
||
15. THE STANDS, in silence: every head bows, then rises to stare into the lens.
|
||
16. AMBROSE, now at night under floodlights: "Play."
|
||
17. CUT TO BLACK: SPLAT.
|
||
LOGO — SPLATTER TENNIS. "MATCH IN PROGRESS" (the honours board's 1911 line).
|
||
|
||
STINGER
|
||
18. REG on his knees at dawn, dabbing red off the white baseline with a handkerchief. Looks up: "Lovely day for it."
|
||
END — logo, "Lifetime membership now open.", the game's own polite applause.
|
||
|
||
## Cut 1 → cut 2 (Oliver, 2026-10-03)
|
||
Cut 1 ended on a floodlit match — a living player walks on, the Champion sets down his trophy, a
|
||
slow-motion serve. Oliver: it "does not really fit … seems odd", conclude earlier on the
|
||
challengers / "they never stay long" / "Play". Why it was odd: it switched genre from mockumentary
|
||
to action trailer at the climax, and it was where the generated footage looked most generic. The
|
||
ending now stays inside the documentary form. The takes (lights, challenger, champion, serve) are
|
||
still in promo/trailer/clips if a 15-second cutdown ever wants them.
|
||
|
||
## Sound rules that cost a render each
|
||
- Every segment is a whole number of frames, or the audio drifts a sub-frame per cut.
|
||
- Dialogue gain is MEASURED (`dlg`), never guessed: every line lands at DLG LUFS.
|
||
- Loudness is two-pass `loudnorm ... linear=true` to -14 LUFS / -1 dBTP. One-pass loudnorm is a
|
||
compressor and pumped the silence before "Play." back up.
|
||
- No long discrete echoes on an impact: a 0.9 s repeat read as a click on the logo.
|
||
- Encode with `-tune grain` and a 14 Mb/s cap: the grain made an uncapped crf-16 file 480 MB.
|
||
- QA listening (`qa.py`, Gemini): trust it on spoken lines and on mix complaints, NOT on its
|
||
timestamps for music (they drift up to 1.5x) and not on transcripts of non-speech audio
|
||
(it invents words from footsteps).
|