Shotkit / Example / 15s 9:16 social ad
Harbor Roast: a 15-second 9:16 ad for a new roast
Fictional brand.Harbor Roast was made up for this example. It is not a client and not a real company.
- Brand
- Harbor Roast (fictional)
- Format
- 15s 9:16 social ad
- Shots
- 5
- Prompt rounds
- 2
- Run date
- 2026-09-26
- Shotkit
- 3.0.0
- Generators
- Flux, GPT Image, Hailuo, Ideogram, Kling, Midjourney, Nano Banana, Seedance, Seedream, Veo
shot_01ACCEPT
shot_02ACCEPT
shot_03ACCEPT
shot_04REVISE
shot_05ACCEPT
01 / The brief
The brief, as typed.
15-second 9:16 Instagram ad for Harbor Roast's new fall roast, Fog Line. No voiceover. Use brand/harbor-roast.md as the brand lock.
Shotkit wrote the storyboard, the shot specs and the on-screen text from this brief and the brand lock below.
02 / Brand lock
The brand, frozen for this run.
Every prompt and every critique in this run was written against this palette and this type.
Palette
- #1C1510
Background
Dark roast brown, primary canvas
- #F2E8DA
Ink
Cream, primary text on dark
- #D9822B
Accent
Amber, the one accent, one element per frame
- #9C8B78
Muted
Driftwood grey, secondary text and captions
- #3A2E25
Rule
Char, borders and dividers
Type
- Display font
- Fraunces SemiBold 600
- Body font
- Work Sans Regular 400
03 / Preview
The preview Shotkit wrote.
The run’s preview.html: every shot, its frame, its on-screen text and its verdict, in one file you can hand to an editor.
04 / Shot plan
The shots, from shots.json.
5 shots across 15 seconds at 9:16, on the hero-trilogy beat framework.
| Shot | Time (s) | Beat | Framing | Angle | Motion | Subject |
|---|---|---|---|---|---|---|
| shot_01 | 0.0 to 3.5 | world | CU | eye-level | static | one plain stoneware cup of black coffee on the walnut sill of a fogged window, cup in the lower-right third, grey fog in the glass filling the upper two-thirds, no person in frame |
| shot_02 | 3.5 to 6.5 | hero | MS | low | push | the drum roaster door open and dark beans pouring into the round perforated cooling tray, the stirring arm turning, a thin plume of roast smoke, gloved hands at the tray edge lower-left, the sight glass glowing as the single accent, upper third clear |
| shot_03 | 6.5 to 9.5 | hero | ECU | overhead | static | freshly roasted dark beans heaped in the perforated steel cooling tray, a faint oil sheen on some beans, the stirring arm blade crossing the lower-right, beans filling the lower two-thirds and falling off into shadow in the upper third |
| shot_04 | 9.5 to 12.0 | transformation | MCU | eye-level | static | roaster seen from behind at the fogged window, holding a plain stoneware cup in both hands at chest height, back of the head and shoulders soft, figure in the lower-right, upper-left open |
| shot_05 | 12.0 to 15.0 | transformation | CU | eye-level | static | one plain unprinted kraft paper coffee bag with a folded top standing on the walnut counter beside a small stoneware cup, both in the lower third, the dark roastery soft behind, upper two-thirds dark and clear |
05 / Frames and verdicts
What the critic said, shot by shot.
The frames were made in an image generator from Shotkit’s prompts. Shotkit’s critic checked each one against its shot spec and the brand lock. 4 of 5 shots ACCEPT, 1 still REVISE, after 2 rounds.
Verdict by shot
- shot_01R1ACCEPT
- shot_02R1ACCEPT
- shot_03R1REVISER2ACCEPT
- shot_04R1REVISER2REVISE
- shot_05R1ACCEPT
See every round, frame by frameHide the rounds
Round 1
shot_01ACCEPTThe cup sits lower-center (about 43 to 88 percent across), not in the lower-right third the spec asked for. The upper third is still empty, so text_01 has its space.
shot_02ACCEPTA small brass nameplate beside the sight glass carries tiny pseudo-text glyphs. Not legible words, but it is a label.
shot_03REVISESpec is an ECU looking straight down. The frame is a high-angle medium shot of the whole tray with the roaster and the window behind it, so it repeats shot_02 instead of cutting in.
shot_04REVISEAt full resolution the camera is three-quarters behind, not directly behind: the ear, cheek, beard and jawline are visible at the right edge. The never list keeps people to hands or from behind, and the spec says the face is never seen.
shot_05ACCEPTThe bag top sits at about 43 percent of frame height, so the objects fill the lower half rather than the lower third. text_06 at y 36 would sit just above the bag top.
Round 2
Why this round ran: shot_03 came back REVISE on Shot Spec (high angle, not overhead ECU) and Composition (no dark field for text_03); shot_04 came back REVISE on Brand Lock (cheek and beard visible). shot_01, shot_02 and shot_05 were ACCEPT with post notes.
shot_03ACCEPTThe top 5 percent of the frame is the lit tray rim and a pale, out-of-focus shape above it (mean about RGB 90,88,74), and the bottom edge shows the tray lip and machine parts below it. The prompt asked for no roaster in frame.
shot_04REVISEThe face rule still fails. At full resolution the whole ear is visible, with the edge of the cheek and beard stubble along the jaw. The head is turned toward the roaster, not fully away. This is the round-1 failure, reduced but not cleared.
06 / Run this yourself
The same brief, on your machine.
Install Shotkit, restart Claude Code, then type the brief below into a session.
git clone https://github.com/whystrohm/shotkit.git
cd shotkit && ./install.sh15-second 9:16 Instagram ad for Harbor Roast's new fall roast, Fog Line. No voiceover. Use brand/harbor-roast.md as the brand lock.A model writes the plan, so your storyboard will not match this one word for word.
New to Shotkit? Start with the install guide and the quickstart. The source is on GitHub.
Other examples
- Ridgeline Electric (fictional brand), 30s 16:9 explainerRidgeline Electric: a 30-second 16:9 explainerA 30-second explainer for a fictional electrician on booking a panel upgrade. One shot went three rounds and still carries printed marks, so the gate holds it at REVISE.
- WhyStrohm, 15s 16:9 launch filmWhyStrohm launch filmA 15-second launch film for WhyStrohm, planned with WhyStrohm's own brand pack. Two shots went back for a second round before the critic accepted them.
Want it built and run for you? Apply for a free reel