Nothing broke — the first render shipped. The count-up landed exactly on 87, the label, takeaway, CTA and sample footer all held in the final frame with no overlap.
Original promptTested
Stat hook prompt — one big number (vertical) — HyperFrames prompt (87% count-up + label)
Banned list —Beat grid —Build method —Self-review —
<direction>
An 8-second vertical stat hook (1080x1920, 240 frames at 30fps). House style: near-black #0a0a0a background, white type, ONE accent #ff5c1a, Arial/Helvetica bold, no webfonts. One giant number counts 0 to 87% with the unit in accent; an accent rule draws; the label OF VIEWERS STAY PAST 3 SECONDS lands in two lines; a one-line takeaway follows; a CTA pill STEAL THIS HOOK lands; a footer reads "SAMPLE STAT — FOR THE PROMPT TEST ONLY" until the stat is replaced with a real one. No gradients, no glows, no odometer digit rolls.
Banned: decimal places the source data does not have, unlabelled sample stats, a second stat competing with the first, text smaller than 28px.
</direction>
<structure>
Frames 0-15 — Kicker "ONE NUMBER. ONE HOOK." already on screen.
Frames 15-75 — The number counts 0 to 87 with power2.out easing; the unit % stays in accent throughout.
Frames 78-89 — Accent rule draws.
Frames 87-117 — OF VIEWERS STAY PAST 3 SECONDS fades in over two lines.
Frames 117-141 — Takeaway line: "That is the whole hook. Lead with the number."
Frames 138-162 — CTA pill STEAL THIS HOOK fades in.
Frames 153-177 — Sample-stat footer fades in.
Final frame — number, label, takeaway, CTA and sample footer all visible.
</structure>
<build>
One HyperFrames composition, 1080x1920, seek-driven GSAP timeline (paused, window.__timelines["main"]). The count-up is a tweened object value with Math.round on update — never let a mid-count label show decimals. Render at 30fps.
</build>
<gotchas>
- Format during the count, not after it: an unformatted mid-count value reads as a different, smaller number.
- One stat per film: a second number anywhere in the frame halves the hook's force.
- The sample footer is part of the composition, not a caption you can forget: remove it only when the stat is real.
</gotchas>
Before you finish: step through the timeline at five points and fix anything that overlaps, clips the frame, or drifts off the beat grid.
One number, one hook: the stat counts up, the label explains it, the CTA closes it. The figure is labelled SAMPLE on screen — swap in your real number before posting.