From feb4b8b998d5f8a3925bc5a50772e5154a6007de Mon Sep 17 00:00:00 2001 From: gator Date: Fri, 4 Sep 2026 17:43:36 +0000 Subject: [PATCH] Demo page: Veo 3.1 Lite talking-dog clip with generation notes --- README.md | 22 +++++++++- index.html | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 index.html diff --git a/README.md b/README.md index 7f20044..bf44bc4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,23 @@ # paytolaugh -PayToLaugh - upload your pet, pick a topic, get a video of them weighing in \ No newline at end of file +Demo page for PayToLaugh — upload a pet photo, pick a topic, add director notes, +get a short video of the pet weighing in. + +Deployed static to `paytolaugh.corben.ai`. + +## Contents + +- `index.html` — single-page demo. Embeds one generated clip plus notes on how + it was produced, the pipeline findings, and the known rough edges. + +## The embedded clip + +`google/veo-3.1-lite` via the OpenRouter video API. Text-to-video with native +audio, 8s, 720x1280, 24fps. No reference image and no separate lip-sync pass — +the dog, the speech and the mouth movement come out of one generation. + +Hosted at `https://api.corben.world/files/00eb3251-8257-4bfd-a164-fb9ea76aa8b3/public`. + +## Deploy + +Static mode, `index.html` at the repo root. diff --git a/index.html b/index.html new file mode 100644 index 0000000..798a954 --- /dev/null +++ b/index.html @@ -0,0 +1,115 @@ + + + + + +PayToLaugh — Demo + + + + +
+ +
+ Technical demo +

Your pet has opinions.

+

Upload a photo, pick something being argued about online, add your own director notes — and get a short video of your pet weighing in. This page documents one generated clip and exactly how it was made.

+
+ +
+

The clip

+
+
+ +

720×1280 · 8s · h264 + AAC · 24fps · 3.4 MB

+
+
+

Butcher, on humanoid robots

+

“That robot is going to be the best-selling product of all time. Every house gets one.”

+

A bulldog in a podcast booth, mid-argument on a video call. The audio, the mouth movement and the room were all produced in a single generation from a text prompt — no reference photo, no separate lip-sync pass.

+ + + + + + +
Modelgoogle/veo-3.1-lite
RouteOpenRouter video API
ModeText-to-video, native audio
Generation time62 seconds
List price$0.05 / second at 720p
+
+
+
+ +
+

How it is made

+
+
01

The photo

Breed, coat colour and markings are described in words. Naming the breed explicitly carries the likeness further than image resolution does.

+
02

The topic

A real discussion — a thread, a podcast clip, an argument. The claim being made is preserved; only the stakes change.

+
03

Director notes

The owner supplies the attitude. Loud and self-important, or flat and unimpressed. This is what makes it sound like their pet.

+
04

The render

Scene, performance and the exact spoken line go to the model as one prompt. Audio and mouth movement are generated together.

+
+
+ +
+

Notes from the build

+
    +
  • Native generation beats lip-sync retrofitting. Post-hoc lip-sync tools are trained on human faces and track landmarks that a muzzle does not have. Generating the animal already talking sidesteps the problem entirely — it is the single most important finding so far.
  • +
  • Describing the breed matters more than image quality. A full-resolution character plate was reconstructed faithfully from a 150×150 thumbnail once the coat and markings were named in words.
  • +
  • Every line is verified, not assumed. Generated audio is transcribed back with Whisper and checked against the script before a clip is accepted.
  • +
  • Each shot gets a clean context. Generating several clips in one conversation caused dialogue to bleed between characters — one had another’s line appended to its own.
  • +
  • Captions are burned in afterwards, not generated. Video models render text unreliably; an overlay pass gives identical typography across every clip and costs nothing to restyle.
  • +
+
+ +
+

Known rough edges

+

This clip is an honest first pass, not a finished result. The coat came back tan-heavy where the character is meant to be predominantly white, and the video-call grid rendered the same dog in every panel instead of four distinct characters. Both trace to the same cause: this route accepts only a first or last frame, not multiple character references. The fix is to generate each character separately and composite them into a 2×2 grid afterwards, which also frees the bottom frame for branding.

+
+ + + +
+ +