Breakdown Studio
Open-source · VFX breakdown toolkit

Breakdown and budget
a whole film. Solo.

A production hands you the cut and needs a number. Every bid, schedule and vendor package hangs off the shot breakdown, and doing it alone used to mean weeks of hand-logging that a re-cut threw away. Breakdown Studio builds it from the edit: splits every shot, reads the burned-in slates and VFX notes, thumbnails it into a live Google Sheet, then re-matches each new cut back to your master, with the duration deltas your renegotiation runs on.

Built by a working VFX supervisor / producer, breaking down and budgeting a real feature, alone, cut after cut.
THE EDIT · 24fpsDETECTING SHOTS…

The whole process, end to end

Edit in. Living master breakdown out.

Eight steps, one tool. It runs offline on your own machine and your own Google account. Every step ships today, validated against four cuts of a real feature in production.

01

Scan & split the first cut shipping

Neural shot-boundary detection finds every cut in the movie file. A slate-change check catches over-splits and missed cuts, so the shot list is true before anything downstream.

TransNetV2, offline
→ Scenes.csv, review band
02

Frames: start · middle · end shipping

Three frame-accurate stills per shot. Pick which frame represents the shot, or keep all three for a scrub-free read of how it moves.

ffmpeg, frame-accurate
→ start / mid / end
03

OCR the burn-ins into the breakdown shipping

Read the top-left slate (scene / slate / take) for identity, and the bottom-left editorial note that actually marks a shot as VFX. A three-frame check rejects notes that bled off the shot before.

EasyOCR, multi-frame
→ slate, take, VFX note
04

Thumbnails to Google Drive shipping

Every thumbnail uploads to your own Drive, deduplicated by checksum so re-runs never pile up copies, and the sheet points straight at them.

Drive, your account
→ md5-aware upload
05

Live Google-Sheet breakdown shipping

A real spreadsheet with inline thumbnails, shot codes, real show timecode and duration, ready to bid, note, and share, on the account you already use.

Sheets API, desktop OAuth
→ thumbnailed breakdown
06

Contact sheets & reference clips shipping

An 8K contact sheet for the whole reel, plus per-shot reference clips with the shot code and duration burned in, and a stitched timeline, for reviews and vendor packages.

PIL + ffmpeg
→ contact sheet, ref clips
07

Compare cuts shipping

Diff a new cut against the last one: what stayed, shifted, changed, dropped, or is genuinely new, so a re-cut becomes a short review instead of a full re-log.

alignment + slate identity
→ change report
08

Update the master, 1:1 shipping

Match every shot back to your master one-to-one and write its new timecode, duration, thumbnail and notes in place. Hand-added shots are protected; nothing applies without your sign-off.

exact · ordinal · CLIP
→ gated master update

See it

The real app, running a real pipeline.

Everything below was produced by the tool itself on the Blender Foundation's open film Tears of Steel (CC-BY), dressed with production-style slate and note burn-ins by the shipped dress_film.py. No client footage anywhere on this site. 149 shots detected, slates read at 96%, notes at 98%, straight off the burn-ins.

The dressed cut, the 8K contact sheet, and the app mid-run · footage (CC) Blender Foundation | mango.blender.org
Breakdown Studio Qt app mid-run: QC stage at 89 percent with live log
Mid-run: QC stage, live progress and log.
8K contact sheet of the 149-shot Tears of Steel demo cut
The contact sheet: every shot, slate and TC burned in · (CC) Blender Foundation

Validated on a real production

Tested against four cuts of a real feature film.

Not a toy benchmark. Every module was regression-tested against the operator-verified breakdown of a feature in active production: four successive cuts, thousands of slate reads, and the final producer-approved master match as ground truth. (The production stays unnamed; the numbers don't.)

98%
Slate grammar9,188 operator-verified burn-in reads across four cuts, parsed by the shipping grammar. The residue is OCR luck, not logic.
100%
Live OCREasyOCR on real frames vs the production reads, after the OCR-confusable substitution tier (s→5, o→0, &→8) landed.
8/8
Boundary QCEvery production merge flag reproduced with zero false extras; one contradictory production flag handled more coherently.
~95%
Cut-to-master matchThe 1:1 matcher reproduces the producer-approved outcome on the achievable subset, zero uniqueness collisions. The last 5% is the supervisor's eye, by design.
4 cuts
Chained revision testFour successive cuts matched in sequence, master-style: the uniqueness invariant held on every transition and 90.8% of shot codes stayed stable across the whole chain, with every drift traced to a real editorial cause.
498
Tests, all greenNine suites: frame math, grammar, repair logic, matcher invariants, installers, doctor. Plus an end-to-end sheet build verified idempotent: re-running updates in place, never duplicates.

Who built it, and why

I built this because I was hand-matching six hundred shots across every re-cut, and losing real work in the noise. So I did what the show needed: designed the pipeline, wrote the tooling, and briefed the AI to carry the parts that don't automate. The tool does the bookkeeping so producers can do the producing.

Geoffrey Hancock · VFX Supervisor & Producer who also builds the tools. Designed and hardened this end to end on a live feature, from the neural shot detection to the AI guardrails, while running the show it was built for.

The portfolio point, in one line: not a VFX artist who bought some tooling, and not an engineer who read about VFX. One person who can supervise the shots, engineer the pipeline, and orchestrate the AI with the right guardrails, and ship all three into daily production use.

Currently open to VFX supervision and production work · geoff@wanglemedia.com

stackPython · TransNetV2 · ffmpeg · EasyOCR · CLIP
syncGoogle Sheets & Drive, your account
runsWindows · macOS · Linux, offline
assistantCLAUDE.md brief + skills, pair with Claude
footagestays local, never uploaded
built byone operator + AI pair, on a live feature
licenceopen-source · MIT

The differentiator · AI, orchestrated

The tool does the mechanical half. A briefed assistant does the judgment.

This is the part nobody else ships: not just using AI, orchestrating it into a reproducible pipeline. Detecting, framing, OCR and upload are automatic. But whether a vanished shot is a real drop or a protected invisible-VFX shot, whether two over-splits should merge, which master row a drifted code belongs to, that is judgment. Breakdown Studio ships a context pack that briefs Claude, or any AI pair, to do exactly that, with the guardrails already baked in.

CLAUDE.md
A project briefEvery session opens already knowing your pipeline, the slate grammar, the matching rules and the traps, so the assistant is useful from the first message.
skills/
Seven judgment skillsintake-cut runs the whole "new cut arrived" cycle and stops at your gates; qc-boundaries, match-cut, reconcile-notes, update-master do the judgment; budget-deltas and vendor-refs deliver the producer goods. Only one skill may write to the master, behind your sign-off.
memory/
A memory that learns the showEight seeded patterns: record a per-shot decision once, keyed on the slate not the timecode, and it carries into the next cut. Every re-cut surfaces only what changed.
PATTERNS.md
More than one assistantWhen the show grows a bidding seat next to the breakdown seat: a shared channel, clear ownership, ping before structural change, and the peer re-verifies with its own harness. Production-proven.

The guardrails, in action

> /match-cut staged 264 exact · 30 visual · 51 new 3 codes duplicate, flagged red for review master untouched · awaiting your sign-off > /update-master blocked: 6 protected shots would be omitted restored · 328 rows updated in place costs & producer columns never touched

Protected shots never auto-omit. Identity is the slate, never the timecode. Nothing hits the master without your approval. The rules travel with the tool.


The hard part, solved

Match a new cut to your master, 1:1.

A master shot code is unique, so the match is a strict one-to-one assignment. It resolves in priority order, the same way an experienced coordinator does it by hand.

01
Exact codeSame slate, take and counter. An instant, certain match.
02
Ordinal within a slateWhen counters drift, pair the pieces in order, first to first. Never re-ordered by picture.
03
Slate, take relaxedSame setup, a re-labelled take. Carried forward with the new code.
04
Visual, last resortOnly for slate-less placeholders. A clear slate always beats a look-alike.

New cut

SHW_0884_02_020exact
SHW_0519_03_040ordinal
SHW_0519_03_050ordinal
SHW_0932_01_010new?

Master

SHW_0884_02_020
SHW_0519_03_030
SHW_0519_03_040
· dropped ·

weeks → an afternoonThe film-wide breakdown that used to take weeks of hand-logging, and got half-thrown-away on every re-cut, runs in one pass and updates itself.
Built for the one-person VFX department
Independent VFX producers

Budget the whole film

An accurate, current shot count, the VFX subset, and per-shot duration deltas cut to cut: the numbers a bid, a vendor negotiation and a cashflow actually stand on.

Supervisors on double duty

Supervise, don't type

When you are the supervisor and the coordinator, the log builds itself: every VFX shot and its editorial note surfaced straight from the burn-in.

The production

Numbers they can greenlight

Your client gets a thumbnail-for-thumbnail breakdown and a budget that tracks the cut instead of drifting behind it, from one person, in days.


Open, and honest about it

Shipping now, and where it's going.

The ingest-to-sheet half is done and in daily use. The cross-cut intelligence was proven on a real feature and is being folded into the open tool. Contributors welcome.

now In your hands today

  • Detect & split shots, offline
  • Start / mid / end frames + thumbnails
  • Google Drive upload + live Sheet breakdown, your account
  • 8K contact sheet + burned-in reference clips
  • Blank template from a studio master
  • AI kit: a CLAUDE.md brief + 7 skills + memory to pair with Claude
  • Slate + VFX-note OCR straight into the sheet
  • Boundary QC + real show timecode
  • Compare-cuts change report
  • 1:1 master matching with protected shots & a review gate
  • Packaged Windows build (no Python needed) · MIT licence
Open source · MIT · on GitHub

Use it today. Or talk to the person who built it.

Breakdown Studio is open source and shipping now: grab the packaged Windows build from the v1.0.0 release (no Python needed), or run it from source anywhere. And if what you actually need is the person who designs and ships pipelines like this, that's one email.