From eval to release video in two days
Blog post #56
Two days ago I gave the same island brief to Fable 5 and ChatGPT and wrote up what came back. Today that eval is a published YouTube video: Claude Fable 5 is here — I tested it against ChatGPT, and it got flagged. This log is about the production, because the video ended up forcing a new pipeline into existence, and because the story got a third act I didn’t plan for.
What changed since last log
- The eval got a verdict on camera. Trutskär’s agent-based simulation against Auroraön’s four meters, side by side, with the actual screen recordings as evidence.
- The story grew a twist I didn’t have on June 10: digging through my session transcripts, I found that my first eval session never happened — Fable 5’s new safety filter flagged the island brief for “biology topics” and silently switched me down to Opus 4.8. I reproduced it on camera with an innocent one-line prompt. Anthropic’s own launch page says these filters trigger in less than 5% of sessions. My island was in the five.
- This is also the first video in a new format: model releases get their own intro (no “in 3 minutes” promise), built from the vendor’s own visual language. Anthropic’s homepage hero turned out to be a webm of butterflies forming a “5” — with an alpha channel. Downloaded, decoded with libvpx, and composited straight onto my own paper background. Their brand did half the design work.
What shipped
- The video: ~4.5 minutes, published today, in a new playlist for model releases.
- A motion-first build where almost nothing is a static slide. The site walkthroughs are scripted Playwright recordings (one per language — both eval sites speak four), the brief types itself out in a CSS animation, the two AI chats float in as cards, and the benchmark chart has a butterfly sitting on the winning bar.
- Three HeyGen segments of my avatar, rendered against cut-out pieces of the voice track: cold open, outro, and a ten-second idle tail I got by sending HeyGen a silent audio file. The avatar just sits there breathing naturally. That trick is going in every video from now on.
What’s working
- Forced alignment as the build’s backbone. ElevenLabs gives back character-level timestamps for the finished voice track, so every cut in the video is driven by when a phrase is actually spoken: the benchmark slide lands on “the benchmark numbers”, the night mode toggles on “there’s a night mode”, and the “Session paused” banner appears exactly on the words “session paused”. No more eyeballing.
- Segment-wise avatar rendering. Instead of one big HeyGen render at the end, I cut the voice track at sentence boundaries and render only the pieces where my face is on screen. Cheaper, and script revisions don’t invalidate the whole thing.
- Avatar V over Avatar IV. Same audio, both engines, A/B: IV sat with folded hands for eight seconds, V talks with its hands like I do. Easy call.
What’s unclear or broken
- Voice takes are still a lottery. The same script, the same settings, three full takes: one fine, one that made me sound vaguely French-Indian, one good. The fix is always re-rolling, never settings. I’d love to understand why.
- A looping clip flickered at 3:03 through two “fixes” — first a hard loop restart, then a boomerang seam that replayed a leftover scroll motion in reverse. The real lesson: loop sources must start from stillness, and
ffmpeg’s scene detection is the cheap way to prove a loop is actually seamless before rebuilding. - Half the evening died to a hidden 1Password authorization dialog. Every key in my pipeline goes through the CLI, so when it silently stops, everything stops: voice, alignment, render polling. The dialog was behind another window the whole time.
Decisions made
- Sell the eval, not the outrage. The title leads with Fable 5 vs GPT-5.5; the flag is the hook at the end of the sentence. The restrictions story has a short shelf life (Anthropic says they’re tuning the filters), and the video’s actual verdict is positive — biggest capability jump in a year, with a caveat that needs fixing.
- Punchlines have to be concrete. “I never asked for any of this. One prompt.” got cut for sounding like a slogan; “Nothing in the brief asked for seasons or wind” stayed, because it’s true and specific.
- Release videos end on the series card, not on my avatar idling. And after three rounds of me masking butterfly fragments out of Anthropic’s collage by hand, flood-fill from the body with an alpha threshold did it in one pass.
Tooling & process
- New asset technique this week: HTML/CSS animations recorded with Playwright into mp4. Real typography, drop shadows, embedded videos in cards — no video editor involved, every asset rebuildable from a one-line command.
- ElevenLabs for voice and forced alignment (and the intro stinger — generated four “new model arrives” sound candidates and picked the butterfly-flutter one), HeyGen via MCP for the avatar, ffmpeg for the build, yt-dlp for Anthropic’s press clip, which turned out to be a YouTube embed rather than a video file.
- Fable 5 built the eval site, lost a session to its own safety filter, and assembled the video about both. Conflict of interest fully intact from last log.
— Stefan