Blazing Sun
A hand-built LED art frame that AI agents paint through MCP, and a 30-second film that tears it down, lights it and puts it to work.

Overview
A 32×32 RGB LED art frame on the Comfy office wall: a P6 panel in a black 3D-printed PETG tray, a ¾-inch pine frame stained dark walnut, and a Raspberry Pi 3 with a matrix HAT behind it. Anyone on the team can ask Claude to make art with Comfy Cloud and send it to the frame: an MCP server on the Pi takes the image or GIF, and the Pi fits it to the panel.
To show it off, a 30-second vertical film. A CG exploded-view teardown labels every part by how it was made, then lights the frame on the beat. A Claude Code window opens on "Claude, 4d3d3d3 Engaged. Use Comfy MCP.", a Celery Man homage, and the frame on the office wall scans over to a dancing celery made on Comfy Cloud (composited into the real footage). All of it sits on a 120 BPM grid, scored by a shop band built from the frame's own sounds.
The CG camera is solved from the iPhone footage to within about 2 px, so the render lands on the real shot and the room comes up around it. The panel's colours match the footage LED by LED to 0.9 ΔE. All 38 sound effects are generated, with every cue placed to the frame. Thirteen cuts, steered by panels of independent AI reviewers split by pace, craft and story.
Media
Features
Art from a chat
Register one MCP server and ask Claude to put something on the wall: images, GIFs, raw frames, brightness, clear. Six tools, shared by the whole team, nothing to install.
Fitted the way the panel shows it
The Pi fits every image to 32×32 itself, and a simulator backend renders to PNG, so the whole pipeline can be tested from a laptop.
A teardown labelled by process
Designed, coded, printed, sourced, cut and glued, stained: each part is named for how it was made, landing on the beat as the camera whips between them.
The ask, on camera
Claude answers in Cinco's own readout, then its tool calls run (Comfy MCP makes the clip, the blazing-sun MCP sends it) and the real frame scans over to it, row by row.
The frame plays its own score
A mallet on pine for the kick, a chisel for the snare, saw strokes for the hats, the 3D printer's steppers on bass and melody, the panel's whine as the chord. The band cuts dead when Claude's window rises.
Technical
The frame: a FastAPI service on the Pi drives the RGB matrix HAT and does all the fitting with Pillow. An MCP server exposes six tools over streamable HTTP, so anyone on the network can register it, or it runs locally over stdio.
The film: headless Blender 5 (EEVEE) on a photo-textured model rebuilt from the build photos, choreographed on a 120 BPM grid. Labels, scan lines and dimension marks are composited in Pillow, so copy changes never need a re-render. The ending composites a drawn terminal over the shot, the real iPhone clip and a rendered panel. The score is mixed in numpy and muxed with ffmpeg.
Landing on real footage
A pinhole camera solved from ten points on the frame (2.46 px rms), with the iPhone's handheld drift tracked frame by frame and applied as lens shift. The CG pull-back lands on the real framing, and the room comes up around the frame without a seam.
Colour matched LED by LED
The CG panel's response is measured on flat colours and inverted, then a feedback loop corrects each LED against the footage. LEDs are compared as cell means, because an iPhone clips every LED's core: a dim LED shows up as a smaller dot, not a darker one. Error went from 14.8 to 0.9 ΔE.
A panel the frame never played
The celery is the CG panel rendered through the solved camera, cut out by its face's corners, given the iPhone's LED bloom and laid over the real panel. The old art's blue spill is cleaned off the wood around it.
A frame-accurate score
38 effects generated with ElevenLabs on Comfy Cloud, the tuned parts synthesised in code, every sound placed by its onset on the exact frame. A look-ahead limiter masters it to −14 LUFS without flattening the build.
Privacy by default
The office tablet under the frame shows a Wi-Fi code and a door code, so its screen is averaged past legibility everywhere it appears. The iPhone clip's own audio carries a coworker's voice, so the room tone is generated instead.