Reference ad breakdown: seven fields per frame

· production figures, recalled

The figures in this article are listed in our data index, with what each one was measured from and when.

Some links on this site are affiliate links. If you sign up through them we may earn a commission at no extra cost to you.

A reference ad is only reusable if you can state what it does. We read every reference frame into the same seven fields: scene, subject, shot size, composition, light, camera move, and on-screen text.

The rule that makes the output composable is one frame per call, one fixed template. Put six frames in one prompt and the answers start describing the set instead of the frame, which is the one thing you cannot use to compare two ads.

Our tool notes record a valid structured answer on 44 of 44 frames. That is a reliability count, not an accuracy one. The rest of this piece is about the part that count does not cover.

What each field pins down

Field What it fixes What breaks without it
Scene where the shot happens each remake drifts to a different room, and the edit stops matching
Subject who or what carries the frame the product and the hand swap roles between attempts
Shot size close, medium, wide the copy no longer fits the frame it was written for
Composition where things sit: centred, split, thirds, bottom-heavy the layout gets rebuilt by luck each time
Light source, direction, hardness the remake reads as a different hour of the day
Camera move static, push, pan, handheld pacing collapses, because movement is what the cut was timed to
On-screen text the exact strings, their placement and weight you cannot tell whether type was part of the design or added after
A static ad frame with a mint green left panel and a white right panel carrying a large currency figure and a rate line
A still creative, filled through the same seven rows: scene, subject, composition, light and on-screen text carry values, while shot size and camera move are none. Running stills through the same table is what lets them sit beside video frames in one comparison.

The order matters less than the completeness. A missing field does not fail loudly; it reappears later as a remake that looks close and edits wrong.

Why one frame per call

Batching is the standard shortcut and it is the one that costs you the comparison. When several frames share a prompt, the model answers about the group. Scene words from frame two show up in the subject description of frame four. The seven fields stop being per-frame facts and become a summary of the set.

That is fine if you want a mood board. It is useless if you want to know which of two reference ads uses a tighter opening and which one holds the wide.

One frame, one call, one template. The cost is more calls. The return is that field values line up column to column, which is the only reason to fix the schema at all.

The extra calls are cheap at the scale of a reference pass. At the 25 seconds per image we measured on a current image endpoint, twenty frames is about eight minutes of wall clock, run one after another, with no queue to build.

The template

The version we use is deliberately dull. Every line has one value, and every field has an explicit escape.

Look at this single frame only. Answer with exactly seven lines. No preamble.

scene:        where this is, in five words or fewer
subject:      what the frame is about, in five words or fewer
shot size:    close-up | medium | wide | establish
composition:  centred | split | thirds | bottom-heavy | other
light:        source + direction + hard or soft
camera move:  static | push | pull | pan | handheld | none
on-screen text: the exact characters, or none

Two lines in that block do the most work. shot size and camera move are closed lists, because free text gives you “close-up”, “tight” and “MCU” for the same frame and then nothing matches. on-screen text asks for exact characters rather than a description, because a description of type is not the type.

Three ways it goes wrong

Batch calls. Covered above. The symptom is answers that read well and cannot be compared.

Free-form answers. A model asked to “describe the shot” will produce a paragraph, and the paragraph will be right and unusable. Closed lists are not bureaucracy; they are what makes two frames subtractable.

Reading the move from one frame. Camera move cannot be recovered from a still. A push and a static frame look identical at 1/25th of a second. We read this field from consecutive frames, which is what the move actually is, and the honest answer for a single frame is none.

That third one is the field we get wrong most often, and it is not a model failure. It is a schema that asks a question one image cannot answer.

How to check your own output

Run the same frame twice and diff the seven lines. Fields that change between runs are the fields where your template is still open. In our practice that is usually composition and light, which are the two fields people describe rather than classify.

For camera move, read consecutive frames rather than a sample. If you only have a still, record none rather than guessing a move.

What this does not say

It does not say the seven fields are the right seven. They come from shot-list practice, not from a study, and a different job (pacing tests, sound-led spots) would need different fields.

It does not say the count proves the reading is right. 44 of 44 means every call returned a parseable answer. It says nothing about whether the subject was labelled correctly, and we have not run an accuracy check against a human key.

It does not say batching is always worse. We have not measured it. The claim here is narrower: batching changes what the fields describe, and that change is what we avoid.

Method

What we are working on next

Build the human key. Twenty frames, read twice by a person, then scored field by field. Until that exists, the schema is a tool we trust rather than one we have tested.

Separate the fields that describe from the fields that judge. “Light” is observable. “Cinematic” is an opinion wearing the same clothes, and it does not survive being handed to a second reader.

Find how sparse the sampling can get. Reading camera move from consecutive frames is the reliable way and also the expensive one. We have not measured how many frames can be dropped before a slow push stops reading as a push.


← All articles