The Shot List Is Priced Before The Shoot
Execution·Framework·7 min read

The Shot List Is Priced Before The Shoot

One file is 91,211 bytes and it holds 39 rows, ids 01 to 39 with no gaps. Every row carries all 3 of the things a shot needs before it is worth rendering: a still prompt, a video prompt and a reference URL. 78 prompt fields, 0 punctuation marks between them, 12,456 words of instruction for 252 declared seconds. 30 rows are priced at 7 seconds, 5 at 6 and 3 at 4. The delivery side then reads 5 sibling logs, 39 of 39 stills and 31 of 39 clips. 8 rows never landed, and they are worth 53 seconds. The price was set in the table, not in the edit.

01

Ninety One Thousand Two Hundred And Eleven Bytes Across Thirty Nine Rows

The file is a single JSON document of 91,211 bytes. It holds 12,934 words spread over 314 lines, and its sha256 hash begins 0320a6cc2775024b. Underneath those numbers sit 39 rows, carrying ids 01 through 39 with no gap anywhere in the sequence. Each row repeats the same 6 keys: an id, a subject label, a duration, a reference image and 2 prompt fields. That is 234 cells holding 1 production. The whole plan for 252 seconds of film fits in 91,211 bytes, which is smaller than a single still frame out of a phone camera. Nothing about this file is a note. It is the price list. Before a camera rolls, the run length of every shot is already written down, the subject of every shot is already labelled and the anchor image every shot has to match is already chosen. Read it cold and the film does not exist yet. Read it as a ledger and 252 seconds have already been committed.

02

Thirty Nine Rows And All Three Fields On Every One

A shot is not ready to render until 3 things are settled: what the still looks like, how the motion behaves and which image the render has to match. This file carries all 3 on 39 of 39 rows, and 0 rows arrive with a blank in any of the 3. The still prompts total 6,079 words, running from 125 to 263 words per row. The video prompts total 6,377 words, running from 132 to 250 per row. Add the 2 fields and 12,456 words of instruction were written for 252 seconds, which is 49.43 words of specification for every second of intended runtime. There is a second detail in these fields that is easy to miss. Across all 78 prompts there are 0 full stops. Not 1. Each prompt is a single comma run, which is what a render prompt actually is. The same 78 fields carry 165 instances of the word no: 4 to 7 per row, naming what must not appear. Those negatives were priced in too. A field that names 5 forbidden things is doing more work than a field that names 1 forbidden thing, and the count is visible before anything renders.

03

The Durations Are Three Settings And Not A Spread

38 of the 39 rows declare a duration and 1 row is blank. The 38 do not spread across a range. They sit on 3 settings: 30 rows at 7 seconds, 5 rows at 6 seconds and 3 rows at 4 seconds. 30 of 38 is 78.95 per cent of the film on a single number. That is not a shooting ratio. It is a format decision made once and applied thirty times, and it is the reason this table can be priced at all. Now add it: 30 rows of 7 seconds is 210, 5 rows of 6 is 30, 3 rows of 4 is 12, which is 252 seconds exactly. 4 minutes and 12 seconds of film agreed in a spreadsheet, with 1 row left open. An edit cannot renegotiate 252 seconds. An edit can only choose which of the 252 survives. Every argument about pace, length and cost was settled the moment the 30 sevens were typed, and the only thing the shoot can still change is how well each one was got.

04

Thirty Nine Rows Anchored On Two Images

The reference column is the sharpest number in the file. 39 rows point at 2 distinct reference URLs. 26 rows carry the first and 13 carry the second. 2 images are being reused 39 times, and every one of those rows hands the render an anchor it has to match. The subject labels split 25, 13 and 1 across 3 recurring labels, so the cast is fixed before the first frame exists and the count per label is fixed beside it. This is what makes a list a contract with 1 face. A still is not a picture in this workflow. It is an identity anchor: the render is being asked to produce 39 frames that all agree with 2 reference images. Change a reference image after the fact and 26 rows move with it. That is the leverage a shot list holds and a mood board does not. A board suggests. A reference column commits, and the commitment is countable at 2.

91,211 bytes. 39 rows. Ids 01 to 39, no gaps.

05

Thirty One Clips Landed And Eight Did Not

The delivery side of this production is spread across 5 sibling logs holding 22, 7, 5, 8 and 39 rows. Read them together and the union covers all 39 shot ids, so nothing in the file was forgotten. Read them apart and the real position shows. Stills exist for 39 of 39 rows. Clips exist for 31 of 39. The 8 rows without a clip are 28, 29, 30, 31, 32, 33, 37 and 38, and they account for 53 of the 252 declared seconds, which is 21.03 per cent of the film still missing a moving frame. 199 of the 252 seconds came back as files. 11 logged clip entries carry 72,070,319 bytes in total, which is 6,551,847 bytes per clip and 362,162 bytes for every second of finished motion. The failures are written down as well: 1 render was refused with the words insufficient balance, and 1 clip failed with a malformed error payload carrying a stray character inside its own id. Both are in the log, on a row with a number, next to a duration. A missing shot in this system is not a feeling. It is 8 ids and 53 seconds.

06

Why The Price Belongs Before The Frame

Two numbers decide whether a production was priced or merely shot: the seconds declared in the table and the seconds delivered as files. Here they read 252 and 199. The gap is 53 seconds, and 53 seconds can be named, funded and rendered because the table named them first. That is the whole argument. When the run length exists before the shoot, a missing shot is a line item. When it does not, a missing shot is a discovery in the edit, and by then the crew, the location and the light are gone. The same arithmetic appears in every industry that ever learned it. Entrade built 200 wood gasification machines across the UK and Europe on the rule that the second unit has to cost less than the first, which only works if the first unit was specified to the part. A shot list is that specification for a film, and the tell is always the same 3 numbers: how many rows, how many seconds, and how many of those seconds came back as files. The probability that a plan this complete gets mistaken for finished work is not small, because 39 rows with 12,456 words of prompt read like a production that happened. The check is 2 cells wide. 39 rows, 31 clips. The shot list is priced before the shoot. Keep more of yourself, for longer.

39 of 39 rows carry all 3. 0 rows arrive half-specified.

The map is dead. Nobody told you.

Bali State of Mind is the survival guide for the collapse of everything you were taught to believe.

Beyond this book

Building the same thing somewhere else.

Julien Uhlig is available for advisory work, board seats and media appearances. Write to media@exventure.co.

The academy that trains the operators, across every company in the group, is EX Epic Academy - 25,000 applications, 25 seats per cohort, 210 alumni across 19 countries. academy.epicsolutiongroup.com

EX-AI Summit 2026

18-20 November. Online, Las Palmas, Bali.

Three days on what happens to work, capital and institutions when the map stops matching the ground. Seats are limited by cohort.

ex-aisummit.com →