All work

( EDITING PIPELINE · CUT 04 )

A toolkit that lets Claude Code read my Final Cut projects, plan an edit on the beat, and hand back a new timeline. I still grade every frame myself.

Role
Director: style brief, rules, every creative call. Built with Claude and Claude Code.
Timeline
2026-10 → now
Status
IN USE
Stack
  • Claude Code
  • Python
  • ffmpeg
  • FCPXML 1.14
  • xmllint (Apple DTD)
  • mlx-whisper
  • Final Cut Pro
EDITING PIPELINE · CUT 04
The editing toolkit: files in, a validated timeline out, with a human checkpoint FCPXML export → Footage + music analysis; Footage + music analysis → Beat map; Beat map → Plan (JSON + table); Plan (JSON + table) → Checkpoint; Checkpoint → Build FCPXML; Build FCPXML → DTD validation; DTD validation → Import; Import → QA render. FCPXML export Footage + music analysis Beat map Plan (JSON + table) Checkpoint Build FCPXML DTD validation Import QA render The editing toolkit: files in, a validated timeline out, with a human checkpoint FCPXML export → Footage + music analysis; Footage + music analysis → Beat map; Beat map → Plan (JSON + table); Plan (JSON + table) → Checkpoint; Checkpoint → Build FCPXML; Build FCPXML → DTD validation; DTD validation → Import; Import → QA render. FCPXML export Footage + music analysis Beat map Plan (JSON + table) Checkpoint Build FCPXML DTD validation Import QA render

( 01 — Overview )

Overview

I shoot portraits, birthdays and events in Atlanta and edit in Final Cut Pro. Most of the job is selection and rhythm: which frames, on which beats. I wanted an assistant editor that works the way I do, and never touches my originals.

( 02 — Problem )

Problem

Screen-driving an editing app is slow and imprecise. My style had never been written down. And a tool that edits for you can quietly overwrite a client's project.

( 03 — Approach )

Approach

  • Files, not clicks. A toolkit lets Claude Code read Final Cut Pro XML (FCPXML 1.14), analyze footage and music, plan an edit on the beat, build a new project file validated against Apple's DTD, and check a rendered review copy. Screen control is only used to import the result and check it.
  • My style, measured. Measured from one of Jovi's finished edits: about 20 shots in 28 seconds, a three-shot hook in the first 1.3 seconds, five short flashes, and about half the cuts within four frames of a musical hit (p ≈ 0.04 against random placement).1 That became the brief, as a style guide rather than a template.
  • My vocabulary. Flash, Rewind, Smooth Slo-Mo, cross dissolves, opacity overlays and scale moves, named the way Final Cut names them.
  • Hard rules. Never touch media or existing projects. Every build is a new project with a new version number. Never colour-grade: that's mine.
  • Checkpoints. Plan, then build, then review. The dialogue upgrade adds word-level transcripts, footage laid over speech, split edits and three approval checkpoints, for event recaps of 90–150 seconds.

( 04 — Outcome )

Outcome

  • First job: seven studio clips (about 3:15) cut into a roughly 30-second vertical edit from a 22-shot plan.

( 05 — What failed )

What failed

  • A keyframe-timing bug in the builder. Claude Code found and fixed it on its own, and logged the fix.
  • Log footage looks flat in thumbnails, so the agent judges composition, focus and eyes, never colour.

( 06 — Credits )

Credits

Built with Claude and Claude Code. Direction, briefs, final edits and colour grading: Jovi Ukwade.

How these numbers were measured

  1. Measured from one of Jovi's finished edits: about 20 shots in 28 seconds, a three-shot hook in the first 1.3 seconds, five short flashes, and about half the cuts within four frames of a musical hit (p ≈ 0.04 against random placement). Method: Frame-by-frame analysis of the exported edit (luma, frame differences, optical flow, beat and onset detection). ↩
( Next cut ) Vuee