我昨天在 WeAreDevelopers 北美世界大會上發表了閉幕演講。為了創造一個「明星時刻」,我決定將 2026 年卡卡鸚鵡(kākāpō)創紀錄的繁殖季節融入其中。
對於我的閉幕投影片,我希望能有所慶祝。我注意到 Claude Opus 5.5 在創建像素藝術動畫方面表現出色,引起了一些討論。於是我從 Google 圖片搜尋中找了三張卡卡鸚鵡的照片,並將它們連同以下提示詞輸入 Claude:
「這裡有一些卡卡鸚鵡的照片,只是為了讓你回憶牠們的樣子。我需要你用 HTML 5 canvas 製作一段像素藝術動畫,內容是至少 20 隻明顯是像素藝術的卡卡鸚鵡跳上跳下,開派對並灑滿紙屑等等。」
這是對話紀錄,而這是最終的頁面。成果相當棒!
我希望將它嵌入 Keynote 簡報檔案中,所以我下載了 HTML 檔案,並告訴本地的 Claude Code 工作階段:「請為我製作一個 file:///Users/simon/Downloads/kakapo-party.html 的影片,你需要將它載入瀏覽器,並點擊幾次以產生紙屑效果,影片長度應為 15 秒。直到 3 秒後才開始點擊,並確保點擊分佈在可點擊區域的各處。」
Claude Code 使用 Playwright(對話紀錄在此)並製作了這段影片,這正是我最終投影片所需的內容:
您的瀏覽器不支援 HTML5 影片。
這是它使用的完整 Playwright 腳本,令人驚訝地簡短:
/// script
dependencies = ["playwright"]
///
import time
from playwright.sync_api import sync_playwright
W, H = 1280, 720
Canvas fills the viewport; spread clicks across corners, edges and centre
clicks = [
(3.0, 640, 360), # centre
(4.2, 160, 120), # top-left
(5.4, 1120, 120), # top-right
(6.6, 180, 600), # bottom-left
(7.8, 1100, 600), # bottom-right
(9.0, 640, 100), # top-centre
(10.0, 380, 380), # mid-left
(11.0, 900, 380), # mid-right
(12.2, 640, 620), # bottom-centre
(13.2, 640, 300), # finale centre
]
with sync_playwright() as p:
b = p.chromium.launch()
ctx = b.new_context(viewport={"width":W,"height":H}, record_video_dir="vids", record_video_size={"width":W,"height":H})
page = ctx.new_page()
t0 = time.time()
page.goto("file:///Users/simon/Downloads/kakapo-party.html")
for t,x,y in clicks:
time.sleep(max(0, t-(time.time()-t0)))
page.mouse.click(x,y)
time.sleep(max(0, 16.0-(time.time()-t0)))
ctx.close(); b.close()



