podcast-forge syncs your cameras, cuts dead air and fillers, switches angles like a human editor, matches colour, masters the audio and exports the episode, a trailer, vertical reels and thumbnails. From one YAML file. Free and open source.
Every step is automatic, tunable, and re-runnable. Change one shot and only that shot re-renders.
Wide, close-up and tight punch-in per camera. Never the same look twice in a row, so every jump cut is hidden. Listener reaction shots after long answers, J-cuts, slow push-ins.
Long pauses shortened, isolated "aa / mm" and false starts removed, optional 1.1× speed-up with the pitch preserved.
Uses the camera that heard your mics. High-pass, denoise, de-ess, compress, limit, then two-pass loudness to −14 LUFS. Music ducks under speech.
Cameras matched to a reference, then a shared grade (studio_warm, cinematic, punchy…) or your own .cube LUT.
A photo appears in an animated circle at the moment it is mentioned (matched on the transcript), and the shot underneath is reframed so the circle never covers a face.
Count-up stat cards, kinetic text, name lower-thirds and chapter tags, all animated and cached.
Pick hooks, get a cold-open trailer with a title card. The same hooks become 9:16 reels centred on whoever speaks, with title, call-to-action and logo above the app UI.
YouTube and reel covers with both people cut out, headline in a safe zone, topic photos, banner, logo and credit line.
Transcribe in any Whisper language. pf text renders Telugu, Hindi, Tamil, Arabic and more with correct shaping for titles and credits.
Each stage reads and writes files in work/, so you can inspect, fix and re-run any step.
Anyone who films a conversation with two people on one to three cameras.
| You want | You run |
|---|---|
| A full episode, mastered | pf run |
| Find the moment someone said "funding" | pf search "funding" |
| A different colour look | set grade.preset, pf grade |
| Remove a phone call | edit.cuts: [[620, 700]] |
| Shorts from the best moments | add reels.items, pf reels |
| Fine-tune by hand | open out/timeline_episode.xml |
| Telugu credit on a thumbnail | pf text "…" credit.png |
Give your coding agent the instruction file and say "edit the podcast in ./footage". It writes the config, picks hooks from the transcript, checks frames and iterates on your notes.
python scripts/install_skill.py installs the skill. Then ask it to edit your podcast.
python scripts/install_agent_files.py --dest my-episode, then run codex in that folder. It reads AGENTS.md.
Same command copies GEMINI.md, which imports AGENTS.md. Run gemini in the folder.
Most read AGENTS.md. If yours does not: "Read AGENTS.md and follow it". Aider: aider --read AGENTS.md.
The minimum is two cameras and two speakers. Everything else is optional.
pf doctor checks FFmpeg and Python packages.pf heads finds both faces automatically, or pf sheet to read positions by eye.pf run goes from footage to out/*_Master.mp4, chapters, reels and thumbnails.