Podcast to
short-form clips

Point it at a podcast episode. It transcribes with Whisper, finds the best moments, crops to vertical, burns in captions, and spits out TikTok/Shorts/Reels-ready MP4s. Runs locally, no API keys.

podcli
What it does

Transcribe, find clips, render shorts. Locally.

No accounts, no cloud processing, no monthly fees. Your files never leave your machine.

Whisper transcription

Word-level timestamps, speaker diarization. Caches by file hash so re-runs are instant.

Face-tracking crop

OpenCV DNN detects the speaker and keeps them centered in 9:16. Falls back to center crop.

Burned-in captions

4 styles (branded, hormozi, karaoke, subtle). Synced to word timing, filler words stripped.

Web UI at :3847

Drag in a video, review suggested clips, toggle selections, preview styles, export. All in-browser.

MCP server for Claude

Add to Claude Desktop or Claude Code. Tell it "clip this episode" and it handles the rest.

Hardware encoding

Auto-picks VideoToolbox on Mac, NVENC on NVIDIA, VAAPI on Linux. CPU fallback works too.

How it works

One command, four stages

Or use the Web UI if you want to review clips before exporting. Or talk to Claude and let it drive.

01

Transcribe

Whisper + pyannote for word timestamps and speaker labels

02

Score

Ranks segments by keyword density, energy peaks, and natural hooks

03

Review

See clips in the Web UI, adjust timing, pick a caption style

04

Export

Batch render 1080×1920 MP4s with captions and -14 LUFS audio

Caption styles

Four styles, switch in one flag

Captions get burned into the video at word-level timing. Filler words (um, uh, like) are stripped automatically.

the key to success is showing up every single day

--caption-style branded

Dark box on active word. Optional logo. The "safe for any brand" pick.

THE KEY TO SUCCESS IS SHOWING UP EVERY DAY

--caption-style hormozi

Bold uppercase, yellow highlight. For clips that need to punch.

the key to success is showing up every single day

--caption-style karaoke

Full sentence visible, words light up as spoken. Good for storytelling.

the key to success is showing up every single day

--caption-style subtle

Small clean text at the bottom. Stays out of the way.

Claude integration

It's an MCP server

Add podcli to Claude Desktop or Claude Code. Say "turn this episode into shorts" and it transcribes, analyzes, suggests clips, and exports - all through tool calls. The Web UI updates live as Claude works.

1transcribe_podcast
2suggest_clips
3create_clip
3batch_create_clips
-get_ui_state
-knowledge_base
-manage_assets
// claude_desktop_config.json
{
  "mcpServers": {
    "podcli": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "./podcli"
    }
  }
}
Install

Three commands

Needs Node ≥ 18, Python ≥ 3.10, FFmpeg. The setup script handles venv, pip, npm install, and model downloads.

Terminal
git clone https://github.com/nmbrthirteen/podcli.git
cd podcli
./setup.sh
 
# CLI mode - transcribe + clip + export in one shot
./podcli process episode.mp4 --top 5
 
# Or open the Web UI
npm run ui # localhost:3847
Built with
TypeScript
Python
FFmpeg
Whisper
OpenCV
React
Express
MCP SDK