Opus 5.5 turns three photos into a 20-bird pixel-art canvas animation
A single Claude Opus 5.5 prompt turns three kākāpō photos into a 20-bird HTML5 canvas animation with no external assets.
Opus 5.5 turns three photos into a 20-bird pixel-art canvas animation
TL;DR
- Claude Opus 5.5 rendered a 20-bird pixel-art HTML5 canvas from three photos and one prompt.
- Claude Code wrote a ~20-line Playwright script capturing the scene as a 15s 720p video.
- Opus 5.5 scenes take up to 10 minutes and lean on ‘medium’ thinking to control token blowout.
- NZ’s kākāpō count hit 325 birds, the highest tally in over 75 years — the milestone the demo marks.
Today’s tech beat is a single feature: a Claude Opus 5.5 capability demo that takes three reference photos and one prompt and returns a working 20-bird pixel-art animation on an HTML5 canvas, no sprite sheets or outside assets involved. Claude Code then wraps the whole thing in a ~20-line Playwright script that clicks through the scene and records it as a 15-second 720p video. It’s a worked example of where the multi-step creative-to-code ceiling now sits — and where it costs you, since a single scene can run up to 10 minutes and needs ‘medium’ thinking to keep tokens in check.
Claude Opus 5.5 one-shots a pixel-art kākāpō party
Source: simon-willison · published 2026-09-26
TL;DR
- Claude Opus 5.5 turned three reference photos and one prompt into a 20-bird pixel-art HTML5 canvas animation, no external assets.
- Claude Code then wrote a ~20-line Playwright script recording the animation as a 15s 720p video with timed clicks.
- Opus 5.5 scenes can take up to 10 minutes to generate and often need “medium” thinking to avoid token blowout.
- NZ’s kākāpō population hit 325 birds, the highest tally in over 75 years — the milestone the slide celebrates.
The workflow, end to end
Simon Willison needed a closing slide for a WeAreDevelopers keynote. He wanted animated pixel-art kākāpō. He got them by chaining two Anthropic tools: Claude Opus 5.5 generated the scene as a self-contained HTML/JS file, then a local Claude Code session wrote a Playwright script to load that file in headless Chromium, click it on a schedule, and record the result as MP4. Total human effort: a keynote idea and three natural-language prompts.
The Playwright script is about 20 lines including imports. It defines a list of (time, x, y) tuples spread across corners, edges, and centre of a 1280×720 viewport, sleeps until each timestamp, fires page.mouse.click, and lets Playwright’s record_video_dir handle capture. That is the whole thing.
How typical is the Opus 5.5 output?
Willison’s one-shot is on-pattern but cherry-picked. Independent writeups since the September 22 Opus 5.5 release describe the model as treating “code as a visual medium” — emitting self-contained HTML/Canvas 2D scenes with no external assets, sometimes running past 7,500 lines of Python for a single diorama 1. Practitioners on r/aigamedev confirm the capability but add two caveats Willison’s post skips: generation can take up to 10 minutes per scene, and “max” thinking effort frequently overshoots the token budget, so “medium” is the pragmatic setting 2.
In other words, the trick reproduces — but the “just drop three photos in” framing understates the wait and the wallet.
The Playwright half hides sharp edges
The video-capture step reads as trivially portable. It isn’t quite. Playwright’s own agent-CLI docs note that headless Chromium does not render a cursor by default, so agent-driven click demos usually inject a fake pointer via JS to make interaction legible on video 3. Willison’s script gets away without it because he only needs the click to trigger confetti, not to show the click. Anyone copying this pattern for a UI walkthrough will notice.
Cost scales badly too. A Medium walkthrough of the Claude Code + Playwright MCP loop clocked a single two-hour autonomous session at roughly 300,000 tokens, with recording artefacts piling up in the working directory fast enough to matter in CI 4. “Pleasingly short” script, less pleasingly short bill.
The kākāpō part is real news
The bird reference isn’t whimsy. NZ’s Department of Conservation confirmed 2026 as a record season: 90 new chicks pushed the total to 325 birds, the highest in more than 75 years 5. The Guardian fills in the mechanics — a rimu mast triggered 79 females to nest, producing 258 eggs and 106 hatchlings, and programme operations manager Deidre Vercoe noted it took 16 years in the early phase to produce the same 90 chicks the team matched in this single season 6.
It took 16 years to produce 90 chicks in the early days of the programme.
Which is the real point of the vignette. The demo works because two models happened to be good enough to turn a conservation milestone into a keynote slide in an afternoon — the frontier capability now includes “make me a celebration” as an executable request.
Footnotes
-
aiidelist.com Opus 5.5 examples writeup — https://aiidelist.com/blog/claude-opus-5-5-examples
↩Opus 5.5 treats code as a visual medium — self-contained HTML/JS files rendering pixel-perfect scenes via Canvas 2D with no external assets, sometimes exceeding 7,500 lines of Python for a single diorama.
-
r/aigamedev Reddit thread — https://www.reddit.com/r/aigamedev/comments/1woix1m/opus_55_can_indeed_generate_pixel_art_scenes/
↩Opus 5.5 can indeed generate pixel art scenes — but generating a full scene can still take up to 10 minutes and often needs ‘medium’ rather than ‘max’ thinking effort to avoid runaway token use.
-
Playwright Agent CLI docs — video-recording — https://playwright.dev/agent-cli/commands/video-recording
↩video-start / video-stop commands capture sessions as WebM; headless Chromium does not render a cursor by default, so agents commonly inject a fake pointer via JS for demo videos.
-
Medium — Playwright MCP with Claude Code — https://medium.com/@HawksandOwls/the-beginners-guide-to-playwright-mcp-with-claude-code-and-why-it-changes-how-you-test-2712aec8e830
↩The CLI/MCP flow is token-efficient because Claude issues concise shell commands and receives accessibility snapshots — but one two-hour autonomous production run burned nearly 300,000 tokens.
-
NZ Department of Conservation media release — https://www.doc.govt.nz/news/media-releases/2026-media-releases/kakapo-population-reaches-new-milestone/
↩Kākāpō population reaches new milestone — 90 chicks added to the tally, bringing the total to 325 birds, the highest in over 75 years.
-
The Guardian — https://www.theguardian.com/world/2026/sep/01/record-breeding-worlds-heaviest-parrot-nz-endangered-kakapo
↩At least 79 females nested and laid 258 eggs; 106 chicks hatched and 90 survived to independence — it took 16 years to produce 90 chicks in the early days of the programme.