Podcast to
content studio

Feed it an episode. Claude or Codex finds viral moments using your show's knowledge base, crops to vertical with face tracking, burns in captions, and exports upload-ready shorts. Then writes titles, descriptions, and thumbnail briefs. Runs locally.

podcli
What it does

Everything runs on your machine

No accounts, no uploads, no API keys. Files stay local.

Whisper transcription

Word-level timestamps and speaker diarization. Cached by file hash — re-runs are instant.

Face-tracking crop

YuNet face detection with speaker-aware tracking. Handles split-screen and mixed layouts. Snap cooldown prevents camera flashing.

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 clips, toggle selections, preview styles, export. All in-browser.

AI clip suggestion

Claude or Codex finds viral moments using your knowledge base. Multi-cut segments skip filler automatically.

MCP server (17 tools)

Add to Claude Code, Claude Desktop, or Codex. 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.

Knowledge base

13 templates that teach the AI your voice, style, title formulas, and banned words. Shared by both engines.

How it works

One command, six stages

CLI, Web UI, or AI agent — same pipeline either way.

01

Transcribe

Whisper + pyannote for word timestamps and speaker labels

02

Score

Claude or Codex analyzes transcript against your knowledge base to find viral moments

03

Export

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

04

Titles & Descriptions

8 options per clip, descriptions with hooks and SEO keywords

05

Thumbnails

Two-line text briefs for podcast (16:9) and shorts (9:16)

06

Publish

Pre-upload checklist, first-24-hours ops, day 3–4 optimization

Steps 01-03 are the video engine. Steps 04-06 are PodStack slash commands in Claude Code or Codex.

Caption styles

Four styles, one flag

Burned in at word-level timing. Filler words 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.

Content workflow

Plan before recording. Publish after. PodStack handles both.

Nine slash commands for Claude Code and Codex. Design episodes backwards from ideal output, then turn transcripts into titles, descriptions, and publish-ready packages. Deeply integrated — the clip engine reads your knowledge base, applies your title formulas and voice rules, checks for duplicate moments, and outputs MCP-aligned fields that flow through to export.

/plan-episode
Episode Architect

Pre-recording: designs questions, story arc, and target moments backwards from ideal output

/process-transcript
Content Analyst

Extracts 8-15 moments, scores each on hook strength and standalone value

/generate-titles
Title Writer

8 title options per clip with 6-point verification checklist

/generate-descriptions
Copywriter

Ready-to-paste descriptions with hooks, hashtags, SEO keywords

/plan-thumbnails
Art Director

Two-line text briefs for podcast and shorts thumbnail formats

/review-content
Brand Guardian

Catches banned words, voice violations, and weak hooks before publishing

/prep-episode
Producer

Full pipeline: transcript to publish-ready content package

/publish-checklist
Launch Manager

Pre-upload, at-publish, first-24-hours, and day 3-4 optimization

/retro-episode
Analyst

Episode performance review with data-driven recommendations

S
Knowledge base — teach the AI your brand
.podcli/knowledge/
  01-brand-identity.md — your show, positioning, hosts
  02-voice-and-tone.md — voice fingerprint, banned words
  05-title-formulas.md — title shapes, rules, templates
  07-thumbnail-guide.md — layouts, colors, typography
  ... 13 files total, all customizable
AI agent integration

It's an MCP server

Add it to Claude Code, Claude Desktop, or Codex. Say "clip this episode" and it handles transcription through export. The Web UI updates live as the agent works.

1
transcribe_podcast
1
set_video
1
import_transcript
2
suggest_clips
2
modify_clip
2
toggle_clip
3
create_clip
3
batch_create_clips
-
get_ui_state
-
knowledge_base
-
manage_assets
-
clip_history
-
analyze_energy
-
manage_presets
-
update_settings
-
list_outputs
-
parse_transcript
// claude_desktop_config.json or codex setup
{
  "mcpServers": {
    "podcli": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "./podcli"
    }
  }
}
Get started

Three ways to use it

CLI, Web UI, or AI coding agent. Same pipeline, same quality. Pick what fits your workflow.

Process an episode
./podcli process episode.mp4 --top 8
 
All options
-t --transcript file.txt Use existing transcript
-n --top 8 Number of clips
-o --output ./shorts Output directory
--caption-style branded | hormozi | karaoke | subtle
--crop face (speaker-aware) | center
--quality low | medium | high | max
--logo asset name or path to PNG
-p --preset myshow Load saved config
 
Manage
./podcli assets add mylogo /path/to/logo.png
./podcli presets save myshow --caption-style branded
./podcli info
Install
Terminal
git clone https://github.com/nmbrthirteen/podcli.git
cd podcli
./setup.sh
Needs Node ≥ 18, Python ≥ 3.10, FFmpeg. Optional: Claude Code or Codex for AI clip suggestion.
Built with
TypeScript
Python
FFmpeg
Whisper
OpenCV
React
Express
MCP SDK