RefVid

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

Turn your own photos into videos in minutes · Your first video is free, no watermark

  • Free first video
  • Kling 3.0 Omni
  • No watermark
  • Commercial use

First video free, no cardGenerating confirms everyone pictured agreed. Terms

This is the complete making of our 8-second short "My wife every year on November 1st": a husband calmly grabs a drink while his wife, who starts Christmas on November 1st, is already decorating behind him. Our two recurring characters, Leo and Mia, play the couple, from four photos of each.

It took one Kling 4 generation, kept on the first take, and about an hour from idea to finished clip. Below is every step in order, each with a picture from our own files, and the exact prompts.

The short this page is about, without its caption: Leo grabs a drink while Mia, already decorating for Christmas, runs through behind him. One 8-second clip on Kling 4 at 1080p, three shots, made from four photos of each of them.

How to make AI comedy videos: start with a one-line gag

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.

It came from our morning look at what was rising that week, where two couples had posted this gag on 1 November; we wanted our own characters to play it.

One line is the test. If the joke can't be said in a sentence, it won't survive 8 seconds of video. This one also has what makes a short easy to generate: one room, nobody speaks, two people and a clear punchline at the end.

Leo in a navy shirt smiles at the camera with a silver can in a bright kitchen
Mia in a red reindeer onesie behind Leo in the kitchen, Christmas lights around her neck
The gag in two frames from our clip: he faces the camera with a drink, and she is already decorating behind him.

Choosing the characters: how to make funny AI videos from photos

The roles were already cast. Leo and Mia are the two people we keep saved in the RefVid studio, four photos each, and they play a couple well.

The same faces matter twice. Inside the clip, the person 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: the next short with Leo and Mia starts from the same photos, not from a new random face.

We changed nothing in the photos. Mia's reference photos show her in a jacket, so the script had to name her costume clearly enough to win against them; the review step below is where that was caught.

Leo

Leo, front view
Leo, second angle
Leo, third angle
Leo, fourth angle

Mia

Mia, front view
Mia, second angle
Mia, third angle
Mia, fourth angle
The only pictures that went in: four photos of Leo and four of Mia, each saved once as a subject.

Writing the script: beats, camera, set, wardrobe and 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 gets 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 and a garland on one shoulder, dragging lit Christmas lights.

Timing: three shots of 2, 3 and 3 seconds, a hard cut between them, and something moving inside the first second. We wanted it a little faster than the one-take original, so the fridge beat is short and her run lands at 3 seconds instead of 4.

The script went through three versions. v1 was guessed from the caption, a freezer with 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 from the frames. v3 is v2 after two reviews.

Three cards side by side: v1 from the caption (ice block, stopped at USD 0), v2 from the frames (the real gag, 498-character shot, 8 director faults) and v3 after two reviews (478 of 480 characters, both reviewers pass)
The three versions of the script, one card each. All three were written before anything was generated.
ShotCameraWhat happens
1 · 0–2 sMedium, chest height, fixedLeo, side-on at the fridge, yanks the door open and holds it
2 · 2–5 sThe same spot and lens, a jump cut in timeFridge closed, Leo faces the camera with a can; Mia sprints past behind him, the lights stay on the floor; he snaps his head after her
3 · 5–8 sMedium close-up, fixedLeo keeps staring after her, mouth slightly open, and blinks once
The shot list from our script file (v3). The camera never moves; only the cuts change the view.

Two script reviews before we spent a credit

Before generating, two separate AI sessions reviewed the script, each seeing only the script and the frames. 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 are below. The other post about this clip lists the rest.

Two columns: the AI-video director's 8 then 2 faults and the Kling 4 prompt engineer's 7 faults then a pass, followed by one generation of 688 credits
All 17 faults in the order they were found, numbered across both reviewers.
BeforeAfterWhy
Shot 2: 498 characters478RefVid takes up to 480 characters per shot in a several-shot Kling clip
Shot 3: Leo turns back to the lensHe keeps staring after herLooking at the lens is a different joke
"At 1 second Mia sprints…""Then Mia … sprints…"A timestamp inside a shot is not a reliable cue
"sprints … in a flash""sprints fast in from frame left along the back wall""Flash" can be drawn as light, and it gave her no entrance
"red fleece onesie""red fleece onesie neck to ankles"Her photos wear a jacket; a loose wardrobe line loses to them
Five of the 17 fixes, from the change list at the end of our script file.

From script to shot prompts: the Kling prompt examples we used

Each shot of the script became one prompt: the camera first, then the place, then who is there and what they wear, then the action in order, ending in a state the model can hold. There was no first frame, so shot 1 also describes the whole kitchen. Leo and Mia are named; the studio turns the names into their saved photos.

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 ("silver can", "glowing multicolor Christmas lights"), the speed written on the verb ("sprints fast"), and "Fixed camera." at the end of every shot. Swap in your own names to reuse them.

Three key frames side by side: Leo opening the fridge, Mia behind Leo, Leo staring off to the side
Shot 2 alone, 3 s
What each prompt gave: shot 1 at 0.5 s, shot 2 at 3.0 s and shot 3 at 6.0 s, then the middle shot on its own.

Generation settings: Kling 4, 1080p, 9:16, 8 seconds, one take

In the studio we opened Leo, added Mia as a second subject, and put the three prompts into three shot boxes of 2, 3 and 3 seconds. Model Kling 4, 1080p, 9:16, 8 seconds in all. No first frame and no last frame.

The shot prompts were 446, 478 and 412 characters, counted with the names turned into reference tokens; a several-shot Kling 4 clip in RefVid takes up to 480 per shot.

It cost 688 credits: 8 seconds of Kling 4 at 1080p, which always comes with sound. We generated once. On RefVid a single video starts at $2.99, credit packs at $9.90 and plans at $10 a month, and credits never expire.

A card listing the settings: Kling 4, 1080p, 9:16, 8 seconds as 2 + 3 + 3, three shots, Leo and Mia with four photos each, no first frame, 688 credits, and the three shot prompts at 446, 478 and 412 of 480 characters
Everything we sent, on one card: the settings on the left, the three shot boxes on the right.

The frame-by-frame check: what came out differently, and why we kept it

We read the take at 4 frames a second, 32 frames for 8 seconds, and looked at the run more closely. The model cut where we asked, at 1.8 and 4.8 seconds. Both faces matched their photos in every shot, and no extra people appeared.

Four things differ from the prompts. Mia came in from the right, not the left, stopped to wave and ran back out on the same side. Leo's closed-mouth smirk came out as an open smile. In the last shot he starts staring after her, then slowly turns toward 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 of it was there, so we kept the first take. A retake would have cost another 688 credits for the same joke.

A grid of 32 frames from our 8-second take, four per second
Mia in a red onesie runs back out past the fridge behind Leo, lights on the floor
Leo in the last shot looking straight at the camera with a can
The whole take at 4 frames a second, then two things the prompts didn't ask for: she leaves on the side she came in (3.5 s), and he turns to the lens at the end (7.6 s).

The edit: trim, caption and sound

Trim: none. The stare at the end held for the full 3 seconds, so the clip runs the whole 8 seconds as generated.

Caption: "My wife every year on November 1st 🎄" in white bold with a thin dark outline, two lines near the top, inside the area the phone apps keep clear, from the first frame to the last. It goes on in the edit, never in the prompt, where the model would draw it as garbled letters.

Sound: Kling 4 always makes its own audio, and we took it out. The version on this page and on YouTube has our own arrangement of Jingle Bells, a public-domain tune. On Instagram and X it carries the original clip's own sound, the way people who know the gag remember it; on TikTok, a Christmas song from the platform's licensed sound library.

The frame at 2.9 s straight from the generation: Leo with a can, Mia in a red reindeer onesie behind him
The same frame after the edit, with the caption My wife every year on November 1st across the top
The same frame at 2.9 s before and after the edit. The caption is the only thing added to the picture.

Sharing it, and the result

The finished clip was ready at 08:15 UTC on 3 November, about an hour after that morning's look at what was rising. Between 08:26 and 08:42 it went out on YouTube Shorts, Instagram Reels, X and TikTok, each with the same line as its post text.

Every RefVid clip also has its own share page, with the clip and the three prompts that made it, so anyone can see how it was made and start from it. That is where the posts link.

The finished short, 8 s
The clip's RefVid share page: the video of Leo at the open fridge, the line Keep your own character the same in every shot, and the first shot prompt below
The finished short with caption and music, then its share page on RefVid with the prompts underneath.

Try it yourself

  • Save three or four photos of each person once as a subject: yourself, a friend, a character you made. Write your gag in one line, then as two or three shots, with the names in the prompts, and generate.
  • The short drama template starts you from a two-person scene in three shots, already laid out; change the names, the place and the action to your own joke. Your first 5-second video is free.

Start from a template

Each one opens the studio with the shots, shape and length already set. Add your own product and generate.

More character videos

Frequently asked questions

How long did it take to make the short?

About an hour from the idea to the finished clip: reading the original's frames, writing and reviewing the script, one generation of a few minutes, the frame check and the edit. The script and the two reviews took most of it.

How much did the clip cost?

688 credits for one 8-second Kling 4 clip at 1080p, and we needed only one take. A single video on RefVid starts at $2.99, credit packs at $9.90 and plans at $10 a month.

Can I make the same kind of short with my own face?

Yes. Save three or four photos of yourself, and of anyone else in the clip, once as subjects, write the shots with your names in them, and generate. The faces come from your photos in every shot, as Leo's and Mia's did here.

How long can a Kling 4 shot prompt be?

In the RefVid studio, a clip with several shots takes up to 480 characters per shot, counted after the subjects' names become reference tokens. Ours were 446, 478 and 412. A single-shot clip can be much longer.

Why keep a take that didn't follow the prompt exactly?

A video model takes a prompt as direction, not a script. Here Mia came in from the other side and Leo turned to the lens at the end, but the joke still landed, so a retake would have cost credits for nothing. Change one thing and retake only when the joke fails.

By All guides