CraonnBack to site

Free blueprint

The bullet reel, shot by shot.

The full prompt behind the reel: every timing, caption, voiceover line and sound cue. Use it as a brief in any tool, or hand it to your editor.

Want more breakdowns like this?

Leave your email and we'll send you the next ones. You'll also get a spot on the Craonn OG list.

No spam. Unsubscribe anytime. See our Privacy.

bullet-reel.prompt.md
# Bullet reel: full production prompt
> The complete brief behind the "bullet that never hits" reel.
> Paste it into your AI tool of choice, hand it to an editor, or build it yourself.
> Replace everything in `{{double braces}}` with your own brand.
---
## 0. What you are making
A 28.6-second vertical reel (1080 × 1920, 30 fps) built on one open loop:
a bullet crawls toward a product in extreme slow motion, and the viewer keeps
watching because they want to see it hit. The reel then **tells them** what just
happened ("you just watched a bullet for 7 seconds"), reveals it was never real,
turns the moment into a pitch ("now imagine that was your brand"), and only then
lets the bullet land. The hit becomes the logo reveal. The logo becomes the CTA.
**Why it works**
- **An open loop in the first frame.** A projectile and a target. The brain needs closure.
- **A visible countdown.** "Frames to impact" turns waiting into a game.
- **The viewer is made aware of their own attention.** It flatters and surprises them.
- **A delayed payoff.** The hit lands at 22 seconds, after the pitch, so people stay for the pitch.
- **The payoff is the brand.** The thing they waited for *is* the logo.
---
## 1. Global look
**Format**
- Canvas: `1080 × 1920`, 30 fps, 28.6 s (859 frames).
- Safe area: keep all text inside 60 px from the left and right edges and 130 px from the top and bottom.
**Colour**
- Background: warm cream `#F6F3ED`. Flat, no gradient, no texture.
- Ink (text, lines, logo on the end card): `#121212`.
- Secondary text: warm grey `#8D8A85`.
- Countdown "danger" red: `#C4512F`.
- Brass (bullet, a few shards): highlight `#F0C57A`, mid `#C48B3A`, shadow `#3B240A`.
- One brand accent colour, used **once**: on the button that gets tapped in the phone scene.
**Type**
- Captions: a clean geometric sans (Figtree, Inter Display or similar).
- Lead line: 40 px, regular, grey `#8D8A85`.
- Main line: 60 px, medium (500), ink `#121212`, tracking −2.5 %.
- Emphasised words: semibold (600) in the same size and colour.
- HUD and labels: a monospace (JetBrains Mono or similar), 17–22 px, weight 500.
- Countdown number: the caption sans at 112 px, **light (300)**, tabular figures.
**Camera viewfinder HUD (on screen for the whole reel)**
- Four corner brackets, 46 px arms, 3 px strokes, colour `#2B2B2B` at 85 % opacity.
Positions: top-left at (58, 134), top-right at (1022, 134), bottom-left at (58, 1786), bottom-right at (1022, 1786).
- Top bar text at y = 74 px, 22 px mono, ink colour, preceded by a 13 px red dot `#E0402A`.
**Motion language**
- Everything eases out (`cubic-bezier(0.33, 1, 0.68, 1)`); camera moves ease in and out.
- Words enter one at a time: fade from 0 to 1, rise 14 px, blur from 8 px to 0, over 0.22 s.
- Captions leave in 0.15 s, with a fade only.
- No bounces, no overshoot, no shake until the impact.
---
## 2. The two hero objects
### The can (your product stand-in)
- A matte black aluminium drinks can, 243 × 453 px on screen at the base zoom, centred at (688, 902).
- Silver top rim and bottom (brushed metal gradient: `#5C5C5C → #D9D9D9 → #8D8D8D → #FFFFFF → #4A4A4A`).
- Black body with two soft vertical highlights at roughly 7 % and 71 % of its width, so it reads as a cylinder.
- Label, all white, centred:
- your logo mark, 64 px, about a quarter of the way down;
- `{{BRAND NAME}}` in bold, 36 px, tracking −3 %;
- a tagline in tiny spaced capitals: `{{IDEA | IDEA | IDEA}}`;
- a thin hairline, then small print: `330 ML · {{EDITION NAME}}`.
- A soft elliptical contact shadow under the can (300 × 40 px, black at 38 % fading to 0).
> Swap the can for your real product if you have one: a bottle, a phone, a shoe, a box.
> Keep the silhouette simple and keep it dark against the cream background.
### The bullet
- A brass rifle projectile, 146 × 40 px, pointing right, tip on the right.
- A vertical brass gradient (dark, then bright, then mid, then dark) so it reads as metal under a top light.
- A faint motion trail behind it: a 4 px horizontal line fading from transparent to black at 13 %.
- Four very faint speed lines fanning back from its tail at ±14° and ±26° (black at 4.5 %).
- Vertical position: y = 885, slightly above the can's centre line.
---
## 3. Scene by scene
### Scene 1: The countdown (0.00 s to 7.33 s)
**Picture**
- The can sits right of centre. The bullet starts far left, with its tip about 410 px from the can.
- The bullet closes the gap on an exponential slowdown: `gap = 410 × e^(−0.6 × t)`.
It never quite arrives. By 7 s the gap is about 5 px.
- The camera slowly pushes in from 0.82× to 1.75× zoom, easing in (slow, then faster),
centred near the can's left edge (610, 900), so the gap fills the frame.
**HUD**
- Top left: `● REC 00:00:SS:FF` (a real timecode; the red dot blinks twice a second).
- Top right: `100,000 FPS`.
**Countdown block** (centred, top at y = 1372)
- A small mono label: `FRAMES TO IMPACT` (17 px, grey, tracking 12 %).
- Under it, the big light number, three digits, zero-padded.
- Values over time (interpolate between them):
| time | 0.0 | 0.5 | 1 | 2 | 3 | 4 | 5 | 6 | 6.5 | 7.0 | 7.33 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| value | 162 | 159 | 098 | 060 | 037 | 022 | 014 | 009 | 008 | 007 | 006 |
- The number turns red (`#C4512F`) once it is 25 or below.
**Sound**
- A clock tick on every whole second, getting slightly faster and louder.
- A low tension drone under it.
- At 7.0 s, a sharp hit as the music drops in.
### Scene 2: The reveal (7.33 s to 11.0 s)
**Picture**
- Hard cut back to 1× zoom. The bullet is now frozen about 7 px from the can and creeps
closer by only a few pixels over the next 15 seconds.
- The HUD top bar changes to a centred, live timer: `● watching 7.4s` (one decimal place, updating every frame).
- The countdown disappears.
**Caption** (centred block, lead line at y = 1382)
- Lead: `You` (7.2 s), `just watched` (7.4 s), `a bullet` (7.6 s).
- Main: `for` + **`7 seconds.`** (7.8 s).
**Voiceover:** "You just watched a bullet for seven seconds."
### Scene 3: It was never real (11.0 s to 13.4 s)
**Picture**
- 11.0 s: the can and bullet desaturate and wash out to light grey over 0.15 s.
- 11.15 s: a faint square grid fades in across the whole frame
(72 px cells, 1.5 px lines, black at 5.5 %).
- The can and bullet cross-fade into **line wireframes** in exactly the same positions:
- can: a cylinder made of 11 vertical lines and 13 horizontal elliptical rings, 1.3 px grey strokes;
- bullet: an outlined silhouette with 6 vertical section lines and a centre line.
- Mono annotations, 17 px, grey `#6F6C67`:
- above the can: `can.obj | 0 polygons wasted`
- left of the bullet: `projectile.obj`
- below everything: `velocity = 0.00001x | impact = never`
**Caption**
- Lead: `A` (11.0 s), `bullet` (11.2 s).
- Main: `that` (11.2 s) + **`doesn't exist.`** (11.4 s).
**Voiceover:** "A bullet that doesn't exist."
At 13.1 to 13.3 s the wireframe and grid fade out and the real can fades back in, still grey.
By 13.6 s it is back to full colour.
### Scene 4: Still here (13.4 s to 15.9 s)
**Caption**
- Lead: `And you're` (13.4 s), `still here,` (13.6 s).
- Main: `waiting` (13.6 s), `for it` (13.8 s), `to` + **`hit.`** (14.0 s).
**Voiceover:** "And you're still here, waiting for it to hit."
The picture holds. Let the line breathe. Nothing else moves except the timer.
### Scene 5: Your brand (15.9 s to 18.4 s)
**Picture**
- 15.9 to 16.3 s: the entire frame shrinks into a phone. It animates from full-bleed
to a 518 × 1062 px phone centred at (540, 1140): an 8 px near-black bezel, 66 px corner radius,
and a soft drop shadow underneath. The screen turns white.
- 16.35 s: social-feed chrome fades in on the phone screen:
- status bar `9:41` top left, `For you` centred at the top;
- like, comment and share icons stacked on the right, two thirds of the way down;
- avatar + `@your.brand` bottom left, and a thin progress bar under it.
- The can and bullet keep playing inside the phone, scaled down. It is now a post in a feed.
**Caption** (moves above the phone: lead line at y = 286)
- Lead: `Now` (16.4 s), `imagine` (16.6 s).
- Main: `that was` (16.6 s), `your brand.` (16.8 s).
**Voiceover:** "Now imagine that was your brand."
### Scene 6: The proof (18.4 s to 21.75 s)
**Picture**
- The feed swipes up (0.27 s ease in and out) through three dark screens that show
**how you make what you sell**. Four swipes in total: at 18.35, 19.4, 20.35 and 21.45 s.
- Dark screen style: near-black `#0C0C0C` with a faint accent-coloured glow in the bottom-right corner,
cards in `#1C1C1C`/`#282828` with 1 px black borders and a hairline top highlight.
- Screen A (18.4 to 19.4 s): your product's input moment.
For a tool, a request being typed character by character. For a service, a brief arriving.
- Screen B (19.4 to 20.35 s): the work happening. A 2 × 3 grid of thumbnails popping in one by one
over shimmering placeholders, and a progress bar counting from 0 to 100 %.
- Screen C (20.35 to 21.45 s): the result. A finished asset in a card, a filename and spec line under it,
and an accent-coloured primary button. A cursor glides to it, the button presses down (scale 0.93),
and the label changes to a checkmark: `Published`. **This is the only time the accent colour appears.**
- 21.45 s: swipe back to the can post.
- 21.75 to 22.1 s: the phone grows back to full screen (the reverse of the shrink).
The feed chrome fades out quickly so it never scales up large.
**Caption**
- Main only: `{{Your payoff line}}`, for example **`Built using {{BRAND}}.`** or `We make visuals people can't stop watching.`
Words at 18.6, 18.8 and 19.0 s. It holds until 21.75 s.
**Voiceover:** "{{Your payoff line}}"
### Scene 7: Impact (22.1 s to 23.8 s)
**Picture**
- 22.02 to 22.23 s: the bullet finally accelerates (easing in) into the can.
- 22.23 s: **impact**.
- A white flash over the whole frame, from 90 % opacity to 0 in 0.22 s.
- The can disappears and breaks into about 84 triangular shards spawned across its silhouette:
62 % charcoal `#262626`, 26 % grey `#9A9A9A`, 12 % brass `#B98B45`, sized 8 to 34 px.
- The shards fly mostly to the right (angles from −63° to +162°, speeds of 500 to 2,000 px/s)
with heavy drag, so they burst and then hang in the air. They spin and shrink slightly.
- The bullet becomes a thin black line (4 px) from the left edge to a small open ring (26 px radius) at its tip.
- 22.7 to 22.86 s: the line fades away.
- 22.75 to 23.12 s: the ring glides up and over to where the logo will sit, growing to logo size.
- 23.02 to 23.25 s: the ring morphs into your **logo mark** in ink: it fades in from 70 % scale
and −40° rotation to 100 % and 0°.
- 22.85 to 23.7 s: the shards fade to a faint grey and disappear.
**Sound**
- The biggest hit of the track lands on 22.2 s: a gunshot crack plus glass and metal debris.
- A short silence or a reverse swell after it.
**Voiceover (at about 23.3 s, as the logo forms):** "{{BRAND}}."
### Scene 8: The end card (23.8 s to 28.6 s)
**Picture** (centred on cream, with the HUD still present)
- The logo lockup, centred at y = 820: logo mark (148 px) + 34 px gap + the wordmark `{{BRAND}}`
in bold at 170 px, tracking −3 %.
- 23.8 s: the wordmark builds letter by letter, 0.05 s apart; each letter slides 24 px in from the left
and its blur goes from 10 px to 0.
- 24.1 s: a tagline in spaced mono capitals at y = 960: `{{IDEA | IDEA | IDEA}}`.
- 25.0 s: the CTA pill fades up 16 px at y = 1110: a 2.5 px ink outline, fully rounded,
36 px text with the keyword in bold. For example: `Comment **{{KEYWORD}}** for {{THE THING}}`.
- Optional, for platforms where links are clickable: a small mono URL under the pill at y = 1236.
- 28.33 s: hard cut to black for the last few frames.
**Voiceover (at about 25 s):** "Comment {{KEYWORD}} and I'll send you {{THE THING}}."
---
## 4. Voiceover script
One voice for every line: deep, calm, unhurried, close to the mic. No music-trailer drama.
Leave space between lines; the silence is part of the tension.
| at | line |
|---|---|
| 7.7 s | You just watched a bullet for seven seconds. |
| 11.0 s | A bullet that doesn't exist. |
| 13.45 s | And you're still here, waiting for it to hit. |
| 16.4 s | Now imagine that was your brand. |
| 19.0 s | {{Your payoff line}} |
| 23.3 s | {{BRAND}}. |
| 25.0 s | Comment {{KEYWORD}} and I'll send you {{THE THING}}. |
If you use AI text-to-speech, write brand names phonetically (for example "Crayon" for Craonn)
and level the voice to about −17 LUFS so it sits on top of the music.
---
## 5. Sound design map
| time | event |
|---|---|
| 0 to 7 s | ticking clock speeding up, low drone, a rising riser |
| 7.0 s | a hard hit, then the beat drops in |
| 7.7 to 11 s | sparse beat under the voiceover |
| 11 to 13.5 s | the music thins out (it isn't real) and goes airy |
| 13.5 to 18.3 s | the pulse returns and builds |
| 18.3 to 21 s | the fullest section; soft whooshes on each swipe, a click on the button press |
| 21.3 to 22.1 s | near silence, holding its breath |
| 22.2 s | IMPACT: crack, glass, metal debris, sub drop |
| 23 to 25 s | a soft pad as the logo forms |
| 25 to 28 s | a gentle outro under the CTA |
---
## 6. Captions: exact copy
```
You just watched a bullet
for **7 seconds.**
A bullet
that **doesn't exist.**
And you're still here,
waiting for it to **hit.**
Now imagine
that was your brand.
{{Your payoff line}}
```
---
## 7. Make it yours
- **Swap the object, keep the loop.** A dart and a balloon. A domino about to fall.
A match near a fuse. A glass about to tip. Anything with an obvious "about to happen".
- **Swap the countdown.** "Frames to impact", "Seconds to splash", "Pixels to pop".
- **Keep the self-aware line.** "You just watched X for 7 seconds" is the hook inside the hook.
- **Make the payoff your proof.** The phone screens should show *your* product doing its job,
not generic charts.
- **Make the hit your logo.** Whatever shatters or lands should resolve into your mark.
- **Use one accent colour once.** The restraint is what makes it look premium.
---
## 8. How to build it
**In an editor (After Effects, Premiere, CapCut, Final Cut)**
1. Build the hero shot once: can, bullet, trail, shadow. Animate the bullet on the gap curve above.
2. Keyframe the camera scale from 0.82 to 1.75 between 0 and 7.33 s, then cut to 1.
3. Add the HUD as one overlay that stays on top for the whole reel.
4. Put each caption on its own layer with per-word reveals at the listed times.
5. Pre-compose the hero shot so it can be nested inside the phone for Scene 5.
6. Use a shatter or particle effect for the impact, and a shape morph from ring to logo.
7. Lay the voiceover and sound effects to the timings in sections 4 and 5.
**With AI video tools**
- Generate the hero object shots separately (a slow-motion bullet near a can, a can shattering),
then assemble them in an editor. Current models won't hold exact text, a precise countdown
or this timing in one generation, so do the captions, HUD and phone screens as overlays.
**In code (Remotion, Motion Canvas, After Effects expressions)**
- Everything above is deterministic: positions in px, times in seconds, easing curves given.
One component for the shot, one for the HUD, one for captions, one for the phone, one for the finale.
---
## 9. Final checklist
- [ ] The bullet is on screen in the very first frame.
- [ ] The countdown is readable on a phone at arm's length.
- [ ] No caption overlaps the can, the bullet or the phone.
- [ ] Captions are timed to the voiceover, word by word.
- [ ] The accent colour appears only once.
- [ ] The impact lands exactly on the biggest hit in the music.
- [ ] The logo forms from the bullet's ring, not from nowhere.
- [ ] The CTA is one clear action with one short keyword.
- [ ] Exported at 1080 × 1920, 30 fps, H.264, under 60 seconds.