Two people stand in a studio. In the clip above, one is swapped for someone else, same pose, same lighting, same camera hold. That's not something you get by pasting a clip into a ChatGPT chat window. It's what ChatGPT video editing looks like once ChatGPT, through the Codex CLI, is connected to an actual editor.
This guide covers what that connection looks like, what it takes to set up, and where it still needs you.
Why chat ChatGPT can't do this
Ask ChatGPT in a browser tab to "swap the background in this clip" and you'll get a tutorial, maybe an FFmpeg command, maybe a plugin suggestion. What you won't get is the edit, because three things are missing:
- A way to look at the footage. A tool that returns a frame or a contact sheet, so the model can check what's actually in shot 2 before touching it.
- A real timeline to act on. Placing, trimming and layering clips in a project file, not describing it in a text reply.
- A way to generate and place a shot. Sending a frame to a video model with references, then dropping the result back where it belongs.
Codex is a capable coding agent on its own. What it's missing in a browser tab is a video project with tools attached to it.
How it works in Shoty
Shoty is a desktop video editor (Mac and Windows) with an agent chat built in. Pick ChatGPT in the model picker and:
- Shoty runs the official Codex CLI on your machine, signed in with your own OpenAI account. Shoty never touches the token.
- For each turn, Shoty opens a localhost MCP server and exposes its editing tools: look at an image or frame, read and update the timeline, generate a shot, update project memory, export.
- Codex calls those tools. Every call shows up in the chat and every change lands on the timeline you're looking at.
The timeline is a text format (.shoty), so the agent reads and edits a structure instead of guessing at pixels. Undo is always available, and you choose how much runs on its own: suggest, preview, or auto.
A workflow to try
1. Start with one kind of task
Ask for the rough cut first, review it, then ask for the VFX pass. Mixing "cut it, add subtitles, swap the background" into one message works, but checking each step before the next keeps mistakes small.
2. Name what must not change
Swap the person on the left in shot 2 for the reference in the folder. Keep their pose, the lighting and the camera exactly as they are. Put the result on a track above the original so I can compare.
This is the instruction that matters most for VFX. Without it, the model tends to repaint the whole frame instead of changing one thing.
3. Let it generate, then review
Try this shot with Seedance and with Kling, both on V2 and V3 above the original.
Codex can send the same brief to more than one model and line up the results. You pick the one that works; it clears the rest.
4. Hand off the cut
Export this sequence as an EDL for DaVinci Resolve.
The handoff is what makes this usable in real post. Grade and mix stay in Resolve or Premiere; Shoty does the cut and the AI shots.
Where you still step in
- Taste calls. Codex can swap a background or tighten a cut; which take feels right is still yours.
- Approving generations. Generated shots use credits, so set the run mode to review before anything renders if you're watching a budget.
- Long jobs. Codex can queue several shots and keep going while you're away, but check the results before you ship.
ChatGPT, Claude or Gemini?
All three reach Shoty over the same MCP bridge, so the tool set is identical. Use the plan you already pay for, and your own account's limits and policies apply. If Codex gets stuck on a shot, switch the picker to Claude or Gemini and send the same message again; project memory carries over.
Download the free Shoty editor and connect ChatGPT from the model picker. For the Claude side of this same setup, see Claude video editing.