
GENIX STUDIO
Making a 3D short film with an AI coding agent
Technical report: an experience report. Jérôme Coustillas, GENIX STUDIO, the creative label of GENIXCONSEIL. Version 1, November 2026.
This report describes the making of Elektron, a 3 min 38 s short film in 4K that joins two films, Électrum and then “Le jour, la nuit” (“The day, the night”). Its director had no experience of 3D or of coding, and led an AI coding agent. The pipeline starts from a generated image, replaces it with computation and runs to the published film. It covers source research on a craft, guilloché; a guilloché machine built in a web page, which records each drawing in a key; 16-bit heightmaps derived from these keys; two medals, in gold and in silver, carved and rendered by Blender on a rented GPU; an animation governed by physical laws; a soundtrack made of measurements, real recordings, a simulation derived from a measurement and two computed notes; signing, timestamping and publication. Each step is described by its step card (the idea, the request, the exchanges counted in the session transcripts, the time lost, the expected outcome), then by its mechanism, its settings and its abandoned leads. Two tables gather the faults a reader will meet and the dead ends of this film. The 26 logged sessions count 557 messages from the director, 1,878 from the agent, 10,774 tool calls and 30 subagents, for some 86 hours of session work and about €47 of rented GPU time, excluding VAT. The report targets replication of the approach with one’s own tools: the agent’s trajectory cannot be replayed.
AI engineers and 3D engineers, students or researchers. Readers should know how to use a coding agent; no 3D knowledge is assumed. Each reader finds the other’s field detailed in the boxes, and each box says which reader it serves.
After reading, the reader will be able to:
Elektron. GENIX STUDIO, 2026, in 4K. Every frame is computed. The sound starts from measurements and real recordings.
Several figures are live: drag, adjust, turn.
The director led a coding agent: Claude Code, by Anthropic, in its desktop app, in four successive versions from 2.1.295 to 2.1.308. It ran on the claude-opus-5-5 model, in the main conversation and in the subagents it spawned. The logged sessions run from 11 to 23 October 2026; what lies outside the transcripts is stated under Limitations.
The agent wrote the code, and the code rendered every frame; no image or sound in the film comes from a generator. Three generative tools, outside our environment, were used upstream. Google’s AI Mode wrote the prompt for the structure of the starting banknote. Google’s Flow (model Nano Banana Pro) generated that banknote, which is absent from the film. Google’s Flow Music (model Lyria 3.5) made the music of “Le jour, la nuit”, of which Elektron keeps only the bar length. The machine’s page also calls Claude, through the platform where the page is published, without naming the model, for “Graver ma phrase” (“Engrave my sentence”). The film made no use of it.
The agent’s role appears in the credits by role, and the origin of each idea in the step card of its step. The director is accountable for the whole. The agent wrote this report from the project files and the session transcripts, under the director’s direction.
The starting point: a director with no experience of 3D or of coding, and no pipeline. Everything that follows was built for this project, inside a working environment that already existed.
CLAUDE.md file, and the working folder’s) and a file-based memory (auto memory) say who the director is, how he works and how things are done. The model reads them and may not follow them: hence the checks at every step.Two rules hold everything else together: research from sources before making; look at a result before describing it.
| Component | Version | Role |
|---|---|---|
| Claude Code, desktop app | 2.1.295 to 2.1.308 | the agent |
| Claude Opus 5.5 | claude-opus-5-5, a pinned snapshot | the model |
| Three.js | 0.160.0 | the 3D view in the machine’s page, the line test |
| Headless Chrome, Node.js | Chrome version not recorded; Node.js 24.12.0 | replaying the page, testing it |
| Blender and its Cycles engine | 5.2.2 LTS, verified against its checksum | the scenes, the rendering |
| Python | 3.14.2; numpy 2.4.4, scipy 1.17.1, OpenCV 4.13.0, matplotlib 3.10.9, Pillow 12.2.0, imageio 2.37.3 | the tools, the normals, the sound |
| FFmpeg | 7.1, through imageio-ffmpeg 0.6.0 | the edits, the encodes |
| OpenTimestamps | three public calendar servers | the timestamping |
| The rented GPU | NVIDIA L4, 24 GB, 8 cores, 48 GB of memory, at Scaleway in Warsaw, about €0.80 per hour excl. VAT | rendering in HD and in 4K |
| The director’s computer | four cores, 16 GB of memory | the drafts, the sound, the edits |
The versions of Node.js, Blender, Python and its libraries, and FFmpeg are those used for rendering: all were installed before the film, and all have stayed unchanged since.
For the AI engineer.
| Step | Input | Tool | Output |
|---|---|---|---|
| I | an idea for a banner | Google’s AI Mode, Flow; a program by the agent | a generated banknote, outside the film |
| II | a question | the agent and its subagents | a research notebook: the spirograph, guilloché, the state of the art |
| III | settings | a web page written by the agent, Le Tour des graveurs (the engravers’ lathe) | a drawing and its key |
| IV | the key | the page replayed headless by Python; Blender and Cycles, scenes written in Python | a 16-bit heightmap, rendered metal |
| V | freely usable photographs, an astronomy calculation | Blender, Python | the presentation case, the beach, the sky of a real morning |
| VI | the scenes | Blender, on the director’s computer for the drafts, on the rented GPU for 4K; FFmpeg | a negative, the first film |
| VII | the keys, laws of motion | a Three.js page for the line test; Blender on the rented GPU | a second negative, the second film |
| VIII | measurements, freely usable recordings, a simulation derived from a measurement | Python, FFmpeg | a 24-bit track at 48 kHz |
| IX | the two negatives, the sound | Python, FFmpeg, OpenTimestamps | Elektron, signed and timestamped |
Step I
The starting banknote
The director generates the banknote in Flow, Google’s image generator, at 1K upscaled to 2K. A program by the agent finishes it: the green brought to the firm’s green, a lily copied in mirror image, two framings (Figure 1). For a codified art such as the banknote, Google’s AI Mode first researches from sources its history, its periods and what makes it recognisable. It then writes the Flow prompt itself; the Avoid: line and the framings are added to it. The banknote’s lacework looks like guilloché, which engravers traced by machine so that no hand could paint it. The decision that opens the project: compute the guilloché instead of generating it.
Step II
The spirograph, then guilloché
The source research lives in a notebook beside the project. Each fact in it carries a status: verified (read at the source, or two independent sources that agree); unconfirmed (a single weak source, or an unresolved divergence); demonstrated here (a mathematical consequence checked by a program, to within 10⁻¹²); inferred here (an estimate awaiting confirmation by a measurement). The research starts from what the director knows: Mellan’s spiral and his own spirograph (Figures 2 and 3).
The 1967 Spirograph set has toothed rings and wheels, all at the same pitch. A wheel of r teeth rolls inside a ring of R teeth, and a pen at a distance d from the wheel’s centre traces a hypotrochoid. With g the greatest common divisor of R and r, the drawing has R/g points and closes after r/g revolutions (Figure 4). The same word, spirograph, already named a machine for engraving copper to prevent banknote forgery, built in Vienna by Peter Hubert Desvignes between 1845 and 1848. The research moves from the Spirograph set to guilloché.
Guilloché is cut on a lathe. The metal turns under a stationary cutter, rocking to the rhythm of a wavy wheel, the rosette, and each cut is offset from the one before (Figures 5 and 6). A barleycorn takes twenty to thirty cuts, a basket weave dial about a hundred and sixty (the guillocheur Joshua Shapiro, in Revolution). In 3D and CNC, the research finds no dedicated CNC guilloché machine. It finds a G-code program published in 2011 (Battersby), a machine running LinuxCNC (Garrett), a femtosecond laser patented by a watchmaker (patent US10649406B2), and pages that draw patterns without modelling a machine. The agent found no simulator that goes as far as 3D relief. Figures 7 to 9 show guilloché through its history.
A second round of source research, carried out after the film for the next version of the machine, describes the rose engine in detail and clarifies what the machine imitates. Spring tension holds the headstock, which carries the metal, against a touch that follows the edge of the rosette: at each lobe, the headstock rocks. Between two cuts, the cutter advances by a constant pitch, and the rosette turns relative to the metal. One notch per cut gives a spiral; half a lobe gives a barleycorn; a zigzag in which some cuts take the same path gives a basket weave. The groove is three to four hundredths of a millimetre deep (Vacheron Constantin).
Step III
Le Tour des graveurs
The machine, Le Tour des graveurs, fits in a single web file: a 2D canvas for the drawing, Three.js for the 3D view. Each stage is an arm that turns at the end of the previous one, at an integer speed, and the pen point traces their sum. The chucks of the craft, the eccentric, the oval and the geometric, are special cases of it, as is the 1967 Spirograph set. The rosette modulates the radius; each cut turns by one notch. The drawing follows the craft: one line weight per layer, each layer inked in one go, so that lines are not inked twice where they cross. The engraving animates, the plate turning under a stationary cutter (Figures 10 and 11). Each drawing is saved as a key, its complete description, which redraws it to the pixel.
Compared with the rose engine in the second round of research, the film’s machine departs from it in three ways. The rosette’s wave grows with the radius, where the rose engine keeps its amplitude at every diameter. The cuts grow by a percentage instead of a constant pitch. The notch turns the whole figure instead of the rosette alone.
The drawing stands up as metal wire and is exported as a 3D file. In version 28, it takes shape on a gold bar, the ingot. The ingot’s face stays flat and imitates its grooves with two images, the slopes and the material, derived from each pixel’s exact distance to the line, computed by an exact distance transform (Figure 12). True carving comes with Blender. The machine is tested headless, in a Chrome instance using software rendering, driven in real time.




For the 3D engineer, and for anyone writing a drawing tool.
Step IV
The heightmap, the medal, the metal
The machine hands over only its key. A Python program replays the page itself, in a copy opened by headless Chrome, and has it compute the depth of each pixel: the heightmap, in 16 bits. None of the page’s computation is reimplemented outside the page. If the tool can no longer open the page at the same places in its code, it stops instead of guessing.
The film’s two medals form the pair: the day medal, in gold, and the night medal, in silver, 40 mm each, the drawing running up to the bevel. Four keys make their four faces. The sunflower shows the method. Each floret sits at n × 137.5° and at a radius c√n (Vogel, 1979), and nobody draws the spirals that appear in it. The planetary dial traces Venus and Mars with two chuck stages each, based on their motion as seen from Earth, reduced to circles, with no source for their radii and ratios.
The fineness of the drawing is set by the image. On the whole medal in HD, a pixel covers about 45 µm, and a pitch of about 0.2 mm is legible. Each test is measured before it is shown. The director judges the material on the metal, the rendered frame (Figure 14); motion, later, will be judged as a line test.
Blender receives the heightmap in a scene written entirely in Python, which can be rebuilt identically. The metal is a two-colour conductor, with a Base Color and an Edge Tint; the Base Colors of the gold and the silver are rendering reference values. The field is satin, near-mirror; the groove walls are polished, like the trim lines, the fine solid lines of the drawing. In close shots, Blender truly carves the metal, depth and slope together; without this carving, it produces moiré.
A metal is a tinted mirror: it mostly shows what surrounds it. The field reflects a band of directions that depends on the camera angle. That band is left unlit, so the field stays dark. Raking light strips are placed elsewhere, and only the groove walls reflect them: a flank of slope α reflects light arriving from 2α. The drawing lights up bright on a dark field. The sparkle needs motion: thousands of flanks light up and go dark together as the medal turns. The Khronos PBR Neutral view transform keeps the gold golden, where AgX desaturates and browns vivid colours. Figures 15 and 16 offer the pair to turn, rendered live by the reader’s screen (Appendix B).




For the 3D engineer.
Step V
The presentation case, the beach, the sky
The presentation case follows from its contents: two recesses and their margins give its width, the logo and its clear space its depth. Its wood, sapele mahogany, the wood of coin cabinets, comes from a freely usable photograph of veneer, its grain continuous from base to lid, under a varnish. A tool removes the photograph’s defects, hairs caught in the veneer, keeping what follows the grain and filling what crosses it. The lid carries marquetry drawn by the machine: a braid between two lines of stringing of about 0.15 mm (Figure 17).
The beach is built in Blender: a physical sky (Sky Texture), wet sand under a film of water, the edge of the sea raised by the Ocean Modifier. Two ready-made HDRIs are rejected, one because of its sand and its background scenery, the other because of its sky, which upstaged the medals. At sand level, a flat sea disappears, hence the built shore.
The sky is that of a real morning. An astronomy program, based on Paul Schlyter’s method, sweeps the winter mornings every five minutes. It looks for the Sun between 6 and 20° of altitude and the Moon between 3 and 8°, at least three-quarters lit. It is checked on known cases: a solstice, a full moon, the eclipse of April 2024. The film settles on 26 December 2026 at 9.25 am, in the Gulf of Porto, Corsica. According to JPL Horizons, the Moon stands 5.07° above the horizon (5.23° with atmospheric refraction), 92.49% lit, and the Sun at 12.25°. The Moon is a sphere lit by the Sky Texture’s sun, so its phase arises by itself (Figure 18).
Planted in the sand, the medal needs ground built around the point of contact. Up close, a grain covers 8 to 24 pixels of the frame, and a hundred thousand grains of twelve kinds are scattered by Geometry Nodes. The silver medal looked glassy: a black flag (negative fill), a dark panel it reflects, follows it. Out of focus, the medals turned olive: a reflector lights only the medals (Figure 19). At the director’s request, the camera circles the medal in one continuous shot.
Step VI
“Le jour, la nuit”
Before shooting, subagents examine twenty-four films by major luxury houses on YouTube’s preview thumbnail sheets, one frame per second and without sound. They draw forty-two rules from them. The master rule: what must be seen is the light running over the metal; what must stay unseen is the camera. Only one rule is demonstrated by experiment: slow motion makes the object look more luxurious (Jung and Dubois, 2023, twelve experiments, 27,227 people). Into the tools go one movement per shot, 2.9° per second at most on the 100 mm lens, the shutter open for half a frame, and the world slowed rather than the object. The survey also says to choose the music before the draft; the director chooses the reverse: the music is laid over the film.
The shot list is written in Python: fifteen shots, 3,744 frames rendered at 24 fps, the 100 mm lens throughout except the 300 mm for the pair and the Moon, focus set in dioptres. A first draft of eleven shots, judged a little short and not focused enough on depth, the structure of the two medals, gives way to the fifteen.
The CPU of the director’s computer takes 4 min 23 s for a 1280 × 720 test frame. The agent compares cloud GPU providers. The director sets up access at Scaleway, with the agent watching his screen. The agent creates the server in its own tab, with the director’s approval. A script installs Blender there, verifies it, measures, renders and edits. The frames come back checked one by one, then the server is deleted. The same test frame comes out there in 29 seconds. The first film costs forty-two hours of rental, €34 excluding VAT.
Working from the negative, without re-rendering, the edit gives a dark bronze tone to the silver’s polished trim lines, which reflected the black flag, with no all-or-nothing threshold, so that nothing blinks. Then come the split screens, after Saul Bass (Grand Prix, 1966) and Pablo Ferro (The Thomas Crown Affair, 1968): the frame divided into panels where gold and silver answer each other, mirrored, then doubled (Figure 20). The finished film has 3,904 frames, 2 min 42 s with its fades and title card, set to two Flow Music generations.
For the 3D engineer.
--factory-startup: everything the scenes leave unset takes the factory settings of Blender 5.2.2, on the rented GPU as on the director’s computer.Step VII
“Électrum”
The film is first played as a line test, in a Three.js page, without metal or light: motion is judged there as video, and redoing it costs nothing (Figure 21). The line-test page and the Blender scene read the same laws. The return law, for example, is computed once into a JSON file that both read.
The medals break apart along their drawing. Each pixel is assigned to the fragment of the cut that carved it last, and each fragment is a single solid volume: the florets for the sunflower, 82 fragments for the rose pattern. Électrum takes place in the void, a black studio with nothing behind the camera, so that the polished trim lines reflect black and trace the drawing. Each frame is an independent Blender call: everything is computed as a function of time, and seeded randomness replays the same chaos. The film is in scope, 2.39:1, the director choosing the big screen over the phone.
| Phase | What happens | Law |
|---|---|---|
| The arrival | a single medal, gold and silver back to back, arrives from the depth of the frame and stops at the centre; the title ēlektron splits in two | the distance as 200 × 30^((1 − u)^1.8) mm, with u going from 0 to 1, that is from 6,000 to 200 mm at the scale of the line-test page, which Blender multiplies by 2.65; the axis, tilted at 23.4°, straightens |
| The dance | the two halves move apart and together, fast when closest, slow when furthest | the gap between the centres in Kepler half-ellipses, between anchor values fixed at certain instants; the angle by the law of equal areas; from 17° per second at the furthest to 400° at the closest; at the furthest, each face opens by 55° |
| The three impacts | at each closest approach: a wave and a crack; fragments torn away; a ball, a disc, then a planet and its ring (Figure 22) | a wave of 22 mm/s in rings of 7 mm, reflected inverted by the rim; about 55% of the fragments torn away as the crest passes; the ball from 3 to 14 mm in 0.45 s, the disc in 0.9 s |
| The freeze | everything freezes for five seconds; only the camera orbits the scene | matter at 2% of its speed; the camera’s clock at half speed, its radius multiplied by 1.45 |
| The melt | the planet spins faster and faster; the silver melts in 4 s, then the gold in 3 s (Figure 23) | a rotation from 35 to 540° per second, the equator faster than the poles; the relief multiplied by (1 − f), f being the molten fraction, from 0 to 1; the roughness tending towards 0.02 |
| The explosion | each drop is born from a line: 3,933 drops of gold and 8,053 of silver | about one cut segment in fourteen; a law written by hand, without a physics engine |
| The return | each drop flies back to its line, in the order of the engraving; the faces rebuild, absorbing the shocks; twenty fragments make a third piece, in silver, with its gold monogram inlaid (Figure 24) | a flight of 1.5 s; damped springs restarted at each shock; the face reappears through a time map |
| The breathing | the three pieces breathe | the gold by 15°, the silver by 14°, the piece by 8°, every six seconds |
| The departure | they move off into the depth; a flash at the point of light where the film began (Figure 25) | the same form of law as the arrival, with exponent 1.7; two light veils, 1,000 and 7,000 mm wide |
The glow that coloured the molten metal, a display colour ramp with no blackbody calculation, is removed after three versions: the molten metal stays a mirror, as a matter of taste.
A frame exposed for an object in sunlight keeps no stars, behind it or in its reflections, says the source research, and the test confirms it. At its true brightness, the sky changes nothing; boosted a millionfold, it washes out the trim lines. The Milky Way is set for the camera only: a pictorial choice.
The colour of electrum is computed from the alloy’s optical constants. They come from the model of Rioux et al. (2014), cross-checked against the measurements of Roberts and Clarke (1979), with a ΔE of 1.8. The result is a pale gold barely leaning towards green, in place of the washed-out champagne that mixing the colours gave. It is used for the three-dimensional title.
On the rented GPU, a single frame kept the GPU busy only 15% of the time, as the scene was built on the CPU. Four renders at once divide the time by 2.6 in HD; in 4K, three at once, and a single one for the frames of the gold’s melt. Électrum costs about €13 excluding VAT.
For the 3D engineer.
libx265 -preset medium -crf 12 -pix_fmt yuv420p10le -tag:v hvc1 -x265-params aq-mode=3.Step VIII
The sound of Électrum, then that of the beach
The agent measures; the director judges by ear. The sources are public domain, CC0, CC BY credited and marked as modified, or free to use with attribution, like the Big Bang simulation. Each is entered in a register on arrival. Everything is processed in Python, at 48 kHz, that is 2,000 samples per frame. The table gives each layer, its source, its processing and its placement (Figure 26).
| Layer | Source | Processing | Placement |
|---|---|---|---|
| The low voice | John G. Cramer’s Sound of the Big Bang simulation, derived from the spectrum measured by Planck | the fundamental, which descends, is tracked, and the sound replayed at the speed that gives the desired note | the notes of Électrum, except the two sine waves of unease; the bass of the beach, on D |
| The heart | a pulse every 0.42 s, heard by the director in this voice; the agent did not make it, and its origin is not established | extracted below 90 Hz | from 31.5 s to the explosion, over the frozen background during the freeze, with no silence before the explosion |
| The impacts | the Big Bang voice; a fireworks detonation; the rumble of a meteoroid impact on Mars, recorded by the seismometer of the InSight lander and sonified | the voice at notes from 24.5 to 14.6 Hz, each one falling; the detonation slowed 1.2 to 2 times; causal filters, without which the attack spread up to 17 ms ahead of the frame | on each impact, the onset of the detonation placed on the frame |
| The freeze | the background, at the instant everything freezes | a phase vocoder freezes the sound without changing its pitch; the background drops to −12 dB | the five seconds of the freeze |
| The explosion | the Big Bang voice; four detonations together; the Martian rumble | the voice starting on an A, falling by a fifth; the detonations slowed 2 to 3.5 times, the rumble 3 times; the burst, the high end of the explosion sound itself, saturated | on the frame, 5 dB above the third impact |
| The unease | two sine waves at 27.5 and 28.5 Hz, after the low note Thomas Bangalter sets under Irréversible | they undulate once per second, and grow louder before the explosion | under the explosion; from the opening, but below the threshold of hearing |
| Day | the Sun’s natural vibrations, measured for forty days by SOHO and sped up 42,000 times by A. Kosovichev | a note near 142 Hz, replayed 3.3% faster to hold the D | the beach |
| Night | the ground of the Moon under the impact of the Apollo 12 Lunar Module ascent stage, recorded on 20 November 1969 | sped up 150 times, the B flat | the beach |
| The coins | two real coins, in gold and in silver | tuned to the D chord | the night’s layers: lights (metal glints), grain and bass |
| The beat | the heartbeats of Électrum, taken one by one | realigned to the beach’s grid, 120 BPM, 125 at the peak, where the shots are shorter | the beach |
| The melody | the impact in Électrum that seals the inlaid piece, in place of coins being struck | in unison with the bass or on an odd multiple | the beach |
| The engraver | two old lathes, a jeweller’s saw, a tuned engraver’s burr, for lack of a freely usable recording of a rose engine | combined into a single sound | the beach |
A separate research session, on 278 sources, establishes that no frequency has a demonstrated effect of its own; 432 Hz, 528 Hz and the “sacred solfeggio” are legends. What acts is the level, the build-up and the silence that follows. A phone reproduces almost nothing below 150 Hz, where the film puts 70% of its energy: listen on headphones.
For the beach, once the films are joined, the Flow Music track no longer holds up beside the real sounds, and three attempts fail (dead ends Nos. 5 to 7). The agent’s idea holds: day and night through the real voices of the Sun and the Moon, on the grid of the electronic track, kept as a way of organising (dead end No. 7).
At the director’s request, a musical adversarial reviewer checks the track before the director listens to it (its brief is in the box “The components of the method”). It finds gong strokes where no coin strikes on screen, hits that grate at a quarter tone, and a level that is too flat; the director’s ear decides. The master track, 24-bit at 48 kHz, is sample-accurate to the picture.
For anyone redoing the sound.
Step IX
“Elektron”
The edit is done in Python, from the two negatives, without re-rendering anything. Électrum, in its scope frame set in the middle of the 16:9 image, runs for 1,796 frames. Twelve frames of light grow from the place of its flash and cover the black bars. Three frames of warm white follow. A fade opens on the dive into the sunflower. “Le jour, la nuit” follows, without the shot of the presentation case opening. A first attempt at the light, a disc with a softened edge, looked like a sticker on the image. The film has 5,235 frames. Of the Flow Music track, only its bar length remains: 46 frames (1.92 s), to which passages of the film had been edited.
The master file: HEVC Main 10, 3840 × 2160, 24 fps, 51.5 Mbit/s, sound in AAC at 48 kHz, 3 min 38.13 s.
Signing here means a copyright notice written into the metadata of each file. It is applied by streamcopy, without re-encoding, and the per-stream hash is checked before and after. A signed film stays as it is: the joined film is a new file, signed in turn. A hash list gives the size and the SHA-256 hash of each film. Only the salted hash of this list goes to three OpenTimestamps calendar servers, which write their commitments into the Bitcoin blockchain; for Elektron, in blocks 972643, 972646 and 972682. No one there sees or validates the films: the proof shows they existed at that moment.
The video published on YouTube is the one from troubleshooting No. 6 (Figure 27).
The faults a reader retracing the path will meet. The costs come from the transcripts; “not isolated” means that no passage of the transcript concerns this fault alone.
| No. | Step | Symptom | Cause | Fix | Cost |
|---|---|---|---|---|---|
| 1 | VI | Pixels jump from one frame to the next (fireflies), nearly fifteen thousand on the three-second test. | The metal’s blurred glints, which randomly drawn rays fill differently from one frame to the next. | Clamp the light a single ray can carry to 10; count the jumping pixels. The measurement alerts, the eye judges: a false alarm, grooves sweeping past fast, once stopped the render, and the remaining “shimmer”, present even on the still frame, is the effect of guilloché on the eye. | 0.4 working hours, 1.0 h elapsed |
| 2 | VI | Shots redone in 4K: motion blur forgotten, dives lengthened from 10 to 12 s, a focus adjustment, a shadow on the logo. | Judging in 4K what should be judged in HD. | The whole film in HD on the rented GPU, judged, before the 4K, for about €4. | not isolated |
| 3 | VII | A 4K frame comes out black, with no message. | Not established. | Every 4K frame compared with its HD double. | not isolated |
| 4 | VII | The edit of a draft loses 180 frames, silently. | Frames in mixed formats, RGB and RGBA: FFmpeg restarts its filters when the format changes, and the timestamp reset (setpts) loses the following frames. | All frames now come out in RGB, and each edit is checked frame by frame against the negative. | not isolated |
| 5 | VII | Dark backgrounds show banding. | 8-bit compression breaks dark, low-contrast backgrounds into hard-edged bands, whatever the setting; the rendered frames are clean. | Nothing is re-rendered: the film moves to 10-bit HEVC, and the gap to the rendered frame, measured on the frame read in 16 bits, falls to a third. | not isolated |
| 6 | IX | On YouTube, the opening plays again between 0:10 and 0:19, at every quality, while the file itself is sound. | Not established. | An H.264 re-encoded from the signed film, with closed GOPs and its copyright notice kept; watch the video on the platform before sharing its link. | 0.7 working hours, 1.0 h elapsed |
The attempts specific to this film that were abandoned, and what replaces them.
| No. | Step | Attempt | Why it failed | Replaced by | Cost |
|---|---|---|---|---|---|
| 1 | V | An ivory leather presentation case, 130 × 76 × 34 mm, already sized to its two recesses. | Still too thick, it looks like a box; its ivory, taken from the brand guidelines, looks like a consulting firm’s document; plain leather lacks realism beside the cut metal. | A thinner presentation case, in mahogany, the wood of coin cabinets. A black lacquer and an engine-turned plate of 240 rays are set aside along the way. | 1.2 working hours, 1.2 h elapsed |
| 2 | VII | An arrival in which the medals overflow the screen. | Too violent for the frame and for the object. | A single medal: gold and silver back to back. | 0.5 working hours, 0.5 h elapsed |
| 3 | VII | The first draft of the whole film, judged frame by frame: everything must be rebuilt. | Mechanical motion: the camera in circles, at constant speed, and medals set facing it, a shop window rather than a relationship. | The scenario rebuilt as a line test and in scope, around the Kepler dance. | 1.1 working hours, 1.9 h elapsed, after 6 h 26 min of rendering on the director’s computer |
| 4 | VII | A soft reflection, proposed for medals facing the camera and motionless, which read as a printed drawing. | Refused before being made: motion is what makes the metal. | The breathing, and the departure of the three pieces in place of the close-up. | 1.8 working hours, 2.6 h elapsed |
| 5 | VIII | For the beach, ambiences and a framework of chimes and time-stretched sea. | The ambiences sound like sound effects; the framework sounds like two separate tracks, and wears thin. | Nothing; their tools are reused. | 0.9 working hours, 2.1 h elapsed |
| 6 | VIII | Tchaikovsky’s “Dance of the Sugar Plum Fairy”, read note by note by the agent, written as text and played by a program with bells and drops. | To the director’s ear, a bell sound that irritates and rising chromatic runs outside the theme; for the agent, a tune everyone knows, which the ear notices before the film itself. | Nothing in the film. | 3.2 working hours, 9.1 h elapsed |
| 7 | VIII | An electronic track with an eighties drum machine sound: too much treble, neither gravity nor complexity. | The sound; the rhythm holds. | The rhythm kept as a grid, the sound brought back towards Électrum. | 0.6 working hours, 0.7 h elapsed |
The film’s 26 sessions count 557 messages from the director, 1,878 from the agent, 10,774 tool calls and 30 subagents. Steps IV to IX account for most of them, including 25 subagents. A session on moving the project accounts for the rest, including 5 subagents. The research session on frequencies, outside these 26, spawns 14 more. The agent wrote 50 Python programs, 13,713 lines. Nearly 10,000 frames were rendered in Warsaw, kept or redone, for about €47 of rented GPU time, excluding VAT; these amounts exclude the agent’s subscription.
The sessions worked some 86 hours, Électrum more than half of them. The lost passages span some twenty hours of elapsed time, leaving aside the rendering of Électrum’s first draft, for about ten working hours, a third of them on the Sugar Plum Fairy. Outside these hours, the time is waiting: the renders in Warsaw, the nights, and the agent’s usage limit, reached once and nearly reached another time.
The rules that held: research from sources before making; look at a result before describing it; judge the material on the metal, and motion as a line test, before any metal; the measurement alerts, the eye judges; HD before 4K; compare every final frame with its double; seeded randomness, everything computed as a function of time; an adversarial reviewer that cannot hear receives measurements; a signed file stays as it is.
What this case teaches one to do from the start: encode dark backgrounds in 10 bits from the first encode; render several frames at once on the rented GPU; keep a well-known tune away from a film about an object.
Translated from the French. The director dictates his requests by voice. These come from the transcripts, extracted by a program; only the punctuation and the dictation errors are corrected, and omitted passages are marked [...]. Sentences written by the agent that he merely approved with a click are excluded. Before the transcripts, only the files speak.
For the 3D engineer working in the browser.
The roles. The ideas, except those the step cards credit to the agent, and the direction and judgement of every image and every sound: the director. Source research, code, measurement and verification: the agent, its subagents and its adversarial reviewer. Rendering of the images: Blender, on the director’s computer and on the rented GPU. The prompt, the image and the music generated upstream: Google’s AI Mode, Flow and Flow Music. The writing of this report: the agent, under the direction of the director, who is accountable for it.
The sounds. The Big Bang: a sound simulation derived from the spectrum measured by Planck, (c) John G. Cramer - 2013, after Planck (ESA). The Sun: SOHO (ESA and NASA), sped up by A. Kosovichev, Stanford Experimental Physics Lab. The Moon: the Apollo 12 Passive Seismic Experiment Package, NASA Planetary Data System (Nunn et al., 2022). Mars: NASA/JPL-Caltech/CNES/Imperial College London. The gold and the silver: Walking.With.Microphones, Freesound, CC BY 4.0, modified. The engraver: Torsten Nilsson, Sounds of Changes, CC BY 4.0, modified; Leena Ahonen, Werstas, Sounds of Changes, CC BY 4.0, modified; rocdonald and dethrok, Freesound (CC0). The detonations: DylanTheFish, Freesound (CC0).
The images. The Milky Way: ESO/S. Brunier, CC BY 4.0, modified. The Moon: NASA’s Scientific Visualization Studio. The textures: Poly Haven, CC0.
References. Brittany Nicole Cox and David Lindow, “Looking at guilloché in conservation”, 2016; Pledge & Aldworth, glossary and dial notes; Battersby, the G-code program, 2011; Garrett, the LinuxCNC machine; patent US10649406B2; Science Museum Group, Desvignes’s spirograph; Revolution, 2024; Vacheron Constantin, “The Master guillocheur, artisan of depth”; H. Vogel, 1979; Jung and Dubois, 2023; Rioux et al., 2014; Roberts and Clarke, 1979; John G. Cramer, the Sound of the Big Bang, 2013; NASA, “Sounds of the Sun”; Nunn et al., 2022; JPL Horizons; J. Tang, interview with Gaspar Noé, Salon, 12 March 2003; the Blender manual, “Light Paths” and “GPU Rendering”; NVIDIA, the L4 datasheet; and the project’s frequency file, 278 sources.
Spirograph is a trademark of Hasbro. The houses, museums, institutions and people cited here took no part in this work.