← All works

Entry — 7th highlightTV AI Contest (16:9 video ad)

Live Happily

At twenty, she wrote “Live happily” at the top of her diary. University, a scholarship, getting fit, a first paycheck, graduation — she highlighted each one, but the joy never lasted and the list only grew. Back at the top line, she finally sees it: she had been living happily all along.

People and scenes are AI-generated.

Length
60s
Format
16:9
Generated shots
10
Generate
Gemini — image, Gemini — video (Veo), Google Flow — Veo 3.1 Fast, vidIQ — Gemini Omni Flash, Gemini TTS (Leda)
Edit
Claude, Python, OpenCV, NumPy, SciPy, Pillow, FFmpeg
Date

In short

  • ConceptA list growing under “Live happily”: every goal gets highlighted, the joy fades, and the story ends back at the top line
  • LoopRun in → write a line → achieve it → the smile fades, four times, faster each round
  • CharacterA character sheet made from my own photos in Gemini, plus workout and graduation-gown versions in the same chat
  • LogoThe highlightTV logo printed on the highlighter itself, tracked frame by frame as the pen moves
  • SoundLines and sighs in one Gemini TTS voice (Leda); piano and notification sounds synthesized in code

Scenes

  • The top line: At twenty, she writes “Live happily” at the top of her diary.
    The top lineAt twenty, she writes “Live happily” at the top of her diary.
  • Accepted: She cheers at the acceptance text, but in the last two seconds the smile fades.
    AcceptedShe cheers at the acceptance text, but in the last two seconds the smile fades.
  • Back to the desk: She rushes back in to write the next goal. This happens four times.
    Back to the deskShe rushes back in to write the next goal. This happens four times.
  • Scholarship: She receives a certificate on stage.
    ScholarshipShe receives a certificate on stage.
  • Getting fit: She sees her slimmer self in the mirror.
    Getting fitShe sees her slimmer self in the mirror.
  • First paycheck: A “₩1,850,000 deposited” notification during her cafe shift.
    First paycheckA “₩1,850,000 deposited” notification during her cafe shift.
  • Graduation: She throws her cap and hugs a bouquet.
    GraduationShe throws her cap and hugs a bouquet.
  • The endless list: The highlights pile up, and the list runs off the desk.
    The endless listThe highlights pile up, and the list runs off the desk.
  • Back to the top line: The last stroke goes on the top line, “Live happily.” She had been living it all along.
    Back to the top lineThe last stroke goes on the top line, “Live happily.” She had been living it all along.

Pipeline

  1. CharacterGemini image · several of my photos → 3D character sheet (hoodie) + workout and graduation-gown versions
  2. DiaryGemini image · a blank page with “행복하게 살기:” → six edits in the same chat, one line added and highlighted each time + one endlessly long list
  3. GenerateAcceptance: vidIQ (Gemini Omni Flash) · scholarship, fitness, paycheck, graduation: Flow Veo 3.1 Fast (character-sheet reference) · highlighter: Flow Veo 3.1 Fast (diary image as first frame) · run-in: Gemini video
  4. FixThe run-in came out smiling, so its first frame was re-edited in Gemini to a rushed, irritated face and regenerated · the two phone screens made as separate images
  5. LogoGenerated text on the pen inpainted and the logo re-stamped · the held pen tracked with template matching + KLT optical flow, then smoothed
  6. SoundGemini TTS (Leda): the lines recorded in one take and cut into place, sighs in the same voice · piano and chimes synthesized in code · ambience from the generated audio
  7. Edit & exportCut, watermark removal and end copy in Python, OpenCV and FFmpeg · 1920×1080 · 30 fps · 59.9 s

Prompts

Character sheetGemini image · several of my own photos attached
Turn the person in this photo into a 3D animated character in a warm Pixar-like style: a 20-year-old university student, same face shape, hair and features, simplified and friendly. Character sheet on a plain light background: front view, three-quarter view, and full body, all in the same outfit — oversized grey hoodie, black pants, white sneakers. Soft studio lighting. No text.
Diary, first pageGemini image · 16:9
Top-down photo of an open lined notebook on a wooden desk under warm desk-lamp light at night, 16:9. On the right page, handwritten in Korean with a black pen, neat handwriting, only one line at the very top:

행복하게 살기:

The rest of the page is empty. A yellow highlighter lies beside the notebook. Shallow depth of field, cozy. Nothing else written, nothing highlighted.
One line at a timeGemini image edit · one line added and highlighted per edit in the same chat (one example)
같은 사진「좋은 대학 붙기」는 노란 형광펜으로 칠해지고 그 아래 「장학금 받기」 추가
Acceptance textGemini image · exact on-screen text
3D animated film still in a warm Pixar-like style, 16:9. Close-up over-the-shoulder shot of a young woman's two hands in an oversized grey hoodie holding a modern smartphone, at night in a cozy bedroom softly lit by warm fairy lights with gentle bokeh. The phone screen is bright and fills the center of the frame, perfectly sharp and readable: a simple white messaging app screen with one incoming text message bubble that reads in Korean exactly: 서울대학교 최종 합격을 축하합니다! — written once, large and clear. No logos, no brand names, no other text.
Acceptance scenevidIQ · Gemini Omni Flash · character sheet reference · 7 s
3D animated film style (warm Pixar-like), the young woman from the reference image: long straight dark-brown hair, brown eyes, oversized grey hoodie. Night, her small cozy student room lit by a desk lamp and fairy lights. She holds her phone close to her face, the screen glow lighting her. She reads it, freezes, gasps, then jumps up and cheers with both fists, beaming. Camera: medium shot, quick push-in to her face as she cheers. In the last two seconds her smile slowly fades into a worried, distant look and she lowers the phone. Sound: a phone notification chime, her gasp and happy shout, then quiet room tone. No text, no subtitles, no logos.
Back to the deskGemini video · the expression-fixed image as the first frame
Use the attached image as the exact first frame. 3D animated film style, same character, same room, same lighting, static camera with the same framing for the whole shot. The young woman keeps running in a hurry from the doorway toward the desk on the right side of the room. Her face stays stressed, frowning and irritated the entire time, brows pulled together, lips pressed tight, out of breath - she never smiles. She reaches the desk, drops onto the chair and quickly grabs the yellow highlighter on the desk. Sound: dust and small debris settling behind her, fast footsteps on a wooden floor, her heavy breathing and one short frustrated sigh. No speech, no words, no music, no text on screen.
ScholarshipFlow · Veo 3.1 Fast · character sheet as the reference (ingredient) · this scene's part of one four-scene request — shared rule: in the last two seconds the bright smile fades into a worried look
Video 1 (reference CH.jpg): she wears a neat blouse, stands on a small stage in a bright hall, bows and receives a certificate with both hands from an older man, holds it up while a small audience applauds; slow dolly-in from wide shot to close-up of her face; sound: polite applause and a camera shutter, applause fading out.
Getting fitFlow · Veo 3.1 Fast · character sheet as the reference (ingredient) · this scene's part of one four-scene request — shared rule: in the last two seconds the bright smile fades into a worried look
Video 2 (reference CH_fit.jpg, same workout outfit): quick energetic one-shot montage in her bedroom in morning light: she jogs in place, lifts a small dumbbell, drinks water, then turns to a tall mirror and looks at her slimmer self; handheld camera settling into a close-up of her face in the mirror; sound: fast breathing, sneakers on the floor, then quiet.
First paycheckFlow · Veo 3.1 Fast · character sheet as the reference (ingredient) · this scene's part of one four-scene request — shared rule: in the last two seconds the bright smile fades into a worried look
Video 3 (reference CH.jpg): she wears a cafe apron behind a counter at night, hands over a coffee, wipes the counter, counts bills at the register, then checks her phone and reads a payment notification; snappy whip-pans between moments ending in a close-up lit by the phone; sound: cafe clatter, register ding, phone chime, then quiet.
Paycheck notificationGemini image · exact on-screen text
New image, same 3D animated Pixar-like style, 16:9. Close-up over-the-shoulder shot of the same young woman with long straight dark-brown hair, wearing a grey hoodie and a beige cafe apron, holding a smartphone with both hands behind a cafe counter at night, warm string lights and bokeh in the background. The phone screen is bright, perfectly sharp and readable, showing a simple banking app push notification card in Korean that reads exactly, on two lines: 입금 1,850,000원 and below it 급여. Plain white card, no bank name, no logos, no other text.
GraduationFlow · Veo 3.1 Fast · character sheet as the reference (ingredient) · this scene's part of one four-scene request — shared rule: in the last two seconds the bright smile fades into a worried look
Video 4 (reference CH_grad.jpg, same navy graduation gown and cap): on a sunny generic campus lawn with friends cheering, she throws her cap in the air, catches it, laughs and hugs a bouquet; low-angle shot following the cap up then down to a close-up of her face; sound: cheering crowd, cap whoosh, then the chatter fades out.
The endless listGemini image · tall vertical paper
Top-down photo of a very long strip of lined notebook paper unrolled across a wooden desk and hanging off its edge, tall vertical image. At the very top, handwritten in Korean: 행복하게 살기: (not highlighted). Below it, dozens of short handwritten Korean lines, each struck through with a yellow highlighter, getting messier and faster toward the bottom. Warm desk-lamp light, night. No other objects.
The highlighter strokeFlow · Veo 3.1 Fast · diary image as the first frame · the same prompt for every line
A hand holding a yellow highlighter enters from the bottom right, uncapped, and draws one slow, steady highlighter stroke exactly over the LAST (lowest) line of Korean handwriting on the right page, left to right, then lifts and leaves the frame. All other lines, the existing yellow highlights and every letter stay exactly identical to the image. Static camera, same angle, warm desk-lamp light. Sound: soft marker squeak on paper, quiet room tone. No extra text.
Highlighting the top lineFlow · Veo 3.1 Fast · the first page (P0) as the first frame · the last-scene request added to the shared highlighter prompt
Video E: first frame P0.jpg, but for this one the hand moves very slowly and gently, highlights the single top line, then rests the pen on the desk, and the sound is one slow soft marker stroke then silence.

One character, five wins

  • Every shot with her references character sheets made from my own photos (hoodie, workout, graduation gown)
  • In Flow, the sheets went in as references and four scenes were requested at once
  • All five wins end the same way — a bright smile fading into worry — to build the loop

Face, logo, voice

  • The run-in came out smiling, so only its first frame was fixed in Gemini and the shot regenerated
  • Generated text on the highlighter was removed and the highlightTV logo re-stamped to follow the hand
  • Separate takes sounded like different people, so the lines were recorded in one take and cut

Credits

  • highlightTV logo: the official file provided by the organizer
  • Font: Pretendard (SIL Open Font License)
  • Piano and chimes synthesized in code · ambience from the generated clips (door sound from a Higgsfield clip) · no stock audio
  • Made with generative AI