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 how it is built.

Latest cut — sequential, one shared setnew

720×1280 · 40s · five clips · $2.00

One dog per shot, straight cuts

  • 0–8sThe claim. A humanoid robot will be the best-selling product of all time.
  • 8–16sThe reframe. Every house already has one. You are describing us.
  • 16–24sSecond-order. It does not eat. The floor economy goes to zero.
  • 24–32sThe counter-number. The actual best-seller is the tennis ball.
  • 32–40sTerritory. Losing on substance, escalating to the couch.

Every line answers the same claim, each in its owner’s analytical style. The whole thing was generated and assembled through three API endpoints with no local video tooling — and every spoken line was transcribed back afterwards and matched against the script word for word.

Preparing the plate

Original photo: a bulldog asleep on a leather recliner in a living room

what an owner actually uploads

The same bulldog rendered on the podcast set

the same dog, on the house set

A reference photo carries its own background, and that background fights the scene description — one clip inherits the sofa, the next invents a different room. So the animal and the set are separated: one studio image is generated once, and every pet is composited onto that same set before it is ever used for video. Coat, blaze, eyebrow points and paws survive; the recliner and the bookshelf do not.

Earlier cut — the 2×2 grid

720×1280 · 48s · h264 + AAC · 19 MB

Three segments, ten generated clips

  • 0–8sCold open. Butcher alone, full frame.
  • 8–16sRoll call. The grid assembles; three listen while one talks.
  • 16–48sThe topic. Each dog takes a turn on the same argument.

The first two segments are fixed furniture — they carry over to every episode untouched. Only the third is written fresh, so a new short costs four generations rather than ten.

The two takes behind one tile

speaking · 8s

idle B-roll · 8s · reused every episode

The idle take is seeded from the last frame of the speaking take, which locks the same dog, room, lighting and framing — not merely a similar-looking room. Without it the listeners stare blankly; with it they blink, tilt, scratch and yawn, and the grid reads as a real call.

How it is made

01

The photo

Breed, coat colour and markings are described in words, then the pet is composited onto the house set. 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

Each character is generated alone, then the clips are stitched with captions and branding burned in — all through the API, no local video tools.

Notes from the build

What it costs

Model tier8s clip · reference images?
veo-3.1-lite$0.40 · rejected — start frame only
veo-3.1-fast$0.80 · accepted, binds the set to the plate
veo-3.1$3.20 · accepted
Generation time41–62 seconds, whatever the tier
This 40s short$2.00 — five clips on the lite tier
Recommended mix$2.40 — open on the fast tier to lock the set, seed the rest on lite

Still rough

Honest state of play. Coat colour drifts during animation even when the plate is correct — a chocolate bulldog plates properly and then renders closer to standard fawn. On the lite tier the set is carried by prompt text alone, so it stays consistent between clips but drifts away from the plate it was supposed to match. Coined words give the model trouble, and dense lists of proper nouns need splitting across takes rather than crammed into eight seconds. Cuts are hard cuts; there are no crossfades yet.