Back to Token Sink
Real-time film · 11:56 · production notes · 8 October 2026

Cathedrals of light

Cathedrals of light, 11:56. Watch on YouTube.

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.

The session in four numbers

From a brief to a published film

4 h 33 minfrom the brief at 15:03 to the final report at 19:36
23 h 16 minof agent working time, run in parallel
18 agentsone Opus director, ten Sonnet animators and seven Haiku fact-checkers
$157.33if every call had been billed at API list prices
11:56 film5 buildings41 shots90 lines, 1,640 words48 plates30 sprites28 ambience beds9,290 lines of film code7 research notes
The afternoon

15:03 to 19:36

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.

15:0016:0017:0018:0019:0020:00Directorfacts: Chartres Cathedralfacts: Sainte-Chapellefacts: Cologne Cathedralfacts: Milan Cathedralfacts: St Peter's Basilicafacts: Gothic light and geometryfacts: Chartres labyrinthChartres part 1 (a1a)Chartres part 2 (a1b)Cologne part 1 (a3a)Cologne part 2 (a3b)Milan part 1 (a4a)Milan part 2 (a4b)Sainte-Chapelle part 1 (a2a)Sainte-Chapelle part 2 (a2b)St Peter's part 1 (a5a)St Peter's part 2 (a5b)Local: plates (48)Local: sprites (30)Local: voice lines (90)Local: ambience beds (28)context summarised 19:05MP4 written 19:17
Opus 5.5Sonnet 5.5Haiku 5.5Local machine, no API cost
The company

Who did what, for how long, at what price

Agent and assignmentRan (local)TimeAPI callsTool callsCost at list prices
Director · Opus 5.5
Director: orchestration, review and export15:03–19:364 h 33 min395445$65.56
Fact-checking · Haiku 5.5
Fact-check Chartres Cathedral15:11–15:4231 min1238$0.30
Fact-check Sainte-Chapelle15:11–15:4634 min2343$0.35
Fact-check Cologne Cathedral15:11–15:3625 min1545$0.24
Fact-check Milan Cathedral15:11–15:3726 min1450$0.44
Fact-check St Peter's Basilica15:11–16:211 h 10 min4142$0.53
Fact-check Gothic light and geometry15:11–15:4029 min1846$0.31
Chartres labyrinth exact geometry15:15–15:5034 min2444$0.34
Animation, two agents per building · Sonnet 5.5
Animate Chartres part 1 (a1a)16:43–17:531 h 09 min163182$7.40
Animate Chartres part 2 (a1b)16:43–17:581 h 14 min171180$8.29
Animate Cologne part 1 (a3a)16:43–18:421 h 58 min169187$10.45
Animate Cologne part 2 (a3b)16:43–18:231 h 40 min136187$10.51
Animate Milan part 1 (a4a)16:49–18:041 h 15 min130145$6.07
Animate Milan part 2 (a4b)16:49–18:181 h 28 min150172$9.90
Animate Sainte-Chapelle part 1 (a2a)16:43–18:171 h 33 min182194$9.70
Animate Sainte-Chapelle part 2 (a2b)16:43–18:091 h 26 min149168$8.86
Animate St Peter's part 1 (a5a)16:49–18:121 h 23 min145170$7.97
Animate St Peter's part 2 (a5b)16:49–18:171 h 27 min142160$10.11
18 agents2,0792,498$157.33
The bill

Where $157.33 went

By role

Ten Sonnet animators · $89.27 · 57%Two per building, each animating half of an act.
Director · $65.56 · 42%The paper-theatre engine, plates, score, review, publishing and the disk investigation.
Seven Haiku fact-checkers · $2.50 · 2%One per building, plus the labyrinth geometry and the Gothic light notes.

By model

Opus 5.5 · 1 agent$65.56 · 42%
Sonnet 5.5 · 10 agents$89.27 · 57%
Haiku 5.5 · 7 agents$2.50 · 2%

By kind of token

Cache reads (803 million tokens)$99.90
Cache writes (12 million tokens)$30.03
Output, thinking included (2.2 million tokens)$25.47

The director, hour by hour

waiting on agents38 min · 17%
plates and images (generation)35 min · 15%
export, video and publishing34 min · 15%
engine and film code29 min · 13%
review and checking28 min · 12%
research, script and brief23 min · 10%
clean-up15 min · 6%
score and sound13 min · 6%
waiting on the user8 min · 4%
agents: brief, launch, message4 min · 2%
docs, memory and notes2 min · 1%
other and unclassified2 min · 1%

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.

The animators

How long each half-act took

Ten parts, two per building

Cologne part 1 (a3a)1 h 58 min
Cologne part 2 (a3b)1 h 40 min
Sainte-Chapelle part 1 (a2a)1 h 33 min
Milan part 2 (a4b)1 h 28 min
St Peter's part 2 (a5b)1 h 27 min
Sainte-Chapelle part 2 (a2b)1 h 26 min
St Peter's part 1 (a5a)1 h 23 min
Milan part 1 (a4a)1 h 15 min
Chartres part 2 (a1b)1 h 14 min
Chartres part 1 (a1a)1 h 09 min
The film

What the afternoon produced

Nine frames from the film: a compass drawn on a dark stage, a cathedral section with arrows showing the thrust, Paris in 1239, the Sainte-Chapelle stage, Cologne drawn to scale, Stornaloco's triangle, Milan Cathedral, the dome of St Peter's and all five buildings on one stage.
Nine frames from 25 s to 700 s: the compass in the dark, the geometry drawn live, and the five buildings side by side.

The local machine

48 plates, 30 sprites

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.

Narration

90 lines

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.

The score

A day in five churches

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.

The MP4

11:56 at 30

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.

What the checks caught

Nine problems found in review

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 reviewWhat went wrongHow it was fixed
Chartres floor, St Peter’s pavingGenerated in perspective, so they could not lie flat on the stageDrawn in code instead and pruned from the picture list
Sainte-Chapelle exteriorUnrecognisable as the buildingRegenerated
Cologne in 1500Showed a finished cathedral and the unfinished stump togetherMade as an edit of the 1880 plate
Night skyGrew buildings along the horizonMoved to a separate style
Sky drop in the pop-upShowed the inpainted fill behind itFades and settles instead
FinaleThe last shot stalled for 8.2 seconds on full-size pixel reads and blursWorks on copies of 320 pixels or less; worst frame about 190 ms
Drawing engine on hi-DPI screensDevice pixels counted twiceFixed in the engine; one animator’s tool changed to match
DissolvesShots set their own alpha, which defeated the fadeDissolve now composites a picture of the shot
Contact sheets under loadBlack or white first stills when the server was slowWarm-up still, blank-frame check and retries
The disk

The 300 GB that was not in the temp folders

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 wentWhat was foundWhat changed
Contact-sheet tool177 stills of about 265 MB in one run, and a warm-up file left behind because the browser writes after the launcher returnsWaits for the file and deletes it, including on failure
Whole-film scanAbout 400 MB of browser profile per run, 2.4 GB in allProfiles removed with retries
Packing the pageA temporary folder per image, and order maps saved as JPEGBoth fixed
ComfyUIThe 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 itA 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
What it taught

Five things the numbers say

Method

How these figures were measured

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.