Video editing guide

Claude Code for Video Editing: A Practical FFmpeg Workflow

Updated

Claude Code can help build and revise an edit of footage you already have through commands, while FFmpeg performs the media operations. The agent is useful for turning a reviewed cut list into commands and for organizing repeatable steps. It does not make an editorial decision correct merely because the command runs. You still need to inspect the cuts, listen to the sound, and review the exported file.

This guide covers recorded media: selecting source intervals, joining them in an intended order, and checking the result. It does not use Remotion to generate motion graphics; that is a separate Claude Code and Remotion workflow. It does not promise that Claude Code understands every visual moment in a video. Anthropic describes Claude Code as a coding agent that works with projects and tools, and FFmpeg's manual documents the media command-line tool used here.

In this guide: Prepare the media · Write the cut list · Use the agent · Review the export · FAQ

When this workflow is worth using

Use commands to edit when the decisions can be stated precisely: keep these time ranges, put them in this order, add a consistent opening or ending, and export to a known target. This can be useful for batch processing several recordings that follow the same pattern or for a developer who wants the edit steps preserved in a project. It can be less efficient than a visual timeline when the decision depends on an expression, a gesture, or a subtle change in pacing.

The division of labor is straightforward. You choose the moments and approve the structure. Claude Code helps translate those instructions into project files and commands. FFmpeg reads and writes the media. You watch and listen to the output. If the source ranges are wrong, a technically correct command can still produce a poor edit.

Prepare a small, reviewable project

Create a working directory with an assets folder for source footage, a notes folder for the cut list, and an output folder for generated files. Keep a separate copy of the original recording and tell Claude Code not to overwrite it. Use clear source names such as interview-a.mp4 and product-demo.mp4, and record which file each proposed interval comes from.

Before asking for edits, inspect the media you actually have. Note the video dimensions, frame rate, audio presence, and whether the clips have visibly different orientations or sound levels. FFmpeg can report stream details; ask Claude Code to show you the inspection step and its findings before it proposes an export. The FFmpeg manual explains how the tool handles input, output, streams, and options. You do not need to memorize every option, but you should know which files a proposed command reads and writes.

If your material is private, review the agent's tool access and data handling before giving it the project. A local FFmpeg process can work with local media, but that alone does not establish that the entire agent workflow is local. Keep the privacy claim tied to the component that actually performs the processing.

Make a cut list before generating commands

A cut list is the contract between your editorial choice and the command. Give each row a source file, an in point, an out point, a destination order, and a note about why it stays. Time ranges should use one consistent format. Distinguish source time from the time the segment will occupy in the finished video.

For example, a cut list for a recorded explanation could look like this:

OrderSourceInOutEditorial reason
1demo.mp400:00:4200:00:55Show the result before the setup
2demo.mp400:00:0800:00:25Define the problem
3demo.mp400:01:2000:01:48Keep the demonstration

These times are an illustrative plan, not a claim that any footage was processed or that the transitions will be clean. Play a few seconds around every in and out point before committing to them. A cut starting exactly when a word begins may clip its first sound. A cut ending at a timestamp may remove the action the voice is describing.

For a long interview, first ask Claude to propose a cut list from a timestamped transcript, then verify that list against the recording. For a visual demo, add a shot log or stills so the proposed order can account for what viewers will see. Our guide to whether Claude can watch videos explains the limits of those representations.

Ask Claude Code for an inspectable edit

Give the agent the project path, the cut list, the requested output name, and explicit constraints. Ask it to present the planned media commands before executing them. A useful prompt is:

Work on the existing media in this project. Read notes/cut-list.md and inspect the files in assets. Do not modify or overwrite source files. Propose a minimal FFmpeg workflow that creates a review copy in output, keeping the listed intervals in order. Explain the input and output paths, how audio is handled, and any assumptions about matching streams or timing. Show the commands before running them. After I approve the plan, run the steps, report tool errors, and tell me what playback checks remain. Do not claim that a successful command proves the edit looks or sounds good.

This prompt creates useful stopping points. You can catch an accidental overwrite, a missing clip, a wrong source time, or a silent output before running the command. If the agent suggests a complex filter graph for a simple sequence of cuts, ask why each part is needed. If it proposes copying streams to save time, ask whether the resulting cut points and joins will meet your precision needs. Different source formats may require conversion before they can be joined cleanly. Let the agent explain the tradeoff, then inspect the output.

Once you agree to the plan, have the agent create a short review copy first. Check only the joins and the most important visual moments. Then revise the cut list or command as needed. A repeatable workflow is valuable because the next draft should come from changed source instructions, not from an opaque sequence of manual patches.

Review picture, sound, and file output

Watch the entire review copy, including its first and last seconds. At each join, check for clipped words, abrupt room tone, a jump in exposure, or a gesture that starts in one shot and ends nowhere. Read any on-screen text in the actual rendered file. Scrub through the audio on headphones as well as speakers if voice clarity matters.

Then inspect the output file's duration, dimensions, and audio stream against your delivery needs. A playable file can still have an unintended crop or missing sound. Keep the original source and cut list until the delivered file is accepted. If you change the order or length, revise the list and regenerate the file so the project explains the final result.

For some short talking videos, a visual editor is simply the better fit. Cutiz lets you manually trim and reorder existing clips on a timeline, remove detected silences with a reversible toggle, and denoise voice audio on the device after its model has downloaded. You can follow a trimming walkthrough or a silence removal walkthrough. Cutiz does not import and execute a Claude Code cut list; you make the decisions in its interface.

Common mistakes to avoid

Asking for “the best moments” without evidence. The agent needs a transcript, shot log, frames, or your own reviewed selections. A file path is not an editorial brief.

Treating a command exit as quality assurance. An FFmpeg process finishing means the operation ran; it does not prove that a quote kept its context or a cut feels natural.

Mixing source and output paths. A clear assets versus output boundary keeps the original available for another pass. Review proposed commands before execution.

Changing too many variables at once. First make the cut sequence. Then solve audio level, crop, captions, or visual polish. This makes errors easier to locate and avoids attributing every problem to the agent.

Choose the workflow you can review

Claude Code plus FFmpeg is useful when you want a precise, repeatable edit through commands and are willing to inspect both the commands and the resulting video. A visual timeline fits better when the cut depends on seeing and hearing each moment. If your existing footage needs manual cuts, silence removal, and voice cleanup without a command project, edit it in Cutiz.

Frequently asked questions

Can Claude Code edit videos with FFmpeg?
Claude Code can help create and run commands in a project that has FFmpeg available. FFmpeg performs the media operations. The workflow depends on your environment, files, and instructions; inspect the plan and exported media rather than assuming a generated command is correct.
Does Claude Code watch the whole video?
Do not assume that from its access to a file. The agent can work with tools and representations you provide. A transcript, frames, or metadata exposes different aspects of the source, and none alone replaces playback of the video.
Do I need Remotion for this workflow?
No. This guide edits existing footage through FFmpeg. Remotion is useful for code-generated compositions and has its own official guide for coding agents. Choose it when the deliverable is an animation project rather than a set of cuts from a recording.
Can Claude Code remove silence automatically?
A media workflow may use tools to detect and cut silence, but its thresholds and effect on pacing require review. If the immediate task is removing pauses from an existing clip without building a command pipeline, Cutiz provides a reversible one-toggle feature.
Is a local FFmpeg edit private?
FFmpeg can process files locally. Whether your entire workflow stays local depends on the agent, its configuration, and what you share. Cutiz's trimming, silence removal, and on-device denoising are local product features; that statement does not extend to Claude Code.

The verdict

I would use Claude Code with FFmpeg when the cuts are precisely specified and I want a repeatable project. I would still play every join and inspect the final file. For a short video whose pacing depends on visual judgment, I would choose a timeline editor such as Cutiz instead of building a command pipeline.
Edit existing footage in Cutiz