Watch both edits
Same recording. Same audio. Zero human edits after the prompt. One model went editorial and lime. The other went brand orange and loud. Neither one touched my face, and both put the graphics on the exact words I said.
What I actually did
One phone recording, already trimmed to 27 seconds. Then the same brief to both models: keep my 9:16 video in the middle, fill the space on each side with animated graphics that illustrate what I'm saying, add word-synced captions, add sound effects, render at 1920 x 1080.
The toolkit was the same for both:
- HyperFrames for the composition, the animation, the captions and the sound-effect timing. The edit is an HTML file plus a timeline, rendered in headless Chrome.
- Seedance 2.5 for a short generated video insert and GPT Image 2.5 Sunburst for image overlays and one made-up “creator reel” frame.
- Real screenshots of the tools I name in the video, captured by the AI itself with a browser.
- A reference reel so the model knew the layout I wanted.
Astra ran in Codex. Fable ran in Claude Code. Both finished in roughly 20 minutes of wall-clock time, most of it waiting on Seedance.
How the two models saw the same job
GPT-6 Astra built a magazine.Every beat is a chapter. The left panel carries a numbered label (“03 / HYPERFRAMES”), a giant uppercase headline with one lime word, and a supporting screenshot. The right panel holds the proof: stacked cards, a waveform, a clock, a checklist. A lime progress bar crawls along the bottom so you always know where you are. Captions are small, sentence case, white with a lime keyword. Calm, structured, expensive looking.
Fable 5.1 built my brand.Dark graphite, one orange, Archivo in expanded black weight, everything uppercase. Cards look like app windows: a mini editing timeline, a terminal typing the prompt, a fake browser with the real Remotion and HyperFrames sites, a phone mockup for the reference reel, a comment bubble that types “EDIT”, a follow button that clicks itself. Captions are big karaoke blocks and the active word punches orange. Every card enters with a whoosh, every reveal gets a pop or a click, the timer gets a chime. Louder, punchier, more Instagram.
Neither is wrong. Astra reads better on a desktop. Fable reads better on a phone. Pick the one that matches your audience and steal the prompt.
Beat map: what I said, what each one drew
| What I said | GPT-6 Astra showed | Fable 5.1 showed |
|---|---|---|
| “AI is editing my videos” | Headline “AI IS EDITING MY VIDEOS.” plus a two-step card: give a prompt, build the visuals | A dark editing timeline with a moving playhead, a “FABLE 5.1 is editing” panel on the right |
| “I pasted this prompt” | “PASTE THE PROMPT.” headline, an edit brief card on the right | A terminal window typing the real prompt, character by character |
| “Remotion to cut the bad takes” | “KEEP THE GOOD TAKES.” with the Remotion site, a waveform with takes marked in red | Real Remotion screenshot on the left, a clip strip on the right where a blade slices out the bad take |
| “HyperFrames to add animations” | “ADD ANIMATION.” with the HyperFrames site, stacked MOVE / LAYER / ANIMATE cards | HyperFrames site in a fake browser, a GSAP chip, two shapes animating on the right |
| “Seedance 2.5 or GPT Image 2.5 for overlays” | “GIVE IT SOMETHING TO SHOW.” with model chips and a Seedance clip | A generation panel rendering a Seedance 2.5 fireball clip, a GPT Image 2.5 clapperboard with an OVERLAY stamp |
| “Gave it a reference video” | “SHOW THE STYLE YOU LIKE.” with a made-up creator frame and a Layout / Timing / Visual language checklist | A phone mockup playing a made-up creator reel, a “STYLE” panel that reads Archivo and Plex Mono off it |
| “About 20 minutes total” | Giant lime “20 MINUTES.” and a clock hand sweeping | A ring timer counting to 20 MIN, a checklist ticking off Cut, Animations, Overlays, Style match, Captions + SFX |
| “Videos to pop and engage people” | “MAKE IT POP.” with an oversized tilted POP, a “Keep them watching.” card | Giant orange POP, then a heart / comment / share row with +1 counters |
| “Comment edit” | “COMMENT EDIT” with a lime EDIT button, a “THE HOW-TO.” checklist | A comment bubble types EDIT, my reply appears, a follow button flips to Following |
Your script gets its own beats. Copy the method, not the cards.
GPT-6 Astra
| Element | Treatment |
|---|---|
| Canvas | 1920 x 1080, 30 fps, H.264 |
| Video | 9:16 footage centered at full height, about 608 px wide, no crop, face untouched |
| Panels | Left and right, about 50 px of padding, subtle grid texture, hairline borders, restrained shadows |
| Background | Dark graphite #11151b |
| Text | Warm white #f3f2ee |
| Accent | Lime #cbfa67 for one keyword per headline, active steps and results |
| Alert color | Red, used once, on the discarded take |
| Font | Inter, all weights. Uppercase headlines around 64 px, tracked-out labels at 12 to 14 px |
| Left panel structure | Tiny model label top left, chapter label in lime (“03 / HYPERFRAMES”), giant headline, supporting screenshot card, section footer bottom left |
| Right panel structure | “ONE RECORDING. REIMAGINED.” kicker, lime section title, stacked proof cards, the active card fills lime with dark text, “IN PRACTICE” footer |
| Progress | Thin lime bar along the very bottom that grows with the video |
| Captions | Sentence case, Inter semibold around 28 px, white on a dark translucent plate, keyword in lime, low center over the chest |
| Motion | Ease-out entrances 0.3 to 0.5 s, related elements staggered 0.06 to 0.1 s, small overshoots on emphasis, holds so each visual can be read |
| Sound | Voice untouched, quiet clicks and whooshes on reveals, generated clips muted |
Claude Fable 5.1
| Element | Treatment |
|---|---|
| Canvas | 1920 x 1080, 30 fps, H.264 |
| Video | 584 x 1038 px card, 21 px from the top, 26 px corner radius, hairline border, deep shadow, soft vignette top and bottom, a 4% settle-in zoom at the open |
| Side columns | 556 px each, content vertically centered, 22 px gap between stacked cards |
| Background | Near-black #0E0E10 with a 44 px dot grid and a faint orange glow behind the video |
| Panels | Graphite #1B1B1E, 1 px #2C2C30 border, 24 px radius, status dot top left, mono label, one orange chip |
| Palette | Orange #FF5B1F, cream #F4EDE0, ink #151517, muted grey #A9A49C |
| Orange rule | One orange hero element per card. Never two |
| Fonts | Archivo, expanded width, weight 900 for headlines (64 px big, 34 px h2). IBM Plex Mono for labels, chips and anything that looks like code |
| Captions | 3 to 4 words, uppercase, Archivo 900 expanded, 42 px, 28 px word gap, on a dark glass plate 868 px from the top. The active word turns orange and scales to 1.14 with a back-out overshoot in 0.11 s |
| Card entrance | 0.3 s, rises 30 px, scale 0.9 to 1, back-out ease, slides in from its own side |
| Card exit | 0.2 s fade, slight rise and shrink, hard-killed after so it never flashes |
| Fake windows | Browser and terminal chrome with three dots, a URL or file name, dark body, real screenshot inside |
| Sound effects | Short whoosh on every card entrance, pop on key reveals, key presses under the typing terminal, bass impact on the blade cut and the stamp, soft clicks on checklist ticks, chime when the timer lands, typing plus a ping on the comment reply. All between 25% and 55% of dialogue volume |
| Generated media | Seedance 2.5 clip at 720p, 5 s, muted, re-encoded with a keyframe every frame before placing. GPT Image 2.5 Sunburst for the clapperboard and the fictional reference reel |
The prompt I gave GPT-6 Astra
Paste this into Codex from the folder your video is in. Swap the filename. Swap the three colors if you have a brand.
The prompt I gave Fable 5.1
Paste this into Claude Code. Swap the filename and drop in a link to a reel whose layout you like.
Yes, the Fable prompt is three sentences. Fable pulled the reference reel, transcribed my audio, worked out where my head was from real frames, planned nine beats, captured the screenshots, generated the Seedance clip and the images, wrote the whole composition, fixed its own lint errors, checked the frames and rendered. The long prompt gets you a more predictable look. The short prompt gets you the model's taste. Both work.
Install it in two minutes
You need Node.js 22 or newer and FFmpeg. Then tell Claude Code (or Codex):
Prefer to do it manually? Paste these into your terminal one at a time:
If doctor shows green checks for FFmpeg and Chrome, you're ready.
For the generated media, give the agent access to Seedance 2.5 and GPT Image 2.5 Sunburst through whichever generation service you already use. Skip it and the prompt still works, you just won't get the video and image inserts.
Step by step, what happens when you run it
- Inspect. Probes the file, pulls frames, figures out where your head sits.
- Transcribe. Whisper gives every word a start and end time.
- Reference. Downloads the reel you linked and studies the frames.
- Plan. Picks the beats. Ask to see the plan before it builds.
- Assets. Screenshots the real sites, generates the Seedance clip and the images.
- Build. One HTML file: video card, two columns of cards, captions, a timeline, a sound-effect cue sheet.
- Check. Lint, snapshots, fixes.
- Render. One command. Under a minute for 27 seconds.