← Home
HOW-TO

By Valmera Editorial · Published · Updated

How to Edit Video With Claude

Claude can't open or render a video file by itself. It has no decoder, no audio path and no renderer, and Claude conversations don't accept video uploads. It can reason about an edit: read a transcript, choose what to keep and write a cut list or an ffmpeg command. Give it tools that hold the footage and it performs the edit: connected to Valmera over MCP, Claude cuts, captions, reframes, renders a preview it checks itself, and exports the finished MP4.

There are three levels: Claude with no tools, Claude with a shell, and Claude with a video editing MCP server. Here is what each can do, how to set it up and where it stops.

Give Claude a Real Video Editor

Creating an account and uploading are free; editing requires a subscription. One URL and one sign-in to connect.

Connect Claude →
See pricing →

Where the Video File Actually Is

The difference between the levels isn't how clever the model is. It's whether anything can decode your footage, and whether the model can see what came out.

Where the video file sits at each of the three levelsAt level one the video stays on your disk and nothing about it reaches Claude except text you paste by hand, so no edit can be performed. At level two Claude Code has a shell on your machine, decodes the file with ffmpeg and writes an output file, but only sees stills it extracts on purpose. At level three the file lives on a video editing server reached over MCP; the model sends tool calls and receives text and requested frames, and the server performs the edit and exports from the original.1 · NO TOOLS2 · A SHELL3 · MCPCLAUDEYOUR DISKvideo.mp4CLAUDE CODEYOUR DISKvideo.mp4 + ffmpegCLAUDEEDITING SERVERvideo.mp4 + index + EDLyou paste textby handstills it extracts↑ ffmpeg commands ↓transcript · frames↑ tool calls ↓nothing decodesthe file→ a plan, not an editffmpeg decodes it,the model is blind→ an edit it cannot checkthe server decodes itand shows the model frames→ an edit it verifies

At level 1 the model reasons about a video it has never seen. At level 2 the file is decoded, but by a program the model can't watch. Only at level 3 does the same system perform the edit and show the model the result, so a wrong cut gets fixed before you see it.

Claude aloneClaude Code + ffmpegClaude + Valmera (MCP)
Read a transcript you paste✓✓✓
Open the video file itself✗Yes — via a shell it controls✓
Hear the audio / measure silences✗Yes — if ffmpeg and an ASR model are installed✓
Get word-level timingsOnly what you pasteFrom a local transcription model✓
See frames of the footageOnly stills you pasteYes — stills it extracts✓
Perform the cut✗Yes — as ffmpeg commands✓
Look at the render it just made✗Only if it extracts stills again✓
Hand you a finished MP4✗Yes — on your machineYes — exported from the original
Works in the Claude app (no terminal)✓✗✓

Level 1 — Claude With No Tools

This is what most posts about "editing video with Claude" describe, and it's more useful than its reputation. Claude is good at the reading half of editing: what an hour of talk argues, which sentences carry it, which repeat, and what order the survivors go in. With nothing but the chat window it can turn a pasted transcript into a keep list, write a shot list or script, find the moment you half-remember, write the ffmpeg command, and restructure a talk into a running order.

Ask for a keep list with reasons; reasons are checkable and a bare list of numbers isn't:

YOU     Here is a timestamped transcript of a 22-minute talk.
        Give me a KEEP list for a 6-minute cut: ranges to
        retain, in order, one line of reasoning each. Do not
        invent timestamps that are not in the transcript.
        Flag anywhere a keep starts or ends mid-sentence.

CLAUDE  KEEP  00:14 – 00:48   the claim, stated cleanly
        KEEP  02:31 – 03:52   the only concrete example
        KEEP  05:10 – 05:26   ⚠ starts mid-sentence ("...and that
                              is why") — extend back to 05:04
        KEEP  11:02 – 13:40   the objection and the answer
        KEEP  20:55 – 21:30   the close
        DROP  03:52 – 05:10   restates 02:31 in weaker terms
        ...

Where level 1 stops

  • It can't execute anything. The output is a document; something else makes the cuts.
  • It's only as precise as your timestamps. Sentence-level timings give sentence-level cuts, and cuts that miss word boundaries clip syllables.
  • Timecode arithmetic is a weak point. Check totals, or use a timecode calculator.
  • It can't hear or see. The pause before the good line, a clipped take, someone walking out of frame: none of it is in a transcript.

Level 2 — Giving Claude the File

The obvious next move is to upload the video to the chat. It doesn't work: the upload is refused by file type. Checked on 6 October 2026 against Anthropic's help center, this is what a Claude conversation accepts:

KindAcceptedNotes
DocumentsPDF, DOCX, CSV, TXT, HTML, ODT, RTF, EPUB, JSON, XLSXXLSX requires code execution
ImagesJPEG, PNG, GIF, WebPUp to 8000 × 8000 pixels
VideoNoneMP4, MOV, MKV and WebM are not on the list
AudioNoneNo WAV, MP3 or M4A
Size500 MB per file, up to 20 files per chatPDFs are capped at 1000 pages

What you can upload is everything about the video that isn't the video: a transcript or an SRT saved as .txt, and frames as PNG. That's level 1 with better inputs.

Claude Code: the level that decodes the file

Claude Code runs on your machine with a shell. It can call ffprobe, run a local transcription model, write and execute ffmpeg commands, and leave an output file on your disk. It can also extract stills from its own render and read them back:

ffmpeg -ss 62 -i out.mp4 -frames:v 1 /tmp/check_62.png
ffmpeg -ss 310 -i out.mp4 -frames:v 1 /tmp/check_310.png
# then read both back as images

Where level 2 stops

  • The model is outside the preview loop. It checks only the moments it extracts, after rendering the whole file.
  • ffmpeg is destructive. There is no version history; work on a copy and keep the master out of the agent's reach.
  • You maintain the toolchain: ffmpeg, a transcription model and scene detection, installed and working.
  • It needs a terminal, so none of it works in the Claude app.

For deterministic conversions (re-encode a folder, normalize loudness) level 2 is excellent and free. For editorial work, where the job is looking at the result and reacting, it's the wrong shape. The comparison in full.

Level 3 — Connect a Video Editor Over MCP

The Model Context Protocol hands a model a real toolset. For video it solves the problem exactly: the server holds the footage and does the pixels, and the model decides what to call. Valmera's MCP server exposes 143 tools (live server card, October 2026) over streamable HTTP with OAuth 2.1, generated from the same live registry its own agent uses, plus session tools for projects, uploads, jobs and export.

Other editors connect to Claude too: Vyra, invideo and OpusClip run remote servers, while Palmier Pro, Cardboard and ChatCut's plugin pair a desktop editor with Claude Code. The full list of ways to edit video with Claude shows where each one works and what it hands back. The steps below use Valmera.

The setup

In claude.ai or Claude Desktop: Customize → Connectors → + Add → Add custom connector, paste the URL, sign in to Valmera and allow access. There is no client ID, secret or token to copy.

https://valmera.io/mcp/server

In Claude Code, run the same OAuth flow, or attach a private token from the connect page:

claude mcp add --transport http valmera \
  https://valmera.io/mcp/server \
  --header "Authorization: Bearer vlm_mcp_..."

Getting the footage in: the Claude app can't read your disk, so upload the video in Valmera Studio and ask Claude to open that project. Claude Code can upload a local file itself: upload_start returns a presigned URL and it runs the curl. Either way, fetch_url imports b-roll, music and images from a link.

A real conversation

One turn once it's connected. Every tool named is in the tool reference; arguments are abbreviated.

YOU     Open my "Q3 recap" project. Cut the dead air and the ums,
        add karaoke captions, put the music track I uploaded under
        my voice, and make it a Reel.

CLAUDE  list_projects()                              → 4 projects
        open_project(project_id=312)                 19m04s · indexed
        find_silences(project_id=312, min_seconds=0.35)
        cut_silences(project_id=312)                 19m04s → 15m52s
        remove_filler_words(project_id=312)          → 15m31s
        add_captions(project_id=312, mode="from_transcript",
                     style={preset: "karaoke"})      timed to the
                                                     KEPT transcript
        list_assets(project_id=312, kind="music")    calm-bed.mp3
        add_music(project_id=312, storage_key="…")   ducked under speech
        auto_reframe(project_id=312, ratio="9:16")   crop aimed at you
        render_preview(project_id=312)               → job 8840
        wait_for_job(job_id=8840)                    → v5 rendered
        look_at(project_id=312, output_times=[0.4, 62, 310, 900])

        ← Claude reads its own frames and finds this:

        set_caption_style(project_id=312, style={anchor_y: 0.86})
        render_preview(project_id=312)               → v6

CLAUDE  "Cut 3m12s of pauses and the filler words: 19m04s down to
         15m31s. The captions sat on your chin once the crop went
         vertical, so I moved them lower. Music ducks under speech.
         Preview is v6 — want it looser?"

YOU     Good. Export it.

CLAUDE  export_final(project_id=312, edl_version=6)  → job 8851
        wait_for_job(job_id=8851)                    → done
        download_url(project_id=312, kind="final", edl_version=6)
                                                     → https://…mp4

The order wasn't in the request: captions come after the cuts because a caption timed against the raw recording drifts by everything removed before it, and music is fitted to the finished length. Then look_at: Claude looked at real frames of its render, found a problem nothing in the transcript could predict, and fixed it before replying. That's the loop level 2 can't close. Claude writes its own summary, so check it against the preview and the edit decision list.

How to Edit a Video With Claude (MCP Setup)

  1. 1
    Create a Valmera account
    Sign up at valmera.io with email or Google. Creating an account and uploading are free; editing requires a subscription.
  2. 2
    Add the connector
    In claude.ai or Claude Desktop, open Customize → Connectors → + Add → Add custom connector and paste https://valmera.io/mcp/server. In Claude Code, run claude mcp add --transport http valmera https://valmera.io/mcp/server.
  3. 3
    Sign in and allow
    Claude finds Valmera's sign-in, registers itself and opens the Valmera login. Sign in and allow the connection; Claude now has Valmera's tools.
  4. 4
    Get the footage into a project
    Upload the video in Valmera Studio (or let Claude Code upload a local file). Files can be MP4, MOV, M4V, MKV or WebM, up to 100 GB and 3 hours. Valmera indexes each upload once: a word-level transcript with speaker labels, silences, shots and frames.
  5. 5
    Describe the outcome
    One sentence: "cut the dead air and the ums, add karaoke captions, put my music under my voice, make it a Reel". Claude orders the dependent steps itself.
  6. 6
    Review, then export
    Claude renders a preview, checks its frames and fixes what it finds. Correct it in plain English; each change is a new version. When it's right, ask Claude to export: it calls export_final and returns a link to the full-quality MP4.

Connecting takes about a minute and is done once. Indexing a long upload takes a while and shows progress; every request after that reads the index.

Four Things That Trip People Up at Level 3

  • Studio and Claude can't edit the same project at once. It's refused in both directions rather than allowed to corrupt the EDL.
  • Renders return a job ID, not a result. Claude calls wait_for_job; a reported "done" on a render that hasn't finished would be worse.
  • Previews aren't the deliverable. They render from a proxy to be fast; the export renders from your original file.
  • Each short is its own project. Claude can turn a long video into several shorts; it then edits and exports each one.

Setup errors and their fixes are on the connect Claude guide.

Limits

Connecting an editor swaps the model's limits for the editor's. Valmera's, so you know now rather than three turns in:

  • No text-to-video. It edits footage you have; it can splice in short generated clips and stills.
  • No subtitle files. Captions are burned into the picture; no SRT or VTT import or export.
  • No multi-cam. A traditional NLE still wins on angle sync, node-based color, keyframed compositing and motion tracking.
  • No true crossfade or dissolve, custom font uploads or motion-tracked stickers.
  • No audio denoise or AI music generation. Music separation can rebalance speech against a soundtrack.
  • No team seats or direct publishing. Download the MP4 and post it yourself. Exports end with a brief Valmera end card.
  • English is the best-tested transcription language.

Which Level You Actually Want

If the job is thinking (what the video should argue, which take is honest, what order the pieces go in), level 1 is enough. Paste the transcript and ask for a keep list.

If the job is a deterministic conversion, level 2 is excellent and free: Claude Code writes good ffmpeg, and for a predictable transform it matters less that it can't watch the result.

If the job is editorial and the result has to be looked at (cuts that feel right, captions off the face, a crop that follows the speaker), you need level 3, where the same system edits and sees what it made. Compare the options in our video editing MCP server comparison, and start from the prompt library once you're connected.

Frequently Asked Questions

Not on its own. Claude can't open a video file, hear its audio or render anything, and Claude conversations don't accept video uploads. It can reason about an edit: read a transcript you paste, choose the sentences that belong in the cut, and write a cut list or an ffmpeg command. It performs the edit in two setups: in Claude Code, where it drives ffmpeg on your machine, or connected to a video editing MCP server. With Valmera connected, Claude gets 143 tools (live server card, October 2026), edits a versioned timeline, renders a preview it checks itself, and exports a full-quality MP4.
No. As checked on 6 October 2026, a Claude conversation accepts PDF, DOCX, CSV, TXT, HTML, ODT, RTF, EPUB, JSON and XLSX documents plus JPEG, PNG, GIF and WebP images, up to 500 MB per file and 20 files per chat. No video format is on that list. Upload what you derive from the video instead: a transcript or subtitle file as .txt, or frames as PNG or JPEG.
Create a Valmera account and upload your video in Valmera Studio. In claude.ai or Claude Desktop, open Customize → Connectors → + Add → Add custom connector and paste https://valmera.io/mcp/server; sign in to Valmera and allow access. Ask Claude to open your project and describe the edit in one sentence, such as "cut the dead air and the ums, add karaoke captions, make it a Reel". Claude sequences the tools, renders a preview, checks the frames and revises. When it's right, ask it to export, and it returns a link to the MP4.
Yes, and it's the strongest thing it does with no tools. Paste a timestamped transcript and ask for the ranges to keep, each with a one-line reason. Two cautions: the cuts are only as precise as the timestamps you pasted, so sentence-level timings clip words; and check any runtime totals it reports, because timecode arithmetic is a weak spot.
Yes. Claude Code has a shell, so it can run ffprobe, transcribe with a local model, write and execute ffmpeg commands, and leave an output file. What it can't do is watch the result unless it extracts stills and reads them back, and everything is destructive by default: ffmpeg writes new files, so keep a copy of your master.
Yes, the parts it asks for. Valmera's look_at returns frames from your video or the edit it just rendered, labeled with a coordinate grid so Claude can read positions off them, and watch_video hands over the MP4 itself for models that accept video. The full file stays on Valmera's servers, which is why a three-hour recording is no harder than a three-minute one.
claude.ai, Claude Desktop, the mobile apps and Claude Code, with any Claude model that uses connectors. They differ in how footage gets in: the chat apps can't read files on your disk, so upload in Valmera Studio first; Claude Code can upload a local file itself.
Your Claude plan covers the model. On Valmera, creating an account and uploading are free; editing requires a subscription, and MCP access is included with eligible plans. See valmera.io/subscribe.

Made with Valmera: real exports

Connect Claude to a Real Editor

Creating an account and uploading are free; editing requires a subscription. Connect in a minute, then ask Claude to cut your first video.

Connect Claude →
See pricing →

Related Articles

Connect Claude to Valmera
Step-by-step connector setup for claude.ai, Claude Desktop and Claude Code.
Claude Video Editor
What Claude can and can't do with video, side by side.
Edit Video From Claude Code
Upload local files and export into your repo from the terminal.
The ffmpeg Alternative
What changes when the model can see the result instead of writing a command and hoping.
MCP Tool Reference
Every tool grouped by job.