Cut a tutorial video in an undocumented editor by writing its project file

Settakarn Kl had Claude Code work out FilmCraft's undocumented project format through a hidden control flag, then cut a captioned how-to video from a one-line brief and packaged it as a skill.

Done withClaude Code· Oct 30, 2026

What they did

Settakarn Kl wanted Claude Code to edit screen recordings in FilmCraft, an early open-source video editor written in Rust. FilmCraft has no editing API and no published schema for its .fcproj project files, which are plain JSON. Claude found an undocumented --control flag that starts a local server for driving the app's UI. On a copy of the project it told the app to do things like drag a clip onto the timeline, then read the recovery snapshots the app saves every five seconds to learn the real field names. From that it wrote a timeline writer and a launcher that opens the app to prove a file loads, and bundled both into a Claude Code skill. In use, the author imports footage, closes the app and gives a brief such as a five minute tutorial split by steps, Thai captions on each step and loading waits sped up 3x. Claude uses ffmpeg to find scene changes and pull stills, writes a JSON edit plan, writes the timeline after backing up the file, then opens FilmCraft, counts clips, checks the log and returns a screenshot.

How it went

The author shows a finished tutorial video and the resulting sequence open in FilmCraft. Change requests in plain words, such as speeding up the intro to 2x or trimming the whole cut under three minutes, go through the edit plan and are recalculated from the original clip lengths, so speeds do not stack. It handles straight cuts only. Transitions and titles are left out because their schema was never confirmed. Thai text renders in the exported video but shows as empty boxes in the app's UI. No time or cost figures are given.

Worth knowing

Close FilmCraft before Claude writes the file, or the app saves over its work. The skill targets FilmCraft 0.14.x with schema version 15 on macOS with Python 3 and ffmpeg, and the new sequence lands in a bin that you open by hand. The post is in Thai and the skill is published on GitHub.

Try it

With Claude Code· 6 parts to fill in

My video project is at [path to project file] in [video editor], which has no API and no documented file format. First, on a copy of the project, find out how the format really works: look for any automation or control mode, have the app make a change and read what it writes, and never guess a field name. Then cut a [type of video] of about [length], split into [sections], with a caption on each section and loading or waiting parts sped up to [speed]. Write a JSON edit plan first and show it to me. Back up the original file before writing the timeline, then open the project in the app, check the log for errors and send me a screenshot. Stop there and wait for my changes.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related