How to Edit a Video With ChatGPT
ChatGPT can't cut or render footage by itself, but connected to a video editor over MCP it can run the whole edit and export the MP4. On its own it's excellent at the thinking around an edit, and its Python sandbox handles simple file jobs within real limits.
This guide goes in order: what works with the chat alone, what the code sandbox can do, which jobs need an editing engine, and how to connect one so ChatGPT can drive it. Copy-paste prompts are included for every part ChatGPT is good at.
Where Each Route Stops
Every edit runs the same six stages: measure the footage, decide what changes, write the decisions, render, look at the result, export. The useful question isn't "can ChatGPT edit" but how far along that line each route reaches.
| ChatGPT alone | + code sandbox | Connected editor | |
|---|---|---|---|
| What you hand it | Text you typed or pasted | One uploaded file, inside a size cap | The footage, up to 100 GB / 3 hours |
| What comes back | A plan, a script, a shortlist | A file your script produced | A rendered, exported MP4 |
| Cuts on a word boundary | ✗ | Only if you supply the timings | ✓ |
| Sees the frames it produced | ✗ | ✗ | ✓ |
| Captions, music, reframing, grade | ✗ | Only what you can script | ✓ |
| Handles a 2-hour recording | Transcript only | ✗ | ✓ |
| Where the work happens | In the chat | In a Python sandbox | In an editing engine |
Rung 1 — What ChatGPT Alone Is Good At
Start here even if you'll use a real editor five minutes later, because this rung's output is every other rung's input. Editing is two jobs: deciding what the video should be, and performing the operations that make it so. ChatGPT is very good at the first. It turns "it drags" into tighter cuts and a cold open lifted from minute nine; it reads a transcript faster than you can scrub a stringout; it writes titles, chapters and on-screen text; and it explains craft, like when a jump cut reads as energy.
What it can't do at this rung is produce a number. A timestamp it emits without a transcript in front of it is a guess formatted like a measurement, so every prompt below either avoids timestamps or forbids inventing them.
PROMPT 1 · THE EDIT BRIEF
The most valuable thing ChatGPT does for an edit, and the one people skip: it turns a feeling into instructions someone else could execute.
You are an experienced video editor's assistant. I am going to describe a
video and how I feel about it. Turn that into an edit brief another editor
could execute without asking me a single question.
VIDEO: [what it is, who is in it, how long, what it is for]
PLATFORM: [YouTube / Shorts / Reels / TikTok / LinkedIn / course module]
BOTHERS ME: [in whatever words you have — "it drags", "it feels flat",
"the start is boring", "I say um constantly"]
Return exactly these sections and nothing else:
1. GOAL — one sentence on what the finished video should do.
2. STRUCTURE — the running order as beats, with rough durations.
3. PACING — cut density, where to punch in, where to let it breathe.
4. AUDIO — music mood and energy, where it enters and drops out,
whether it ducks under speech.
5. TEXT — caption style, plus any on-screen text with exact words.
6. FRAMING — aspect ratio, and what must never leave the frame.
7. DO NOT — three things that would specifically ruin this video.
Be concrete. Do not use an adjective that cannot be executed.PROMPT 2 · FIND THE MOMENTS
Paste a timestamped transcript. The rule against inventing timestamps is the load-bearing line; without it you get plausible numbers that point at nothing.
Below is a timestamped transcript of a [length] recording. Find the moments
I can actually use.
Rules:
- Quote the exact first and last words of every span you pick, and give the
timestamps that appear beside them in the transcript. Never invent a
timestamp. Never round one you were given.
- If a line was retaken, point at the take you would keep and say why.
- Flag every place the speaker restarts a sentence, contradicts an earlier
point, or promises something they never deliver.
Return:
A. COLD OPEN — the 8-15 seconds that should play first, and why.
B. KEEP — the spans that carry the argument, in order.
C. CUT — the spans that could go with nothing lost.
D. CLIPS — up to five self-contained 30-60 second spans that make sense
with no setup, each with one line on why it stands alone.
TRANSCRIPT:
[paste]PROMPT 3 · THE PACKAGING
Titles, description, chapters and pull-quotes. Keep pull-quotes verbatim: a paraphrase burned over a speaker who said something slightly different looks careless.
From the transcript below, draft the packaging. - 10 titles. Five plain and descriptive, five with tension in them. No colons, no "ultimate guide", and no number I did not actually say. - 1 description, 60-90 words, that says what the video contains rather than selling it. - Chapter markers, using the timestamps in the transcript. - 6 pull-quotes for on-screen text. Each under 8 words, each VERBATIM — if it is not word for word in the transcript, do not return it. - 3 hook lines for the first 3 seconds of a vertical cut. TRANSCRIPT: [paste]
PROMPT 4 · THE HANDOFF
The bridge to a tool that can execute. The ordering clause encodes the rule that anything changing the video's length comes before anything timed against it.
Take the edit brief above and compress it into instructions for an AI video editor that works on one uploaded file. - Each instruction is one sentence describing an OUTCOME, not a menu path. - Order them so that anything which changes the length of the video comes before anything timed against the video's length: cuts first, then captions, then framing, and fit the music last. - Do not include anything you cannot state as a result I could look at. - Number them, and keep it under twelve.
More prompts for an editor that can execute them: the prompt collection and the prompt library.
Rung 2 — The Code Sandbox and Its Limits
ChatGPT can write and run Python on a file you upload. Mechanical jobs work: reading a container's facts, trimming to a timecode, concatenating, extracting audio, changing format, resizing and adjusting volume. What doesn't work is anything that needs deciding rather than executing, the network, per-pixel processing, or more than about two minutes of encoding.
| The limit | What it means for video |
|---|---|
| A per-file upload cap | OpenAI's help center lists one (512 MB when we checked in August 2026). A 20-minute 1080p screen recording runs to hundreds of megabytes, so long footage must be cut down before you can upload it. |
| No internet in the sandbox | It can't install a missing package, fetch b-roll or download your file from a link. |
| About two minutes of compute per run | A community-measured limit, not a published one. A stream-copy trim finishes; a full filter pass over ten minutes of 1080p doesn't. |
| No GPU | Fine for cutting and remuxing; hopeless for per-pixel work like upscaling or object removal. |
| The session resets | Files and intermediate renders disappear when the session ends. There's no project to come back to. |
| ffmpeg isn't guaranteed | It's usually reachable through moviepy's bundled binary, but OpenAI doesn't document it as part of the environment. |
| Nothing watches the output | The script writes a file and reports success, whether the result is right or black. |
PROMPT 5 · THE SANDBOX
For rung 2: a measurement and one mechanical operation, which is the kind of request the sandbox completes.
Use the Python sandbox. I have uploaded clip.mp4. 1. Print the container facts: duration, resolution, frame rate, video codec, audio sample rate and channel count. 2. Trim it to 00:00:12.4 - 00:01:48.9. Stream-copy if the keyframes allow it; if they do not, say so before re-encoding. 3. Write trimmed.mp4 and give me a download link. Do not guess a value. If you cannot read one, say you could not read it.
Use this rung for file surgery when you already know the parameters. If you find yourself describing an outcome ("make the pacing tighter"), you've left the rung.
Why It Can't Cut Inside a Sentence
Both rungs fail the most common request (remove the ums, tighten the dead air) for the same arithmetic reason. When a video is accepted, the model gets sampled frames, about one per second, plus extracted text. A clean cut must land on a word boundary measured in hundredths of a second by a transcription pass.
The fix is cheap: give the model a timestamped transcript and the same request becomes answerable. That's what prompt 2 does, and it's the single biggest improvement to a ChatGPT video workflow.
Rung 3 — What Needs a Real Editing Engine
Anything that requires measuring the footage (word-level timestamps, silence detection, shot boundaries) or checking the result. That covers most of what people mean by "edit my video": removing every silence, filler-word removal on word boundaries, burned-in captions timed to the transcript that survived the cuts, music ducked under speech, b-roll at the right beat, and reframing to 9:16 with the captions moved into the new frame.
Order matters. Cuts are in source seconds; captions are timed in output seconds against what survived. Caption first and cut later, and every caption after the first cut is off by everything deleted before it. Prompt 4 makes ChatGPT write the instructions in the right order.
For outside vocabulary: in "It's time for agentic video editing" (Justine Moore, a16z, 21 January 2026), a video agent's work splits into Process, Orchestrate, Polish, Adapt and Optimize. Mapped onto the rungs:
| Stage | What it covers | Which rung |
|---|---|---|
| Process | Sort raw footage, compare takes, handle angles | Rung 3: needs the whole file measured |
| Orchestrate | Coordinate several models and stitch outputs | Rung 3 or 4: something has to hold the timeline |
| Polish | Level audio, remove filler words, match clips | Rung 3: filler removal needs word-level timings |
| Adapt | Repurpose a long recording into short vertical cuts | Rung 2 decides what to clip; rung 3 clips it |
| Optimize | Respond to notes like “the opening is too slow” | Rung 1 is good at the note; acting on it is rung 3 |
Rung 4 — Let ChatGPT Drive the Editor
The gap between rung 1 and rung 3 is a copy-paste handoff. It closes when ChatGPT gets the editor's tools directly, which is what the Model Context Protocol does. Valmera runs a remote MCP server with 143 tools (live server card, October 2026) for projects, uploads, indexing, editing, previews and export, over streamable HTTP with OAuth 2.1.
To connect it, open chatgpt.com/plugins → + → Create custom MCP server, name it Valmera, paste https://valmera.io/mcp/server under Connection, keep OAuth, create it and sign in to Valmera. In a new chat, type @ and choose Valmera. If the create option is missing, turn on Developer mode in Settings → Security and login; custom MCP servers depend on your ChatGPT plan and workspace settings. The ChatGPT setup guide has every step.
Then the conversation does the whole job: open the project, cut, caption, mix, render a preview, look at it, and export the final MP4 with export_final. The same server works in Claude, Claude Code and Cursor.
How to Edit a Video With ChatGPT, End to End
- 1Write the brief in ChatGPTPaste prompt 1. Describe the video and what bothers you, and get back goal, structure, pacing, audio, text, framing and a do-not list.
- 2Get a timestamped transcriptFrom a transcription tool, or by uploading the video to Valmera, which builds a word-level transcript with speaker labels.
- 3Find the momentsPaste prompt 2 with the transcript. You get a cold open, the keeps, the cuts and up to five standalone clips, each quoting real timestamps.
- 4Write ordered instructionsPaste prompt 3 for packaging and prompt 4 for the handoff: cuts first, then captions, then framing, music last.
- 5Hand them to the editorUpload the footage to Valmera (MP4, MOV, M4V, MKV or WebM, up to 100 GB and 3 hours). Paste the instructions in Studio, or connect Valmera to ChatGPT over MCP and send them in the chat.
- 6Review, correct, exportWatch the preview and react in plain English ("looser cuts", "bigger captions"). When it's right, export the MP4 from the chat or from Studio; it renders at full resolution from your original file.
Steps 1 to 4 are minutes of chat. Indexing an upload runs once, with visible progress, and every request after that reads the index.
A Note on Sora and Generation
Sora was a text-to-video generator, not an editor, and OpenAI shut it down in two stages: the web and app experiences closed on 26 April 2026, and the API was scheduled to end on 24 September 2026. The general point holds anyway: generated footage can't cut the ums out of what you already shot. Generated clips work as inserts inside an edit, which is how Valmera uses them.
Limits
- ChatGPT alone can't see your footage. At rung 1 it works from the text you give it.
- No multi-cam. Valmera edits one main video; a three-camera shoot needs syncing in a traditional NLE first. Valmera doesn't import or export NLE project files.
- No subtitle files. Captions are burned in, with no SRT or VTT, so paste ChatGPT's chapters into your platform by hand.
- No audio denoise or AI music generation. Music separation can rebalance speech against a soundtrack.
- Also: no true crossfade, custom font uploads, motion-tracked stickers, team seats or direct publishing. Exports end with a brief Valmera end card. English is the best-tested transcription language.
Our comparison page says where another tool is the better answer.
Frequently Asked Questions
Made with Valmera: real exports
Paste the Brief Into Something That Can Execute It
Creating an account and uploading are free; editing requires a subscription. Upload real footage and paste your instructions, or connect Valmera to ChatGPT and stay in the chat.
Connect ChatGPT →

