@FinanceYF5: 这是这个视频里的幻灯片,如果你想自己看一遍的话: https://thariqs.github.io/cc-video-editing-deck/…

X AI KOLs Following Tools

Summary

This presentation explains how Fable used Claude Code to edit its own launch video, providing a step-by-step guide with slides.

这是这个视频里的幻灯片,如果你想自己看一遍的话: https://thariqs.github.io/cc-video-editing-deck/…
Original Article
View Cached Full Text

Cached at: 06/24/26, 10:01 AM

这是这个视频里的幻灯片,如果你想自己看一遍的话: https://thariqs.github.io/cc-video-editing-deck/…


How Fable Edited Its Own Video

Source: https://thariqs.github.io/cc-video-editing-deck/ Claude Code · June 2026

How Fable edited its ownlaunch video

The raw material

17 takes, 4 scenes

Intro

5 takes + a re-shoot

C001

C002

C003 ✓

C004

C017

C005

C006

C007

C008

C009

C010 ✓

Goals & verification

3 takes

Sony masters · S-Log3 · 4K · ≈25 GB ·✓ = made the cut

Where it ends up

…and the finished cut

Graded, animated, design-reviewed

4K · 24 fps · 3:00

Step 01

One prompt kicks off the whole edit

The prompt — in full

I’m processing the recording of a bunch of videos in @Fable-Full-Recording/ the script for them is in @Fable-Full-Recording/fable5script.md. I want you torun the eleven labs transcription serviceon them. Thenstitch together the best shots, into one final clip. A few notes: there are multiple take per scene, the best takes are usually the ones at the end with the fewest ums, but that can change. I also re-shot the first scene at the end. They should all be organized by timeline. For a few of them I start the video saying “Hey [name]” as a way of starting the sentence warm, we should cut that out.Create a JSON filefor the video that shows per scene, each clip we’re using and the time ranges from them. Then, create a final sceneusing ffmpeg.Orchestrate this all using workflows./goal dont stop until you have a final video

Taste in, pipeline out: transcribe → select → EDL → cut, all from this one message.

Step 01

Listen to every take

17 takes through Whisper, locally on the M4 Max —every word timestamped.

Whisper hears “Thariq” as “Sark.” The timestamps still land.

// work/transcripts/A004C003.json
"words": [
  { "word": " Hey",    "start": 1.02, "end": 1.50 },
  { "word": " it's",   "start": 1.90, "end": 2.04 },
  { "word": " Sark",   "start": 2.04, "end": 2.24 },
  { "word": " from",   "start": 2.24, "end": 2.42 },
  { "word": " the",    "start": 2.42, "end": 2.54 },
  { "word": " Claude", "start": 2.54, "end": 2.86 },
  { "word": " Code",   "start": 2.86, "end": 3.12 },
  { "word": " team",   "start": 3.12, "end": 3.38 }
]

Step 02

Subagents pick the best takes

“The final take inside C012 is flawless — zero ums… the ‘Hey [name]’ warm-up ends at 66.40; cut-in at 66.45 sits in the silent gap.”

selection_rationale · final-edit.json

One subagent per scene, verifiers double-checking. Every cut lands in silence.

Step 03

The edit is a JSON file

// final-edit.json — every cut, with its reasoning written down
{ "scene": 1, "title": "Part 1: Intro",
  "candidate_takes": ["C001", "C002", "C003", "C004", "C017 (re-shoot)"],
  "selection_rationale": "C017 is incomplete — 5.8s dead pause mid-sentence, disqualified.
                          C003 is the cleanest complete take: zero ums, clean ending.",
  "clips": [{ "clip": "A004C003", "start": 1.89, "end": 60.81,
              "first_words": "Hey everyone, it's Thariq..." }] },

{ "scene": 2, "title": "Thought Partner",    "picked": "C010" of 6 takes — "only one fully on script" },
{ "scene": 3, "title": "Goals & Verification", "picked": "C012" of 3 — "cut-in sits in the silent gap" },
{ "scene": 4, "title": "Be More Ambitious",   "picked": "C015" of 3 takes }

ffmpeg executes the JSON — then Claude re-transcribes its own cut:“zero ums.”

7 minraw folder → verified 2:50 cut

Step 03

ffmpeg stitches the first cut

The very first take — straight off the sensor

flat S-Log3 · no grade yet

From the prompt

Then, create a final sceneusing ffmpeg. /goal dont stop until you have a final video

# one frame-accurate cut per pick
ffmpeg -ss 1.89 -to 60.81 \
  -i A004C003.MP4 → cuts/seg1.mp4
# then join the four picks
ffmpeg -f concat -i concat.txt \
  -c copy fable5-final.mp4

A watchable 2:50 within minutes — the grade comes next.

Step 04

Write the color grade from scratch

The prompt

the color grading feels a bit too muted, can you fix that? make some examples of how we might regrade and let me choose one

7 hand-written .cube LUTs, S-Log3 → Rec.709. No preset packs.

Step 04

Log in, picture out

S-Log3 off the camera

neutral_cool_desat · the final grade

Step 05 · Graphics

The input: 11 static design frames

The prompt

I’ve added a bunch of design files for interludes in @Fable-Full-Recording/fable5-assets/ — I want to use remotion to sttich these all together into a final clip that smoothly animates in the assets… please do a first pass.

Just PNGs. No animation spec, no timings.

5 cards + 6 overlays, from fable5-assets/

Step 05 · Graphics

Each PNG is rebuilt as code

…becomes JSX. Every word, color and beat is now aparameter you can prompt.

// KeypointLedger.tsx — the real component
// Beat 2: right column lights up, left grays + strikes
const beat2 = interpolate(frame,
  [beat2At, beat2At + 12], [0, 1],
  { easing: EASE_OUT });

<div style={{...text, color: cream, opacity: 1 - beat2}}>
  “Is Claude doing the work right?”
</div>
<div style={{...text, opacity: beat2,
             textDecoration: 'line-through'}}>

Step 05 · Graphics

One file sets the feel

// anim.tsx — global timing knobs (frames @ 24fps)
// tweak these first
export const TIMING = {
  reveal: 13,        // element entrance
  stagger: 4,        // gap between siblings
  overlayIn: 10,     // panel slide-in (~430ms)
  overlayOut: 8,     // fade-out
  emphasisDelay: 3,  // clay words tick in late
};
export const EASE_OUT = Easing.bezier(0.16, 1, 0.3, 1);

Six numbers drive every animation in the video.“Make it snappier” is a one-line change.

Step 05 · Graphics

The edit is a cue sheet, timed by the transcript

// FinalEdit.tsx — overlays land on the word
CUES = [
  // "…it's Thariq from the Claude Code team"
  { id: 'lower-third', at: 1.2,  dur: 4.5 },
  // "Is Claude doing the right work?"
  { id: 'keypoint',    at: 12.2, dur: 25.6 },
  { id: 'three-ways',  at: 43.0, dur: 15.8 },
];

No timeline scrubbing: Claudegreps the word timestampsfor the phrase and moves the cue.

Step 05 · Graphics

Watch it land on the spoken beat

<KeypointLedger
  beat2At={295} />

Frame 295 is the word*“right.”*

Step 06

Export the designs to Figma

The prompt

I want my design team to be able to make tweaks to these components…

Then

great now can you also export it to a figma file

A real Figma file via MCP: components, color-grading station, motion page with live-render GIFs.

Fable 5 — Video Graphics (Design Review), built through the Figma MCP

Step 07

A control room for designers —this one is live, try the sliders

Drag the grade sliders, replay the animations, then**“copy feedback as prompt”**— exact numbers, ready to paste back into Claude Code.

Step 08

Import the redesign back from Figma

The prompt

the design has been updated in this Figma… can you update the video to match?

After— the design team’s minimal pass, rebuilt in code

3840×2160

at exactly 24 fps

4,334 frames

verified still-by-still first

3:00 · 653 MB

done at 6:24 am

Under the hood

The whole edit is a repo

transcripts/*.json

Whisper word timestamps for all 17 takes. Every cut point and overlay cue isgrepped out of these, never scrubbed.

final-edit.json

The edit decision list: candidate takes, in/out points, and thewritten rationalefor every pick. ffmpeg executes it.

luts/*.cube

7 hand-written color LUTs, S-Log3 → Rec.709. The grade isplain text— applied by ffmpeg at encode time.

src/cards · src/overlays

11 graphics asReact componentsin Remotion — the designers’ PNGs rebuilt so every word and color is a prop.

anim.tsx · FinalEdit.tsx

Six timing knobs set the feel; acue sheetlands each overlay on the spoken word from the transcript.

npx remotion render

Headless 4K render, 4,334 frames — Claudescreenshots stillsto review its own work before each full pass.

No timeline, no project file —the edit is text, so Claude can read it, diff it, and re-render it.

The whole job

By the numbers

17

camera takes, 25 GB raw

7

LUTs written from scratch

11

graphics built as components

~10

re-renders in one night

code → Figma → code round trips

Edited by Claude Code.

Footage by a camera. Taste by Thariq. Everything in between, by the agent the video is about.

1 / 15

Similar Articles

@FinanceYF5: Fable 5 used itself to edit its own launch video. The Anthropic Claude Code team never touched a video editor — transcription, color grading, ffmpeg, Figma MCP, Remotion rendering, all done by Fable writing code and orchestrating tools. AI edited the video that announced the birth of AI...

X AI KOLs Following

Fable 5 fully automated the editing of its own launch video using Anthropic Claude Code team's tools (including ffmpeg, Figma MCP, Remotion, etc.), achieving AI-driven video production, creating a recursive effect.

@GitTrend0x: Claude Code can now edit videos too! This SKILL is 100% free and open source. ✓ Automatically create animations ✓ Generate subtitles in different styles ✓ Remove silence, errors, and filler words https://github.com/browser-use/video-us…

X AI KOLs Timeline

video-use is a 100% open-source tool that lets Claude Code edit videos automatically by removing filler words, adding subtitles, color grading, and generating animations. It integrates with Claude Code via a skill and uses ElevenLabs for transcription.

@Easycompany333: Compiled 6 Claude Skills for video that you can try directly: 1. HyperFrames – generate animated video with one sentence. Articles, tweets, product intros can all become MP4. Suitable for product promotion, tutorial openers, short social videos. https://github.com/heyg…

X AI KOLs Timeline

Compiled 6 Claude Skills for video that can be used directly, covering auto-generated animated videos, AI-assisted rough cuts, React component rendered videos, multimedia generation toolbox, Chinese editing agent, and video prompt writing open-source tools.