bymanu.ai

Bibi

Personal film

bymanu Lab ↗

How I made this film.

A girl finds a frightened puppy in a box the hens won't leave alone. Seconds later, in a rice field, he returns the favour.

The whole film rests on one idea: the scene in the box and the scene in the field are the same scene with the roles swapped. In the yard she is the happy one and he is the scared one. In the field she is the one crying and he is the one who comes to her. Nobody says it. Both halves have to read instantly, so every prompt spends more words on behaviour than on looks: how a four-year-old falls, how a frightened puppy holds a corner, how hens scatter.

Below are the reference sheets, every video prompt and the edit, in the order I made them.

Runtime
0:21
Video generations
5
Video model
Seedance 2.5
References
Seedream 5.0, Midjourney v8.2
Workflow
Tests at 480p, finals at 1080p
Edit and grade
DaVinci Resolve

Five references, one studio.

Characters and props share a single setup: warm-grey backdrop, key light from the upper left, an ARRI Alexa Mini LF on a Signature Prime, and a palette written as percentages. When every sheet agrees on light, Seedance doesn't have to reconcile them, and the subjects drop into any location cleanly.

The two locations come from Midjourney, written around Kodak Vision3 250D. They set geography and texture. Their light doesn't survive: the yard was written as morning and the field as hard midday sun, and each video prompt overrides that with soft dusk and overcast. The location tells the model where; the shot prompt tells it when.

Character sheet: close-up portrait, front and back full-body views of a young girl in a cream and brown fleece jacket
@char_bibi
Seedream 5.0, character sheet

Three panels: the face, then the body front and back cropped at the neck. One face in the sheet means one face to match. The wardrobe gets two full views because a fleece jacket with embroidered bears is the thing that drifts first.

Studio photo of a cream-white puppy lying on its back
@char_puppy
Seedream 5.0, character sheet

A single relaxed pose that shows everything the shots need: face, belly, paw pads, the density of the coat.

Battered cardboard box with faded Vietnamese text
@prop_box
Seedream 5.0, prop sheet

Low-grade Vietnamese packaging, softened by humidity. The flaps are folded, never taped, so they can open on camera without a cut.

Ochre clay farmhouse with chickens, karst mountains behind
@loc_ext
Midjourney v8.2, location

The yard. The chickens are already in the plate, which made them easy to keep in the video.

Bright green rice field below a dark karst cliff
@loc_field
Midjourney v8.2, location

The field. A flat band of green against a dark wall of rock, so a small figure running across it always reads.

One prompt structure for every shot.

Every video prompt follows the same order. It makes prompts comparable across shots, and when a generation goes wrong I know which block to rewrite.

  1. Scene contextWhat happens and how long it lasts, in two lines.
  2. Active referencesEach handle restated in words. The reference wins whenever the text and the image disagree.
  3. First frame and blockingWhere everyone is at frame one. The rest of the shot is built from here.
  4. FormatDuration, number of shots, where the hard cuts fall.
  5. OpticsDiagonal field of view in degrees rather than a focal length, plus what is sharp and what falls away.
  6. CameraHandheld, and how it is imperfect: drifting, correcting a beat late, never stabilised.
  7. Action timingTimecoded beats. The last frame is described as precisely as the first.
  8. PhysicsWeight, contact, fur, feathers, cardboard. This block does most of the work against the generated look.
  9. LightingOverrides the location's light and locks exposure for the whole shot.
  10. AudioAmbience and foley only, written as carefully as the picture. No music in any generation.
  11. Positive constraintsThe rules restated as things that must happen, rather than a list of things to avoid.

The shots.

Raw generations, before the edit and grade. Each shot was iterated at 480p until blocking, timing and performance held, then rendered at 1080p. Shot 01 below is the 480p test.

01

The approach

Generation
4 s, single take
In the film
0:00.0 – 0:02.8

The hens are the reason anyone looks at the box, and they clear the frame for her when she arrives. She starts two steps away so the shot spends its four seconds on the scatter and the kneel, not on walking.

A small sound from inside the box is written into the audio, too quiet to name. It sets up the reveal without showing anything.

02

Opening the box

Generation
Top-down point of view
In the film
0:02.8 – 0:06.1, 0:07.0 – 0:08.4

Her hands from her own eyeline, pulling the flaps apart, and the puppy curled at the bottom. This is the shot that actually shows him: the reverse from inside the box carries her reaction, this one carries his fear. Clip shown from the final cut.

03

Inside the box

Generation
5 s, single take
In the film
0:06.1 – 0:07.0, 0:08.4 – 0:10.0

The camera never leaves the bottom corner. She is told to be delighted and never cry; he is told to stay frightened and never respond. The contrast is the scene, so neither instruction is allowed to soften.

The puppy was written into the edge of this frame but barely reads. Intercutting with shot 02 solved it: her face, his fear, her hands coming down.

04

The field

Generation
12 s, three shots, hard cuts at 5.4 s and 7.8 s
In the film
0:10.0 – 0:18.7

Three shots in one generation: the run and the fall, a low angle from behind the puppy, then the two of them on the ground. One prompt keeps light, dirt and screen direction continuous across the cuts in a way separate generations rarely do.

The fall happens inside the first shot, not on a cut, so the laugh turns into crying in real time. In the edit I dropped the middle shot: going straight from the fall to the lick is faster, and the change in him reads without it.

05

The hug

Generation
4 s, single take
In the film
0:18.7 – 0:20.8

Written as a direct continuation of shot 04: same light, same dirt on both of them. He is told to be content, not sympathetic. A puppy enjoying a hug is the ending; a puppy performing empathy would have tipped it into sentiment.

The edit.

Twenty-five seconds of generations cut to twenty-one. Click any segment to jump to it.

0:00.00:20.8

    The grade.

    Seedance delivers clean, cool, neutral frames. The grade warms the sky toward peach and pulls skin and fleece toward the ochre of the yard, so the dusk scenes and the field feel like the same day. Drag to compare.

    Raw generation frame Graded frame
    RawGraded

    Files.

    Every prompt in this breakdown, references and shots, in one text file.

    bibi-prompts.txt5 reference prompts, 4 video prompts

    Find your next breakdown.