Edit your talking-head videos with Codex
Raw clip in, finished vertical reel out. No editing software.
Hey, it's Adam. Drop a raw talking-head clip into a folder, paste one prompt, and ChatGPT's Codex hands back a finished vertical reel: silences cut, captions timed word by word, the key lines punched in with a zoom and a headline. It all runs on your own computer, and there's no editing software to learn. Setup takes one afternoon. After that, each video takes about ten minutes. You commented [KEYWORD], so here's the full setup.
How it works π¬
Three tools, and you only ever talk to one of them.
- π§ Codex, OpenAI's coding agent inside the ChatGPT desktop app. You describe the edit, and it writes and runs the code.
- π Remotion, a tool that makes videos out of code. Codex writes that code, so you never open it.
- π Whisper, a speech-to-text model that runs on your own computer. It records the exact time of every word you say, which is what the cuts and captions are built on.
The edit happens in five passes: Transcribe β cut the dead air β caption β punch in on the best lines β render a 1080 Γ 1920 file
That's the whole idea. Codex isn't "using an AI video editor". It's building you a small editing program, fitted to your clip, and running it.
What you need β
- A Mac or a Windows PC. On a Mac, Remotion needs macOS 15 (Sequoia) or later. Check β About This Mac before you start.
- A ChatGPT account, on any plan. Codex is included on every plan, Free too. Paid plans just give you more usage.
- About 5 GB of free disk space. The speech model alone is around 1.5 GB.
- A good internet connection for the first run. That's when everything downloads.
- Your clip. Filmed vertically, clear audio, one person talking.
Time: the first edit takes 20 to 45 minutes, and most of that is one-time downloads. After that, about 10 minutes per video.
Cost: Remotion is free "for individuals and companies up to three people." If your company has four or more people, you need a Company License from remotion.pro. Check that before you use this for client work.
Step 1 β Install the ChatGPT desktop app and switch to Codex π»
Codex only runs as a mode inside the ChatGPT desktop app. You can't use it in the browser or on your phone for this.
- 1Download the app from chatgpt.com/download (Mac or Windows) and sign in.
- 2Open the menu at the top left and switch from ChatGPT to Codex.
You see a Codex view with Projects and Plugins in the sidebar.
If your app is called ChatGPT Classic, that's the old app. It doesn't have Codex. Download the new one from chatgpt.com/download.
Step 2 β Add the Remotion plugin π
The plugin comes from the Remotion team and teaches Codex how to build and render videos.
- 1In Codex, open Plugins in the sidebar.
- 2Search Remotion.
- 3Click Add to Codex.
Shortcut: remotion.dev/docs/ai/codex-plugin has a one-click "Open the Remotion plugin in Codex" link.
Step 3 β Install Node.js (and Xcode tools on a Mac) βοΈ
Remotion runs on Node.js. You install it once and never open it again.
- 1Go to nodejs.org, download the LTS version, and run the installer with the default settings.
- 2Open Terminal (Mac) or PowerShell (Windows), type
node -vand press Enter. - 3Quit the ChatGPT app completely and reopen it, so Codex can find Node.
node -v prints a version number. Anything from v18 up is fine.
Mac only: in Terminal, run xcode-select --install then click Install in the pop-up. On a Mac, Whisper gets built on your machine and needs Apple's build tools to do it. On Windows it downloads ready-made, so you can skip this.
You don't need to install anything else. Remotion comes with its own video encoder (FFmpeg), and Codex installs Remotion and Whisper for you in Step 6.
Step 4 β Make a project folder and add your clip π
- 1Create a new, empty folder with a plain name, like
reels. - 2In Codex, create a new project and choose that folder.
- 3Drag your video into the folder.
- 4Rename the file with no spaces, like
clip01.mp4.
Why an empty folder: Codex can read and change anything inside the project folder. If it starts empty, the rest of your files stay out of its reach.
Filming tips that make the edit come out clean:
- Film vertically. The output is 1080 Γ 1920, so a horizontal clip gets cropped hard.
- One person in frame. The zoom centres on the speaker's face.
- A quiet room. Whisper captions everything it hears, including someone talking in the background.
Step 5 β Call the plugin πͺ
- 1Start a new chat inside your project.
- 2Type
$remotionand select the Remotion plugin when Codex suggests it.
The Remotion plugin shows as attached above the prompt box.
If nothing comes up, check the plugin is switched on under Plugins, then start a fresh chat. Codex only loads plugins when a new chat starts.
Step 6 β Approve the setup, reject everything else π‘
Codex runs in a sandbox with internet access off. So every time it needs to download or install something, it asks you first. Expect a handful of requests on your first run.
| β Approve | β Reject |
|---|---|
| Installing Remotion with npm | Reading or changing files outside your project folder |
| Downloading and building whisper.cpp | Anything asking for a password, API key or card number |
| Downloading the Whisper speech model (~1.5 GB) | Installing software that has nothing to do with video, audio or captions |
| Using FFmpeg to pull out the audio | Uploading your video to any website or cloud service |
| Rendering the final video |
If you're unsure, ask before you click:
"What does this command do, and why does my edit need it?"
Approve it if the answer comes back to your video. If it doesn't, reject it.
Step 7 β Paste the prompt βοΈ
In the same chat, paste this. Change the three parts in square brackets, remove the brackets, and send.
Edit [clip01.mp4] into a vertical reel for [Instagram Reels].TRANSCRIBEUse local Whisper (whisper.cpp) with word-level timestamps.If it isn't installed yet, install whisper.cpp and themedium.en model β no need to check with me first.CUTRemove every pause longer than 0.6 seconds and everystandalone "um" or "uh". Keep about 120 ms of room toneeither side of each cut so it doesn't sound chopped.Don't process the audio in any other way.CAPTIONS3 to 4 words on screen at a time, never a single wordalone. Bold white sans-serif with a black outline.Highlight the word being spoken in [#F5A623]. Centre thecaptions at 70% of the frame height, max 900 px wide.PUNCH-INSFind the 5 strongest lines β a number, a bold claim, or apunchline β at least 10 seconds apart. On each one: zoomin 8% over 0.4 seconds, centred on my face, then ease backout. Add a headline under 24 characters at 22% of the frameheight, springing in for about 2.5 seconds.OUTPUT1080 x 1920, 30 fps (convert if the source isn't), H.264video, AAC audio.Before you render, show me the full transcript and the 5headlines so I can fix them.
Don't delete the last line. Rendering is the slow part. That line makes Codex stop so you can catch a spelling mistake before it gets burned into the video, not after.
About "no need to check with me first": that only stops Codex asking you in chat whether it should install Whisper. The permission pop-ups still appear, and they should. That's your safety check.
Step 8 β Check it, then render π
Codex stops and shows you the transcript and five headlines. Nothing renders until you reply.
- 1Check names and brand words. Speech models misspell these all the time, and whatever's in the transcript ends up in the captions.
- 2Check the headlines. Each should be a number, a claim or a punchline, and under 24 characters.
- 3Send all your fixes in one message:
Change "Kodex" to "Codex" everywhere. Make headline 3"Saves 6 hours a week". Then render.
The finished file saves inside your project folder, usually in a folder called out. If you can't find it, ask "Where did you save the final video?"
Change it to fit your videos π
| If you want⦠| Change this in the prompt |
|---|---|
| Tighter pacing | 0.6 seconds β 0.4 |
| More breathing room | 0.6 seconds β 0.8 |
| Your brand colour | #F5A623 β your own hex code |
| A clip under a minute | 5 strongest lines β 3 |
| A language other than English | medium.en β medium (the multilingual model) |
| A 4:5 feed version too | Add: Also render a 1080 x 1350 version. |
Where everything sits on screen: headlines at 22% of the height clear your face and stay below the app's controls at the top. Captions at 70% sit under your chin and above the caption and buttons at the bottom. Keep all text out of the top and bottom 250 px.
Follow-ups you'll use a lot:
Make the cuts tighter β use 0.4 seconds.Move the captions up to 60% of the height.Remove the zoom at 0:42.Swap headline 2 for "[your text]" and render again.Your next video: drag it into the same folder, start a new chat, type $remotion, and paste the prompt with the new file name. Everything's already installed, so it takes about ten minutes.
If something breaks π§―
| Problem | Fix |
|---|---|
| Codex says Node isn't found | Quit and reopen the ChatGPT app. Run node -v. If there's no version number, reinstall Node. |
| Whisper won't build on a Mac | Run xcode-select --install, let it finish, then tell Codex "Try the Whisper install again." |
$remotion shows nothing | Check the plugin is installed and switched on, then start a new chat. |
| The model download stalls | It's ~1.5 GB, so give it time. If it fails: "Download the medium.en model again." |
| Captions drift out of sync | "The captions are out of sync after the cuts. Rebuild the caption timing from the cut timeline and render again." |
| Remotion won't run on your Mac | You need macOS 15 or later. Update macOS first. |
| You hit a usage limit | Wait for the reset, or move to a paid ChatGPT plan. |
Any other error: copy the whole error message into the same chat and ask Codex to fix it. It can read its own logs and try again.
Three rules that save you re-renders π
- Fix the transcript, not the video. The transcript drives every cut and caption. If you correct it before rendering, everything downstream comes out right.
- Change one thing at a time. "Tighter cuts, captions higher, new colour" in one message makes it hard to tell which change broke something.
- Keep a copy of your prompt. Once it looks the way you like, save it in a note. That prompt is your house style, and it's the same every time.