Kahani Har Office Ki, an office drama styled like Indian truck art that I made to promote my studio's Diwali film service, took 549 generations and 5,127 credits. Nano Banana Pro images make up 84.5% of that stack and Seedance 2.5 video 14.4%, with everything else under 2%. That split is deliberate. Most credits don't go on the shots you use. They go on retries, usually because a face drifted or a set moved between cuts. These are the eight habits I've picked up making films on Seedance 2.5, and each one gets me to a usable take sooner.
1. Lock every asset before the first video
Images are cheap and video isn't, so I settle everything as stills first. Every character, outfit, location and prop gets saved as a named reference (@hero, @office), and I use the same names in Claude and in my Seedance 2.5 prompts, so the prompts Claude writes paste straight in. Each film lives in one project with four folders: CHAR, PROPS, LOCATION and SCENES.
A face gets generated once, in close-up, and that image never goes through a model again. Anything that changes later, like dirt, a wound or a different state, gets masked in around it, so the identity holds from the first shot to the last.
Here are three of the locked character sheets from Kahani Har Office Ki: Bittu, Rohan and Savitri. Each one shows a front view, a back view, a face close-up and a detail.
Bittu character sheet: front, back, face close-up and ID card detailRohan character sheet: front, back, face close-up and name badge detailSavitri character sheet: front, back, face close-up and name badge detail
2. One character sheet per wardrobe
Every character gets their own sheet, and so does every wardrobe they wear. If a character has two outfits in the film, I make two separate character sheets: same face, different clothes. Babli in her office kurti and Babli in her Diwali saree are two sheets. In each shot I attach only the sheet that matches the scene, so the model never has to guess which outfit belongs there, and a costume change never puts the face at risk.
Babli's office sheet: lilac chikankari kurti with ID lanyardBabli's Diwali sheet: marigold Banarasi saree with pink and gold border
I also give the model the whole outfit. If the trousers come out cropped on the sheet, I fix the sheet before it goes anywhere near video, so the model has less to invent.
3. Fix with an edit, not a re-roll
If one detail is wrong, I edit the image and leave the rest alone. An unreadable sign, an outdated prop or a stray object in a wardrobe sheet is a one-line edit, not a new generation. When a plate comes out in the wrong colour, I have Claude turn the grade I want into HEX codes and recolour the frame without moving anything. When a set needs different light, I relight the approved image instead of generating a new room.
The rule: say what must stay the same, then name the one thing that changes.
4. Direct a task, not an emotion
Performance retries are the biggest hidden cost. A note like "look nervous" gives the model nothing to play. I use an acting skill in Claude that rewrites every character note as GOAL, MOTIVE, OBSTACLE and TACTIC. The character isn't nervous: he's trying to convince someone he's fine, and he keeps checking their face to see if it's working.
Before I generate, I check four things:
●Is the tactic an active verb rather than an adjective?
●Is there one small involuntary detail, like a late blink or a held breath?
●Does the obstacle explain why the face looks that way?
●Could a real actor play it?
5. Solve the space before you generate
Seedance 2.5 doesn't remember where anyone stood in the last shot, so I lock the space in the prompt: who stands where, how far apart, which way they look, where the camera sits. For tricky blocking I rough it out in Blender first and paste in the numbers. The frame below has nine characters. Without a positions lock, they'd swap places between cuts.
High-angle shot of the full Kahani Har Office Ki team gathered in the decorated office
6. Get more out of every generation
One prompt often gives me several usable moments, so I cut the best bits from different takes together instead of chasing one perfect take. If I like a clip but need more of it, I extend from its last frame rather than generating it again. And when the action already works but I want new angles, I attach the approved take as a video reference and ask for fresh coverage.
Some of the saving happens in the edit. I cut the main dialogue first, so I know exactly which B-roll I need before I generate any. I lock the performance before I audition voices with a voice changer, which costs almost nothing. I cut like documentary coverage, which keeps shots short and steers around what video models do worst: long continuous action. And if a place shows up only once, I describe it in the prompt instead of building a reference for it.
7. Draft at 480p, finish at 1080p
Every idea gets tested in Seedance 2.5 Draft mode at 480p. Only the take where the acting and the shot both work gets rendered at 1080p. Before I try again, I decide exactly what I'm changing. A retry with no new instruction is just paying for another coin flip.
8. Write every prompt to one structure
Seedance 2.5 only sees the prompt in front of it, so "same as before" means nothing. Every prompt on Kahani Har Office Ki uses the same blocks in the same order, with character descriptions, voice profiles and the look pasted in word for word.
The blocks, in order
Scene context. What happens, who wants what, how it ends.
Active references. Each reference and exactly what it controls: "for face, hair, skin, build and height only; ignore the clothing."
Positions and eyelines. Who stands where and which way they look, on one fixed axis.
Format. Number of shots and the exact cut points. No fades.
Look. The style in one line. Here, 2000s Indian TV soap camerawork.
Action timing. Per shot: time range, lens and camera in numbers, beats down to the blink.
Performance. What the character wants, what sits underneath it, how the eyes move.
Physics. Weight and follow-through: head turns, jewellery settling, fabric moving.
Lighting. Sources and direction, identical across shots.
Audio. Voice profiles, timestamped lines, silence for everything else.
Positive constraints. The rules that have to hold, stated again.
Anything critical goes in more than one block, and anything that must be perfect gets its own lock, like a POSITIONS LOCK or a LAPTOP SCREEN LOCK.
Directing the voice
Each voice is locked twice: a reference audio clip, plus a written profile covering age, register, accent, pacing and temperament, pasted unchanged into every shot. The manner goes on the line itself ("slow, grand and low", "quiet, cold and final"), and every line gets a timestamp and says who it's aimed at.
Tricky words get spelled out. When Savitri mangles the studio's name, the prompt says DREEM-steed, rhyming with "need". Everything else stays silent: no music, no effects, no subtitles, and closed lips for anyone who isn't speaking. Sound design happens in the edit.
A real prompt from Kahani Har Office Ki
This is the verdict scene: Savitri silences Dev Rani and hands the call to Rohan. One prompt, four shots, four lines. It continues straight from the previous clip and locks every character's position and eyeline.
And this is what Seedance 2.5 gave back from that prompt:
The verdict scene from Kahani Har Office Ki, generated from the prompt above
The short version
●Lock everything as stills before any video.
●Make one character sheet per wardrobe, so the face never changes.
●Edit the detail instead of regenerating the frame.
●Direct the tactic, not the feeling.
●Draft at 480p and render only the keeper at 1080p.
●Write every prompt to the same structure, and repeat what matters.
●Reuse every second you've already paid for.
The proof: old workflow vs new
BALI, my five minute folk horror short, was made before I worked this way. Kahani Har Office Ki runs 2 minutes 45 seconds and was made with everything above. They're different films and different lengths, so this isn't a perfect comparison. Measured per finished minute, though, the gap is hard to miss.
BALI (old workflow)
Kahani Har Office Ki (new workflow)
Runtime
5:00
2:45
Credits spent
12,749
5,127
Credits per finished minute
2,550
1,864
Per finished minute, Kahani cost 27% fewer credits than BALI: about 1,864 against 2,550. Most of that gap is retries I never had to pay for.
The full project, with the final film and all 549 generations behind it, is here: Kahani Har Office Ki
BALI is a five-minute folk-horror short I made on my own with AI. This post is the nuts and bolts of it: how I kept the main cast and a whole line of undead kings looking like themselves, how I built three locations that survive any camera angle, and how four of the hero shots were put together.
BALI — the finished film
The project in numbers
5 min 19 s runtime · 3,625 generations · about 30 GB of assets · one person · one project
Model
Used for
Share of generations
Nano Banana Pro
Casting sheets, face plates, location plates, anchor frames
95.4%
Seedance 2.5
Narrative video, multi-shot sequences
2.9%
Kling 3.0
Close performance shots
1.0%
Wan 3.0
Close performance shots
0.3%
Soul (Cast and V2)
Early character tests
0.3%
Seedance 2.0
Early video tests
0.1%
If you take one number from this, take this one. Roughly 19 out of every 20 generations were stills. Video is where the credits go, so I tried to solve every problem with an image before a video model ever saw it.
Keeping every model in one workspace helped more than I expected. Sheets, saved references and video takes sat in the same place, and nothing had to move until the edit.
In this post:
●Casting sheets that hold a face
●One job per reference
●The shot-brief structure
●Four hero shots
●Fixes for drift
●What I'd change now
Before You Start
The whole film is reference-locked, and I always worked in this order:
Casting sheets and face plates, saved as reusable references
Location plates, saved as reusable references
One approved anchor frame per setup
Every shot generated against those
Three rules
●One face source per character. Give the model two and it blends them, and you end up with his cousin.
●One job per reference, and say what to ignore. Most of my drift came from two references fighting over the same thing.
●Don't reuse a finished frame for a new angle. It brings its lighting and staging along with it.
Stage 1: The Characters
Every character has a casting sheet for build and wardrobe. The main cast also have a face plate, which is only for the face. Both are saved as reusable references, and in video prompts they never do each other's job.
1.1 Anatomy of a casting sheet
All my sheets follow the same sections, in the same order:
Section
What goes in it
Session framing
Camera or film stock, lens, "unretouched"
Layout
Which view goes in which frame
Lighting
One setup, identical in every frame
Subject
Age, origin, background
Build
Height, frame, posture
Hair, face, eyes, teeth, skin, age
One block each, physical and specific
Wardrobe and accessories
Item by item, with fabric, fit and wear
Film character
Grain and colour response
Consistency
"Same person, same session, same clothes, same light"
Negative
Every drift I'd seen, named one by one
Four things made the biggest difference.
●Describe a real photo session. Writing "35mm camera test, Kodak Portra 400, Noritsu scan, unretouched" gets you real skin and grain. For Vikram I described a digital session instead (Sony A7R V, 85 and 50mm, f/5.6), which gives him a colder, more polished look.
●Insist on a true full body. Head to toe, both feet on the floor, space above and below, and a contact shadow. Leave any of that out and the feet get cropped.
●Give each character one defining feature. Vikram's moustache, Hannah's freckles, Jay's hazel eyes. It's the first thing I check in every take.
●Add one tiny marker. Vikram has a 3 mm mole on his jaw. If it moves, I know the face has drifted.
1.2 Jay
Jay is 33, Indian-American, slim, and lives in oversized clothes. Here's his sheet prompt, condensed (Nano Banana Pro):
1.3 Hannah, in three stages
Hannah's look changes as the story goes on, so she has five images across three stages. I built each stage from the sheets before it rather than starting fresh, and each one became its own saved reference.
Stage A: arrival. She's 27 and Korean-American, with freckles, amber tortoiseshell glasses, a messy bun, a sky-blue overshirt and wide cream trousers. Because her heritage is mixed, the subject block spells out exactly how it shows: Korean bone structure, with her North Indian father coming through only in her warm colouring and fuller brows. The negatives rule out every other reading.
Stage B: the white sari. This prompt starts with her face and points at one specific panel of the stage A sheet, the bottom-right front view without glasses. Then almost everything else changes. Her hair is loose and down to her shoulders, she looks exhausted, and the plain white sari is badly worn and dirty at the hem. A long "no colour" list (no red, no sindoor, no stains) keeps it clean, which matters for the next stage.
Stage C: the bride's red. This was the hardest sheet in the film. It's built on a reference map, four inputs with one job each:
There are two reds here, and the prompt separates them by material rather than by colour. The powder on her forehead is dry, opaque, matte and grainy, with a ragged edge. The dye on the sari is wet, glossy and see-through. It's poured from above, so about 70% of the sari is red, fading out towards a white hem. On her skin it's a thin wash, and you can still see her freckles through it.
Image 4 comes from a finished hero shot. The marking happened in video first, and then I updated her sheet to match it, so every shot after that carries exactly the same mark.
1.4 Vikram
Vikram is 34, Rajasthani old money, educated abroad. I described his sheet as a digital session so he'd read colder than the couple. His moustache gets a whole block to itself: thick, oiled, swept up past the corners of his mouth, "the one thing about him that has not been Westernised." He wears an oatmeal bandhgala over emerald silk, white trousers, olive suede loafers, an inherited watch and a worn signet ring.
He has two looks, so three images: the bandhgala sheet, his face plate and a sheet in black Indian attire.
1.5 The undead kings
There are five sheets, one per king. Each king was designed on three dials: the era he ruled in sets his costume and armour, how long he's been dead sets the decay and the layering of the ooze, and whether his reign was peaceful or at war sets his build. Here's a condensed sample, the War-Captain King, who has been dead for about 340 years:
Three things in there I'd reuse on any project. The ethnicity lock on the face is there because the model kept drifting undead faces towards European ones. The two layers of ooze let a single image say "centuries dead". And "falling apart but never holed" ages a costume without tipping it into gore.
Stage 1b: The Locations
Each location lives on one multi-angle sheet, saved as a reusable reference. Four or six views in one image means a single reference slot carries the whole layout of the place.
Two rules for every location sheet
●Keep it empty. No people, no fire, no props from a scene. Those get added shot by shot.
●Make it readable. Light the sheet so you can actually see the architecture. The mood can come later, from the shot prompt or a separate light reference.
The sacrifice ground
This one took two steps.
Step one: the mood plate. A Rajput fort precinct swallowed by jungle, at night, lit by moonlight coming through the trees. What made it work was one idea: the fault in the bedrock was there first, and the builders built around it out of respect. So the masonry is perfect right up to a dressed edge, then there's raw rock, and then the hole. Two square platforms hang out over the drop with no railing.
Once the model is told the fault came first, it keeps the stonework intact. Without that, you tend to get cracked paving and rubble. The negatives back it up with no broken steps, no rubble and no straight-edged pit.
Step two: the survey sheet. With the mood plate attached, I asked for a bright 2x2 survey of the same place:
The night look goes back in when I generate the shot. If the reference is dark, the model can't see the geometry, and honestly neither can you.
The stepwell
The stepwell carries the last act, so it got the most detailed sheet: six cells, starting with a wide from the hillside and ending at knee height at the bottom of the well, each with its own lens. All six cells share one description of the place. It's 38 m across, eleven storeys and about 30 m deep, with pink sandstone at the top, pale grey steps below, a waterline scar six storeys down and black sludge at the bottom. I repeated "no water anywhere" more than once, because the model really wants to fill a stepwell.
The Hotel Lobby: when the sheet has to be built by hand
I couldn't get one generation to keep the dome, the double staircase, the painting, the fountain and the ledger consistent at the same time. So I generated them separately, stitched the sheet together in post and matched the stone, light and colour by hand. The finished composite went back in as a saved reference.
The cells cover the rotunda wides, the dome and oculus, reception, the seating area, the painting and two close-ups of the ledger.
A generation is where a sheet starts. Cropping, stitching and painting things out are part of the job, and the time comes back to you in every shot that uses the sheet.
Stage 2: Writing the Shot Briefs
Every video prompt in BALI is a sectioned brief, often longer than 1,000 words. I wrote them with plain Claude and pasted them into the video tool.
What I gave Claude for each shot
The shot's intention
The reasoning, and the feeling it should leave
The expected visuals
One line per reference and its job
The references themselves, attached
Before generating, I read each brief against the saved references to catch anything that didn't match.
The sections
The sections never change, and each one has a single job:
Section
Its job
STYLE
Camera, lens, grade, grain; what it must NOT look like
SCENE CONTEXT
Length, resolution, aspect, frame rate, shots and hard cuts
ACTIVE REFERENCES
Each reference and the one thing it controls
The special element
Whatever must behave correctly: dancers, water, ground, powder
TIME AND LIGHT
Time of day and light, identical across shots
SHOT 1, SHOT 2 ...
Timecoded, one camera move and one beat each
PERFORMANCE
How people move and react
CONTINUITY
What must match shot to shot
PHYSICS
How cloth, water, powder or bodies behave
TECHNICAL
Frame rate, motion blur, no stutter, no warping
AUDIO
What is and isn't on the track
CONSTRAINTS
The hard "no" list
POSITIVE LOCKS
The key rules, restated at the end
The end of a long prompt seems to get as much attention as the start, so I restate the most important rules there.
Reference rules
This is the heart of the method. Every reference gets one job, and the prompt says what to ignore:
A few patterns kept coming up:
●Build from the sheet, face from the plate.
●Architecture from one image, light from another. The stepwell sheet is in daylight, but the flood happens before dawn.
●"Ignore the grid." Leave that out and you sometimes get a split screen back.
●Wardrobe can be overridden. At the pool, the sheets set everyone's build, the prompt sets the swimwear and the plates set the faces.
Anchor frames and frame locks
For hero shots I first make a single still with Nano Banana Pro from the same saved references, to settle the angle, lens, light and composition. Once I'm happy with it, it goes to the video model in one of three ways:
●As the exact first frame: "Begin from this frame."
●As the first and last frame: "End on this frame." I did this for the marking.
●As a waypoint: in the nightmare, the anchor "approximates the framing the camera arrives at near the END of shot 1."
Audio is planned per shot
Every brief says what should be on the audio track. Most say "NO MUSIC, SFX only", and the pool scene is dialogue only. The score went on in the edit, which kept the clips easy to cut.
Stage 3: Four Hero Shots, Broken Down
These four came out close to what I asked for, so the prompts explain them pretty well.
Hero shot 1: the marking
A kneeling woman is marked with red powder by a man standing behind her, who then turns away. Six seconds, one locked-off take in slow motion, Seedance 2.5.
Reference
Its one job
Image 1
The exact first frame
Image 2
The exact last frame
Image 3
Hannah's face, zero drift
Image 4
His costume and build (his head is never in frame)
The timing is written in seconds, and each beat starts as the previous one ends:
The line that made this shot work was about slow motion. Just asking for slow motion gave me a slow, hesitant actor. So the prompt says the action is performed at full force and real speed, filmed at a high frame rate and played back slowed down. The negatives then rule out both a gentle touch and a strike.
The powder has its own physics block. It's dry and matte like flour, it bursts into a cloud and falls in clumps, and it's never liquid, blood, orange or pink. That's what keeps the moment feeling like a ritual instead of gore.
First frame
Last frame
Hero shot 2: the stepwell rises
The dry well floods from below, from a seep to a surge. Twenty seconds, five hard cuts, going from macro to full wide, Seedance 2.5.
Reference
Its one job
Image 1
The stepwell reference: architecture and materials only. Ignore its daylight, sky and grid
Image 2
Cold pre-dawn light and colour only. Ignore anyone in it
Three things hold it together.
●The floor is described as a material. "NOT a stone pavement. It is wet murky soil." That gives the water something believable to come up through.
●Escalation is written as a rule. "Every shot moves faster than the one before it." Then each shot describes its own pace.
●It ends mid-motion. The water never settles, because the shot has to cut into the next sequence.
The physics block allows a supernatural speed but asks for real matter, with weight, silt and foam only at the leading edge, and no jets or waves coming in from the side. The audio is effects only, with a roar that's still climbing on the last frame.
Hero shot 3: the arrival
Jay and Hannah walk into the rotunda through a crowd of spinning dancers. Ten seconds, two shots, slow motion, Seedance 2.5.
The full prompt, as I pasted it into the video tool:
Crowds fall apart easily, so the dancers have rules. Each one holds her pot in one hand only, and nobody touches the fountain or the ring of marble around it.
The two shots are deliberately opposite. The first looks straight down from the dome, so the skirts turn the star inlay on the floor into a mandala. The second glides along with the couple at chest height, with dancers blurring past in the foreground. I also ruled out staff, drinks and Vikram, who isn't in this scene.
Hero shot 4: the nightmare
Black, elongated hands rise out of the ground, pin Jay down, wake him and pull him under. Twenty seconds, three shots, Seedance 2.5.
It uses more references than any other shot in the film:
Reference
Its one job
Image 2
Character, ground, light and grade for shot 1, and the framing the camera arrives at near its end
Image 6
Jay's face. Ignore its backdrop and layout
Image 1
Jay's build and proportions. Ignore its backdrop, poses and layout
Image 5
Main staging for shot 2: the side angle, the hands emerging
Image 4
Secondary staging for shot 2: the hands closing on his body
Image 3
Staging for shot 3: the mass of hands closing on his face
The staging references are stills I made of each shot's key moment, so the model can see where every shot is heading.
The most important block is about continuity of action:
Without this, a timeline tends to play out like a list: hand, pause, hand. This block asks for the hands to keep coming the whole time.
Two more rules matter. The ground behaves two ways, solid under Jay and liquid only where a hand breaks through. And the liquid is molten metal, heavy and stringy, with no splash. I also left the camera rotation in shot 1 unfinished at the cut. The audio is a single tone that rises from 4.5 seconds and then drops to silence.
Stage 4: What Broke Consistency, and the Fixes
The biggest lesson from the whole project is that structure matters more than length. Writing every shot as a sectioned brief improved my hit rate more than any amount of extra description.
Problem
Fix
Two references defining one face
One face reference per character
Finished frame reused for a new angle
Go back to the sheets and plates
Grid references return split screens
"Ignore the layout"
Cropped feet on sheets
Spell out head to toe, feet on the floor
Faces drifting generic
Explicit bone structure, wrong readings in negatives
References competing on light
Architecture and light from separate references
Location plates too dark
Bright survey sheet; mood in the shot
Small details flickering
Lock them in CONTINUITY and POSITIVE LOCKS
Sheets that won't come out in one go
Generate cells separately, stitch in post
Two habits sit behind all of these:
Fix it in the still. That's why 95.7% of the generations were images.
Give every problem shot its own folder. Shot 72 alone has 232 assets.
Stage 5: Edit, Grade and Sound
Post was fairly simple, because most of the work was already in the references.
Edit and grade: all in After Effects, including camera shakes, which I added only to the few shots where the story needed them.
Layer
Source
What it covers
Production sound
The video model's native audio
Dialogue with lip sync, and each shot's written effects
Score
Suno
All the music
Extra effects
Licensed stock audio
Anything the generated audio didn't cover
Since every brief defined its own audio and none of it had music, the clips came in clean and I could time the score properly in the edit.
What I'd Change Now
All of BALI's prompts came from plain Claude. If I made it again, I'd change three things.
1. Give the LLM a skill, not a fresh explanation every time
I'd stop explaining the sections and rules from scratch for every shot. These days I use skills, saved instructions the LLM loads before it starts, which hold the structure, the vocabulary and the reference rules. Then I only describe what's new in each shot.
2. Direct the character's intent, not every second of their action
In BALI I choreographed performances second by second. That got me the actions, but not always the performance.
I've found the models act better when you tell them what the character is feeling, what they want and where the scene sits in the story.
Here's the reaction beat from the marking, written both ways:
I still keep exact timings for cuts, camera moves, first and last frames, and physics. The intent part is for the people in the shot.
3. Show the face in only one cell of a full-body sheet
In BALI the face shows up in every panel of the full-body sheets. That hands the video model several faces at slightly different angles and in slightly different light, even with a face plate attached.
Now I keep the face in one cell only. In the other full-body cells it's cropped out or turned away, so the sheet covers build, posture and wardrobe, and the face plate is the only real face reference.
Final Thoughts
There wasn't one perfect prompt behind BALI. What made it work was locking down everything that couldn't change, giving every reference a single job, and doing most of the work before anything moved. The models will keep changing, but I think that approach will hold up.
If you try any of this, I'd really like to see what you make.