I wanted a short video of a supply chain: one conveyor belt through three companies, with money coming out at the end. Claude Code (Claude Opus 5.5) made it in Blender 5.2 from one prompt. Every object in the scene is generated by Python, no downloaded 3D models.

The prompt

Using any framework and approach you deem the best, generate a 3D render video of a conveyor belt going through three companies with a large 3D title:

  1. Supplier
  2. Assembly plant (building of the second company)
  3. Distributor

Each company building should be a fully detailed, high-quality 3D model that has the character of such a type of building, with the little details people like. Between all of the buildings, ideate what should be going on the conveyor belts. At the front of the distributor at the end, there should be golden coins just spawning out of it.

Make up the details. We are going for high visual fidelity, good lighting, and everything verified. Do direct implementation, but use subagents as you deem necessary.

Follow-ups only asked for a preview of the first 400 frames, a page on how it was made and a version under 20 MB. No corrections to the scene.

What it made up

# Company Building On the belt
1 Ironvale Metalworks Foundry: sawtooth roof, 32 m smoking chimney, silos, gantry crane Gears, cable spools, battery packs
2 Apex Robotics Clean factory: glass office, showroom with a working robot arm, parking lot Robots that turn their heads and blink
3 Swiftline Distribution Warehouse: loading docks, trucks, forklift, pallets Robots go in, 1400 gold coins pour out the front door
Belt with a copper cable spool entering the assembly plant Assembly plant with rooftop title, glass office and showroom robot arm Small robots riding the belt into the distributor Gold coins pouring out of the distributor shipping door
Frames 181, 271, 331 and 451. Source: own work

How it was made

The full breakdown with code map and commands is on a separate page. Short version:

  • Downloaded: 1 sky HDRI and 8 CC0 texture sets from Poly Haven (asphalt, brick, concrete, corrugated iron…). Fonts are the Arial that ships with macOS. Everything else is built by 6 092 lines of Python in 10 files.
  • Split of work: the main agent first wrote shared materials and a contract: each building is a module with build(col) -> dict, placed at x = -40 / 0 / +40 with belt portals at fixed spots. Three subagents then wrote one building each in parallel (about 1200 lines each) and checked it alone from 8-10 viewpoints. The main agent wrote the rest: ground, 1167 procedural trees, belt, cargo, titles, camera and the coins.
  • Coins: a rigid-body simulation of 1400 coins. Blender’s bake-to-keyframes does not work without UI, so a small recorder steps the frames and writes the positions to F-curves.
  • Verification: every change was checked on rendered stills, not by reading code. Selected frames at 960 × 540 were tiled into contact sheets and checked for camera collisions, things blocking the shot, lighting and physics glitches.
  • Render: Cycles on the M5 Pro’s Metal GPU, 64 samples with OIDN denoising, about 30 s per frame, 5 hours for 600 frames at 1920 × 1080. The scene has 6305 objects and 163 materials.

Most of the problems were performance. Trees with leaves as instances made Cycles expand millions of objects (250-450 s per frame, once a deadlock at 0% CPU); merging the leaves into one mesh per tree fixed both. A reopened .blend renders on the CPU because the GPU is a user preference, which a timing check at final quality caught (150 s vs 32 s per frame).

The one fix it found itself

After encoding, the agent sampled frames from the finished video and found a dark rectangle in the road. The site driveways were 12 m long and stuck 3 m into the road, drawing a second asphalt surface. Driveways now end under the sidewalk, and only the 225 frames where the road is visible were re-rendered.

Frame 571 before the fix, dark driveway patch in the road Frame 571 after the fix, clean road
Frame 571, before ‒> after. Source: own work