# podcli

Local podcast clipper with face tracking and burned captions, driven from a CLI, a web studio, or 26 MCP tools.

One command transcribes an episode with whisper.cpp, scores moments, crops to the speaker, and renders captioned vertical clips on your machine. The same engine is exposed as a stdio MCP server so Claude Code or Codex can run the whole flow through to YouTube publishing.

Alternative to: Opus Clip, Descript

- Capabilities: adaptable, operable
- Vertical: video-streaming
- Shape: product
- Form factor: cli
- Execution model: hybrid
- Provenance: unknown (recorded, never ranked)
- Repo: https://github.com/nmbrthirteen/podcli (AGPL-3.0), 58 stars, last commit 2026-09-02
- Last activity: 2026-09-02
- Page: apps/nmbrthirteen--podcli.html
- JSON: apps/nmbrthirteen--podcli.json

## Use it when

- I host a weekly podcast and want captioned vertical clips without uploading episodes to a cloud clipper
- I want Claude Code to clip, title, and publish shorts from a transcript as one conversation

## Gotchas

- AGPL-3.0; a commercial license is offered by email
- 58 stars and a young repo: thin evidence of users beyond the Builder
- First run downloads Python, Node, ffmpeg, whisper.cpp, and models into a managed folder
- Intel Mac support is in progress

## Editions

- Free: Free, open source
  - installable: curl -fsSL https://podcli.com/install.sh | sh
  - source: https://github.com/nmbrthirteen/podcli
- Commercial license: Free, closed source

## Adaptable: make it yours

Effort: config-only (15 things to edit)

Copy .env.example to .env: PODCLI_HOME for knowledge, presets, and assets; PODCLI_OUTPUT for renders; PODCLI_QUALITY; HF_TOKEN for diarization; FFMPEG_PATH overrides. Presets and config profiles are documented in docs/configuration.md. The PodStack slash commands in .claude/commands/ are editable prompts for the content workflow.

- Env vars: PODCLI_HOME, PODCLI_OUTPUT, PODCLI_QUALITY, PODCLI_PORT, PODCLI_LOG_LEVEL, PODCLI_PYTHON, PODCLI_TRANSITION_AUTOFIX_PASSES, HF_TOKEN, FFMPEG_PATH, FFPROBE_PATH
- Config files: .env, docs/configuration.md (config profiles), presets
- Prompt files: .claude/commands/, CLAUDE.md
- Accounts you'll need: HuggingFace (diarization token); YouTube (publishing); AssemblyAI (optional)

## Operable: what an agent can drive

Operability: native. Interface: mcp at https://podcli.com/docs/mcp-server (published by the builder, local).

### Reach (partial coverage)

- Transcribe an episode with diarization: reachable. MCP tools transcribe_podcast, transcribe_start, import_transcript
- Pick the moments worth clipping: reachable. MCP tools suggest_clips, analyze_energy; AI scoring against the knowledge base
- Render clips with face tracking and captions: reachable. MCP tools create_clip, batch_create_clips, modify_clip
- Choose caption style and aspect ratio: reachable. MCP tools manage_presets, update_settings; four caption styles
- Build highlight reels: reachable. MCP tool manage_reel
- Generate thumbnails: reachable. MCP tool manage_thumbnail_config
- Publish to YouTube: reachable. README: 26 MCP tools let an agent transcribe, score, render, and publish; manage_integrations
- Read performance analytics: undetermined. README lists analytics in the studio; no MCP tool named for it in the docs list
- Export to DaVinci Resolve: reachable. MCP tool export_to_davinci_resolve (FCPXML)
- Keep titles and captions in the show's voice: reachable. MCP tool knowledge_base; clip_history stops resuggesting published moments

## Code stack

- Languages: Python, TypeScript
- Frameworks: whisper.cpp, ffmpeg, Remotion, pyannote
- Package manager: npm
- Database: none
- Hosting target: macOS (Apple Silicon), Linux, Windows

## Model stack

- Providers: local whisper.cpp, AssemblyAI (optional), Claude or Codex CLI (optional scoring), HuggingFace pyannote (diarization)
- Models: Whisper
- Keys you need (names only): HF_TOKEN
- Prompts live in: .claude/commands/, CLAUDE.md
- Tools: transcribe_podcast, suggest_clips, create_clip, batch_create_clips, manage_reel, manage_presets, manage_thumbnail_config, manage_integrations, export_to_davinci_resolve, knowledge_base

## Evidence and confidence

- formFactor: README: podcli process episode.mp4; installer fetches a self-contained binary (confidence 0.95)
- executionModel: README: transcription and rendering local; optional Claude or Codex calls for AI clip scoring (confidence 0.85)
- operability: README: 'Agent-native. 26 MCP tools'; podcli mcp install; tool list from podcli.com/llms.txt (confidence 0.9)
- effort: .env.example with named PODCLI_* variables; docs/configuration.md referenced (confidence 0.85)
- editions: README: free and open source under AGPL-3.0; commercial license by email (confidence 0.9)
- active: GitHub pushedAt 2026-09-02
- reach:  (confidence 0.8)

## Open questions

- Real-software gate is met on stars alone (58); look for issues, forum threads, or the X demo's reach before verifying
- Whether analytics is reachable through manage_integrations

## Sources

- https://podcli.com (sourcing:video-streaming:github)
- https://github.com/nmbrthirteen/podcli (sourcing:video-streaming:github)
- https://podcli.com/llms.txt (analysis)
