The local machine
Generated and edited from 16:06 to 16:41 (plates) and 16:21 to 16:33 (sprites), then sliced into depth layers for the paper cards. 28 Stable Audio ambience beds, from basilica echo to canal water, followed through to 18:20.
An eleven-minute, fifty-six-second paper-theatre film about Chartres, the Sainte-Chapelle, Cologne, Milan and St Peter’s, and the compass-and-rule geometry that let their walls turn to glass. Eighteen agents built it in under five hours, while another job on the same machine quietly filled the disk. This is where the time and the money went.
Each bar is one agent, from its first instruction to its last report; each thin mark is a tool call. The four local rows mark every picture, sprite, voice line and ambience bed the machine produced. The fact-checks ran first, the director built the paper-theatre engine and the plates, and the ten animators then worked together.
| Agent and assignment | Ran (local) | Time | API calls | Tool calls | Cost at list prices |
|---|---|---|---|---|---|
| Director · Opus 5.5 | |||||
| Director: orchestration, review and export | 15:03–19:36 | 4 h 33 min | 395 | 445 | $65.56 |
| Fact-checking · Haiku 5.5 | |||||
| Fact-check Chartres Cathedral | 15:11–15:42 | 31 min | 12 | 38 | $0.30 |
| Fact-check Sainte-Chapelle | 15:11–15:46 | 34 min | 23 | 43 | $0.35 |
| Fact-check Cologne Cathedral | 15:11–15:36 | 25 min | 15 | 45 | $0.24 |
| Fact-check Milan Cathedral | 15:11–15:37 | 26 min | 14 | 50 | $0.44 |
| Fact-check St Peter's Basilica | 15:11–16:21 | 1 h 10 min | 41 | 42 | $0.53 |
| Fact-check Gothic light and geometry | 15:11–15:40 | 29 min | 18 | 46 | $0.31 |
| Chartres labyrinth exact geometry | 15:15–15:50 | 34 min | 24 | 44 | $0.34 |
| Animation, two agents per building · Sonnet 5.5 | |||||
| Animate Chartres part 1 (a1a) | 16:43–17:53 | 1 h 09 min | 163 | 182 | $7.40 |
| Animate Chartres part 2 (a1b) | 16:43–17:58 | 1 h 14 min | 171 | 180 | $8.29 |
| Animate Cologne part 1 (a3a) | 16:43–18:42 | 1 h 58 min | 169 | 187 | $10.45 |
| Animate Cologne part 2 (a3b) | 16:43–18:23 | 1 h 40 min | 136 | 187 | $10.51 |
| Animate Milan part 1 (a4a) | 16:49–18:04 | 1 h 15 min | 130 | 145 | $6.07 |
| Animate Milan part 2 (a4b) | 16:49–18:18 | 1 h 28 min | 150 | 172 | $9.90 |
| Animate Sainte-Chapelle part 1 (a2a) | 16:43–18:17 | 1 h 33 min | 182 | 194 | $9.70 |
| Animate Sainte-Chapelle part 2 (a2b) | 16:43–18:09 | 1 h 26 min | 149 | 168 | $8.86 |
| Animate St Peter's part 1 (a5a) | 16:49–18:12 | 1 h 23 min | 145 | 170 | $7.97 |
| Animate St Peter's part 2 (a5b) | 16:49–18:17 | 1 h 27 min | 142 | 160 | $10.11 |
| 18 agents | 2,079 | 2,498 | $157.33 | ||
Each gap between two transcript events is given to the tool call or message that ended it, then sorted by tool name, file path and command. The buckets are keyword matches, so read them as proportions. 3 h 50 min in all.
Generated and edited from 16:06 to 16:41 (plates) and 16:21 to 16:33 (sprites), then sliced into depth layers for the paper cards. 28 Stable Audio ambience beds, from basilica echo to canal water, followed through to 18:20.
1,640 words read by af_heart, 41 shots in all. The voice lines took about two minutes of CPU time, starting at 16:34.
Written in code: organum at dawn, glass bells and a harp, deep bells and a brass march, a dance of three against four, and a baroque organ with brass, around a compass motif that walks the circle of fifths.
1376 by 768, 21,480 frames, 617 MB, with a 49 MB share copy. The smoke test ran 16,744 frames clean and the whole-film scan found no console errors, with a mean of 36 ms a frame in software rendering.
Every act was reviewed from contact sheets before it was accepted. These are the failures the review recorded, with how each was fixed.
| Caught in review | What went wrong | How it was fixed |
|---|---|---|
| Chartres floor, St Peter’s paving | Generated in perspective, so they could not lie flat on the stage | Drawn in code instead and pruned from the picture list |
| Sainte-Chapelle exterior | Unrecognisable as the building | Regenerated |
| Cologne in 1500 | Showed a finished cathedral and the unfinished stump together | Made as an edit of the 1880 plate |
| Night sky | Grew buildings along the horizon | Moved to a separate style |
| Sky drop in the pop-up | Showed the inpainted fill behind it | Fades and settles instead |
| Finale | The last shot stalled for 8.2 seconds on full-size pixel reads and blurs | Works on copies of 320 pixels or less; worst frame about 190 ms |
| Drawing engine on hi-DPI screens | Device pixels counted twice | Fixed in the engine; one animator’s tool changed to match |
| Dissolves | Shots set their own alpha, which defeated the fade | Dissolve now composites a picture of the shot |
| Contact sheets under load | Black or white first stills when the server was slow | Warm-up still, blank-frame check and retries |
Near the end of the session the user asked what had made one of the projects balloon to 300 GB, and asked for it to be logged so it could not happen again. The director found four separate leaks. Three were small and in the film tools. The fourth was the big one.
| Where space went | What was found | What changed |
|---|---|---|
| Contact-sheet tool | 177 stills of about 265 MB in one run, and a warm-up file left behind because the browser writes after the launcher returns | Waits for the file and deletes it, including on failure |
| Whole-film scan | About 400 MB of browser profile per run, 2.4 GB in all | Profiles removed with retries |
| Packing the page | A temporary folder per image, and order maps saved as JPEG | Both fixed |
| ComfyUI | The server started at 14:19 had grown to 354 GB of memory by 18:47, and Windows had grown pagefile.sys to 288 GB to hold it. About 0.47 GB stayed behind after every job, 707 jobs in four and a half hours, and asking it to free memory released none of it | A guard started by comfy.py up restarts the server above 64 GB once the queue is idle, and above 96 GB after the running job. Cut-off jobs are submitted again |
The brief asked for Opus to direct, Haiku for research and small changes, and Sonnet for the bigger coding chunks. That is what ran: one Opus agent at $65.56, ten Sonnet animators at $89.27 (57% of the bill) and seven Haiku fact-checkers at $2.50 (2%).
The brief had asked for tight research after earlier films dragged. The seven fact-checks ran 25 to 70 minutes, cost $2.50 between them, and were all finished by 16:21, before the animators started at 16:43.
Each building was split into two halves. The animators ran from 1 h 09 min to 1 h 58 min, and the director spent 38 min waiting on agents. Cologne part 1 reported last, at 18:42.
The director spent 15 min on clean-up after being asked to tidy up, and the leaks in the contact-sheet tool, the scan and the packer were real. The 300 GB was ComfyUI’s memory backing itself with the page file, and no amount of temp-folder cleaning could have found it.
At $13.18 per finished minute it sits next to Promethean Redrawn’s $13.05, and well under the original Promethean’s $50.83, which had no cheap Haiku or Sonnet layer.
Measured from the session's own transcripts: the director's, and one for each of the 17 agents it launched. Assistant messages are deduplicated by message id and the last entry's usage is kept. Models come from each agent's metadata. The session was summarised once, at 19:05, and the director's figures include both halves.
Cost is what the usage would have cost at API list prices in October 2026: Opus 5.5 at $4 per million input tokens and $20 per million output, Sonnet 5.5 at $2 and $10, Haiku 5.5 at $0.10 and $0.50 (higher rates above a 100,000-token prompt), cache reads at 0.05 times input, cache writes at 1.25 times (five minutes) or 2 times (one hour). A subscription session was not billed this way, so treat the dollar figures as a measure of work, not an invoice.
Times are UK local time (BST, UTC+1). Local-machine marks are the modification times of the generated files. The memory and page-file figures come from the director’s report during the session. The hour-by-hour split sorts tool calls by keyword, and gaps of more than 20 minutes with no events are left out of it.