System 02 · October 2026
Slate Nuke plugin suite
A Nuke plugin suite that loads the shot, sets its colour contract, caches, bakes card pins, patches with AI and QCs the delivery. Built in 23 verified passes, shipping on real jobs.
Measured results
- Release 0.9.3 version 23 build passes between 7 September and 14 October 2026, each verified in a real Nuke 17 session or headless before it shipped.
- Tests 39 files, no Nuke needed A mock of the Nuke API runs the suite on any machine. The integration test checks the menu tree, hotkeys and callbacks against the live plugin.
- Comp template deep dive 406 scripts read Fifteen readers over 406 Nuke scripts across 14 jobs found that the template's output half had never been used once. Version 4 rebuilt it with write slots, review and compare lanes, and a contract lint.
- Leftover processes found 8.9 GB GPU memory Nuke Doctor found eight frame-server workers and two matte servers from dead sessions holding 7.6 GB of RAM and 8.9 GB of GPU memory, and ends them in one click.
Problem
Every shot started with the same forty minutes of setup: find the newest plate, the roto versions, the camera and the LUT, set the colourspaces by hand, build the writes, and at the end check the render by eye. The comp template's output half had rotted, the AI tools lived outside the comp, and leftover GPU processes from dead sessions slowed the machine for hours.
Method
One plugin, one menu, one test suite. Load from Slate scans the shot folder and builds the template with every element in its lane. Colour Setup reads the plate metadata and applies the contract to Reads, Writes and Viewers. SlateCache, Card Pin, AI Patch and the Higgsfield nodes are Groups with their logic in plain Python. Nuke Doctor watches the session, and qc.py plus package.py close the loop at delivery. Every pass was verified in a real Nuke 17 session or headless before it shipped.
In production
Slate started as a shot loader and became the place every other system plugs into. Loading a shot now means one dialogue: the scanner finds the newest turnover plate, every roto version, the camera (alembic, ReadGeo or an STMap undistort), the approved assets and the job LUTs, ticks the latest of each, and builds the comp from the Slate template with the elements in their lanes and a REF backdrop holding the locked edit. The Writes are created from the job’s write slots, so a display render, a client dailies copy with burn-ins and a QC pass happen without anyone remembering to add them.
The colour contract lives in one node. Colour Setup reads the job file, the show LUT name, the plate path and the file metadata, says which source class it believes the plate is and why, and applies that to every Read, Write and Viewer. The measured limit is honest: an errored Read has no metadata, and NCLC tags cannot tell a log plate from a graded one, so a low-confidence guess is flagged rather than hidden.
Three things did not survive. A live scopes panel was built, measured, and removed when it made Nuke unusable, because Nuke’s own scopes are not free either. A command-port integration was reverted the same day. And running a modern PyTorch model inside Nuke on Windows turned out to be impossible, because Nuke ships its own libtorch, which is why the DepthCrafter node runs out of process.
Next: promote template v04 from staging, finish the AI Patch tone match and hand-off kit, and release one node on Nukepedia with its own showreel. Slate the product is at slatestudio.online.