DEV Community

Cover image for How we made an 8-second AI comedy short with two consistent characters, start to finish
Louis Chi
Louis Chi

Posted on Originally published at refvid.com Fully Autonomous

How we made an 8-second AI comedy short with two consistent characters, start to finish

I wrote this with AI assistance (Claude) and checked every number against our own notes and files. All pictures are from our own clip and our own files.

The finished short: a man in a navy shirt holds a can in a kitchen, a woman in a red reindeer onesie runs past behind him, caption "My wife every year on November 1st"
The short this story is about. Tap to watch it on our site.

I'm Louis Chi, and I work on RefVid, a tool that keeps the same character in every AI video shot. On 3 November we made an 8-second comedy short with our two recurring characters, Leo and Mia.

It took one generation, kept on the first take, and about an hour from idea to finished clip. Here is every step in order.

1. The idea, in one line

A husband calmly grabs a drink from the fridge while, behind him, his wife runs past already decorating for Christmas, because for her the season starts on November 1st.

The gag came from our morning look at what was rising that week; thequistfamily posted it first. One line is the test: if the joke can't be said in a sentence, it won't survive 8 seconds of video.

It also has what makes a short easy to generate. One room, nobody speaks, two people, one punchline at the end.

Leo with a can facing the camera; Mia in a red reindeer onesie behind him
The gag in our clip: he faces the camera with a drink, she is already decorating behind him.

2. The characters: Leo and Mia, four photos each

The roles were already cast. Leo and Mia are saved in our studio, four photos each, and they play a couple well.

The same faces matter twice. Inside the clip, the man who opens the fridge in shot 1 has to be the man who stares in shot 3, or the joke breaks at the cut. Across clips, recurring characters are what people recognise.

Mia's photos show her in a jacket, so the script had to name her costume clearly enough to win against them.

3. The script: beats, camera, set, wardrobe, timing

We wrote a full script before any prompt. First the beats, read from the original frame by frame: he opens the fridge, turns to the camera with a can, she runs past behind him at about 4 seconds, he stares after her to the end.

Then each shot got its camera, set, light, wardrobe and action:

  • Camera: a phone at chest height on a tripod, never moving.
  • Set: a bright modern kitchen in daylight, white cabinets, sage-green walls, a steel fridge at the right edge, bare counters.
  • Wardrobe: Leo in his navy shirt; Mia in a red fleece onesie from neck to ankles, an antler headband, a garland on one shoulder, dragging lit Christmas lights.
  • Timing: three shots of 2, 3 and 3 seconds, a hard cut between them, something moving in the first second.

The script went through three versions. v1 was guessed from the caption (a Christmas tree frozen in a block of ice) and read the wrong thing as the joke; we stopped before spending anything. v2 had the real gag. v3 is v2 after two reviews.

Three cards: v1 from the caption, v2 from the frames, v3 after two reviews
The three versions, all written before anything was generated.

4. Two reviews before spending a credit

Two separate AI sessions reviewed the script. An AI-video director asked whether the clip tells the joke: 8 faults, then 2, then clear. A Kling 4 prompt engineer asked whether the model will draw what the words say: 7 faults, then clear.

The fixes that mattered most:

  • Shot 2 was 498 characters; RefVid takes 480 per shot in a several-shot Kling clip. Cut to 478.
  • Shot 3 had Leo turn back to the lens, a different joke. Now he keeps staring after her.
  • "At 1 second Mia sprints…" became "Then Mia … sprints…": a timestamp inside a shot is not a reliable cue.
  • "In a flash" can be drawn as a flash of light. It became "sprints fast in from frame left along the back wall".
  • "Red fleece onesie" became "red fleece onesie neck to ankles", so her jacket from the photos doesn't come back.

All 17 review faults in two columns
All 17 faults, in the order they were found.

5. From script to shot prompts

Each shot became one prompt: camera, place, who is there and what they wear, then the action in order, ending in a state the model can hold. With no first frame, shot 1 also describes the whole kitchen.

Shot 1, 2 s: "Medium shot, phone camera at chest height. A bright, clean modern kitchen in daylight: white cabinets, sage-green walls, bare counters, a stainless-steel fridge at frame right, an empty open doorway in the back wall. Leo, in his navy shirt, stands alone, side-on, hand on the fridge handle. Right away, in one quick pull, he yanks the fridge door wide open, cold light spilling out, and holds it open, staring into the fridge. Fixed camera."

Shot 2, 3 s: "Same kitchen and shot, fridge closed. Leo, left of center, faces the camera, silver can at his chest, closed-mouth smirk. Then Mia, her reference face and copper bob, in a red fleece onesie neck to ankles, antler headband, garland on one shoulder, sprints fast in from frame left along the back wall, dragging glowing multicolor Christmas lights, out of frame right; the lit string stays on the floor. Leo snaps his head to frame right and holds. Fixed camera."

Shot 3, 3 s: "Medium close-up from the waist up, the same kitchen behind Leo, who stands alone. Behind him one string of glowing multicolor Christmas lights lies in a long line across the floor. Leo keeps his body toward the camera and his head and eyes turned to frame right, staring blankly, mouth slightly open, silver can at his chest, completely still. He blinks once, slowly, and keeps staring. Fixed camera."

Three habits carry over to any clip: the same words for the same thing in every shot, speed written on the verb, and "Fixed camera." at the end.

Three key frames: Leo opening the fridge, Mia behind Leo, Leo staring
What each prompt gave, at 0.5 s, 3.0 s and 6.0 s.

6. Generation settings

In the studio: Leo, plus Mia as a second subject, three shot boxes of 2, 3 and 3 seconds. Kling 4, 1080p, 9:16, 8 seconds, no first or last frame. The prompts were 446, 478 and 412 characters with the names counted as reference tokens.

It cost 688 credits, and we generated once.

A card with the settings and the three shot boxes
Everything we sent, on one card.

7. The frame-by-frame check

We read the take at 4 frames a second. The cuts landed at 1.8 and 4.8 seconds, both faces matched their photos, no extra people appeared.

Four things differ from the prompts. Mia came in from the right, waved and ran back out the same side; Leo's smirk became an open smile; at the end he turns to the lens and blinks at 7.3 s.

The test for keeping a take is the one-line joke: calm husband in front, Christmas already happening behind him, a stunned stare. All there, so we kept it. A retake would have cost another 688 credits for the same joke.

32 frames of the take, four per second
The whole take at 4 frames a second.

8. The edit: trim, caption, sound

No trim: the stare held for the full 3 seconds. The caption "My wife every year on November 1st 🎄" went on in the edit, white bold with a thin outline near the top, never in the prompt.

Kling 4 always makes its own audio, and we took it out. The version on our site and on YouTube has our own arrangement of Jingle Bells, a public-domain tune; on Instagram and X it carries the original clip's sound; on TikTok, a Christmas song from the platform's licensed library.

The same frame before and after the caption
The caption is the only thing added to the picture.

9. Sharing it

The clip was ready at 08:15 UTC, about an hour after that morning's look at what was rising. It went out on YouTube Shorts, Instagram Reels, X and TikTok between 08:26 and 08:42, and on its own share page with the three prompts underneath.

The clip's RefVid share page with the first prompt below the video

Try it yourself

Save three or four photos of each person once, write your gag in one line, then as two or three shots with the names in the prompts, and generate. The full making-of, with every picture and the exact prompts, is on our site.

— Louis Chi, RefVid

Top comments (0)