AI-powered podcast content studio. Transcribe episodes, find viral moments, render upload-ready Shorts with burned captions — then generate titles, descriptions, thumbnails, and a full publish-ready content package. All from your terminal.
______________________________________________________________________
它的作用
podcli 将长篇播客转化为完整的内容操作:
Record episode
↓
Transcribe (Whisper, speaker detection)
↓
Find viral moments (Claude AI + audio energy + knowledge base)
↓
Render clips (9:16, captions, smart crop, normalized audio)
↓
Generate content package (titles, descriptions, thumbnails, SEO) ← PodStack
↓
Publish with optimization checklist ← PodStack
↓
Review performance ← PodStack上半场是 视频处理 --podcli的核心引擎。下半场是 内容工作流 --电源由 PodStack 的,一组随podcli附带的Claude Code斜线命令。两部分深度集成:剪辑建议引擎从您的PodStack知识库中读取,使用您的标题公式和语音规则,检查剧集数据库中的重复内容,并输出与MCP对齐的字段以供导出。
______________________________________________________________________
它是如何工作的(从用户的角度)
1.加入你的剧集
./setup.sh --ui
# → http://localhost:3847将视频拖动到Web UI中,或使用CLI:
./podcli process episode.mp4 --transcript transcript.txt --top 82.自动获取剪辑
podcli使用Claude根据节目的知识库分析你的文字记录,找出最热门的时刻。它在4个维度上对每个片段进行评分,建议使用多切割片段(切割填充物)的片段,并允许您在渲染前打开/关闭它们。
剪辑以如下形式出现 上传准备好的短裤:1080x1920,9:16垂直,带有刻录字幕、标准化音频和您的徽标。
3.生成完整的内容包
在中打开项目 克劳德代码 并运行:
/prep-episode这运行 PodStack 的 pipeline——一个gstack风格的工作流,它为您提供:
- 8-15分时刻 带有时间戳、类别和推理
- 每个剪辑有8个标题选项 遵循您的节目标题规范(通过6个质量门验证)
- 已准备好粘贴描述 带有钩子、访客归因、标签、SEO关键字
- 缩略图内裤 适用于播客(16:9)和短片(9:16)格式
- 品牌回顾 它能捕捉到被禁止的单词、语音违规和弱钩子
- 发布检查表 涵盖预上传、发布时、前24小时和第3-4天的优化
4.发布和跟踪
跑 /publish-checklist 上传时。一周后,跑步 /retro-episode 使用您的YouTube Studio统计数据,查看哪些有效,哪些需要改进。
______________________________________________________________________
两个一半
| 视频引擎(podcli核心) | 内容工作流(PodStack) | |
|---|---|---|
| 什么 | 转录、剪辑检测、渲染 | 标题、描述、缩略图、发布 |
| 如何 | Python+FFmpeg+Whisper+OpenCV+克劳德/Codex | 克劳德代码斜线命令 |
| 接口 | Web UI、CLI、MCP工具 | /slash-commands 克劳德代码 |
| 输出 | .mp4 文件已准备好上传 | 内容包已准备好粘贴到YouTube |
两半都是一样的 知识库 (.podcli/knowledge/)--你的节目的品牌、声音、标题公式、剧集数据库和风格指南。设置一次,一切都保持品牌。
______________________________________________________________________
特性
视频处理
- AI剪辑建议 --基于Claude/Codex的矩检测,具有知识库上下文、多分割片段、四维评分
- 人脸追踪 --YuNet人脸检测、指数平滑摄像头、分屏支持、扬声器感知跟踪和快速冷却
- 标题被烧毁 --4种风格:品牌、霍尔木兹、卡拉OK、微妙
- 硬件加速编码 --VideoToolbox(Mac)、NVENC(NVIDIA)、VAAPI、CPU回退
- 智能裁剪 --中心裁剪或面部跟踪(处理分屏、河滨风格混合布局)
- 多段剪辑 --自动剪切填充、长停顿和切线
- 耳语转录 --自动转录与说话人检测(微小→ 大)
- 成绩单导入 --粘贴
Speaker (MM:SS),JSON,拖放.txt/.srt/.vtt
内容工作流(PodStack)
/process-transcript--从任何成绩单中提取并评分最佳时刻/generate-titles--每个剪辑8个标题,带有6点验证清单/generate-descriptions--描述+标签+SEO关键词/plan-thumbnails--缩略图文本+两种格式的设计师简报/review-content--偏执的品牌检查(禁用词、声音、标题规则)/prep-episode--完整管道:成绩单→ 发布就绪包/publish-checklist--发布前/发布后优化/retro-episode--发布后的性能分析
基础设施
- 知识库 —
.md向AI传授品牌、声音和风格的文件 - 资产管理 --注册徽标和视频以快速重复使用
- 剪辑历史记录 --跟踪所有内容以避免重复
- 预设系统 --按节目保存命名配置
- MCP服务器 --17个用于Claude Desktop与Claude Code集成的工具
- 网页用户界面 --单页流
localhost:3847 - 命令行界面 --一个命令处理:
./podcli process video.mp4 --top 5
______________________________________________________________________
先决条件
| 工具 | 安装 |
|---|---|
| Node.js >= 18 | |
| python >= 3.10 | python.org |
| FFmpeg | brew install ffmpeg / sudo apt install ffmpeg |
| 克劳德代码 (可选) | docs.anthopic.com --PodStack斜线命令所需 |
| 法典 (可选) | openai.com/codex --用于剪辑建议的替代AI引擎(如果Claude不可用,则自动检测) |
快速开始
git clone https://github.com/nmbrthirteen/podcli.git
cd podcli
chmod +x setup.sh podcli
./setup.sh这将:
- 检查系统依赖关系(Node、Python、FFmpeg)
- 创建Python虚拟环境并安装软件包
- 安装Node包并构建TypeScript
- 设置PodStack斜线命令和知识库模板
- 创建本地
.podcli/数据目录 - 在以下位置启动web UI http://localhost:3847
设置选项
./setup.sh # full install + launch UI
./setup.sh --install # install only
./setup.sh --ui # launch UI only (skip install)
./setup.sh --mcp # print MCP config for Claude______________________________________________________________________
用法
网页用户界面
./setup.sh --ui
# → http://localhost:3847- 设置视频 --拖放或输入本地路径
- 添加成绩单 --拖动a
.txt文件,粘贴Speaker (MM:SS)文本,或用Whisper自动转录 - 生成剪辑 --分析音频能量+文字记录,以暗示病毒时刻
- 审查 --打开/关闭剪辑、选择字幕样式、裁剪模式、徽标
- 出口 --使用硬件加速批量渲染选定剪辑
- 预览/下载 --在线观看结果,下载单个片段
命令行界面
# Auto-transcribe + suggest top 5 clips + export
./podcli process video.mp4
# With existing transcript
./podcli process video.mp4 --transcript transcript.txt --top 5
# Full options
./podcli process video.mp4 \
--transcript transcript.txt \
--top 8 \
--caption-style branded \
--crop center \
--logo logo.png预设
./podcli presets save myshow --caption-style branded --logo logo.png --top 5
./podcli presets list
./podcli process video.mp4 --preset myshow内容工作流(PodStack)
在Claude Code中打开项目,然后使用斜线命令:
# Full pipeline — transcript to publish-ready package
/prep-episode
# Individual steps
/process-transcript # extract moments from a transcript
/generate-titles # get 8 title options for a clip
/generate-descriptions # get descriptions + hashtags
/plan-thumbnails # get thumbnail briefs for your designer
/review-content # brand and quality review
/publish-checklist # pre/post-publish ops
/retro-episode # performance analysis或者只是粘贴一个成绩单——Claude会自动检测输入并运行正确的命令。
______________________________________________________________________
知识库
知识库使podcli能够理解 *你的* 表演。掉落 .md 文件进入 .podcli/knowledge/ 视频引擎和内容工作流都使用它们。剪辑建议引擎读取其中8个文件(按相关性排序),检查剧集数据库以避免重复,并在生成建议时应用您的语音规则和标题公式。
PodStack附带 13个初学者模板 请填写您的节目详细信息:
| 文件 | 它教会了人工智能什么 |
|---|---|
00-master-instructions.md | 自动检测规则、决策树、质量门 |
01-brand-identity.md | 显示名称、定位、标语、主持人、格式 |
02-voice-and-tone.md | 语音指纹、禁用词、咖啡测试 |
03-episodes-database.md | 剧集跟踪,现有短片(用于删除) |
04-shorts-creation-guide.md | 力矩类型、选择标准、提取过程 |
05-title-formulas.md | 按内容类型划分的标题形状、规则、模板 |
06-descriptions-template.md | 描述公式、标签库、SEO关键词 |
07-thumbnail-guide.md | 布局、品牌颜色、排版、视觉规格 |
08-topics-themes.md | 核心主题、跨领域主题、受众地图 |
09-content-workflow.md | 端到端工作流阶段、交接规范 |
10-internal-processing.md | 自动执行规则、内部质量门 |
11-inspiration-channels.md | 参考渠道、病毒挂钩、混合配方 |
12-quick-reference.md | 复制粘贴挂钩、标签、CTA、清单 |
通过web UI进行管理 /knowledge.html (拖放、内联编辑器)或通过 knowledge_base MCP工具。
______________________________________________________________________
MCP服务器(克劳德集成)
podcli是一个 模型上下文协议 服务器——Claude可以将其用作通过对话创建剪辑的工具。
克劳德桌面 --添加到 claude_desktop_config.json:
{
"mcpServers": {
"podcli": {
"command": "node",
"args": ["/path/to/podcli/dist/index.js"],
"env": {
"PYTHON_PATH": "/path/to/podcli/venv/bin/python3"
}
}
}
}克劳德代码:
claude mcp add podcli -- node /path/to/podcli/dist/index.js跑 ./setup.sh --mcp 以获得填写了路径的确切配置。
MCP工具
| 工具 | 说明 |
|---|---|
transcribe_podcast | 使用Whisper+扬声器检测转录音频/视频 |
suggest_clips | 提交剪辑建议(包括重复检查) |
create_clip | 将单个短片片段渲染为垂直短片 |
batch_create_clips | 一批渲染多个剪辑 |
knowledge_base | 读取/管理播客上下文文件(主持人、风格、受众等) |
manage_assets | 注册/列出可重复使用的资产(徽标、视频) |
clip_history | 查看以前创建的剪辑,检查是否重复 |
get_ui_state | 读取当前会话状态并获取工作流下一步指导 |
modify_clip | 调整建议剪辑的时间、标题或标题样式(或将其删除) |
toggle_clip | 选择或取消选择要导出的建议剪辑 |
update_settings | 更新渲染设置(字幕样式、裁剪策略、徽标、outro) |
list_outputs | 列出输出目录中的所有渲染剪辑文件 |
manage_presets | 保存、加载、列出或删除渲染预设 |
analyze_energy | 分析音频能量水平以找到高能量时刻 |
set_video | 设置不转录的工作视频文件 |
import_transcript | 导入带有单词级时间戳的外部成绩单(跳过Whisper) |
parse_transcript | 将原始说话者标记的纯文本解析为单词级时间戳 |
______________________________________________________________________
标题样式
| 风格 | 外观 |
|---|---|
| 品牌的 | 大粗体文本,活动单词上的黑框高亮显示,渐变叠加,可选徽标 |
| 霍尔木兹 | 粗体大写弹出文本,黄色活动词(Alex Hormozi风格) |
| 卡拉OK | 整句可见,单词逐渐突出 |
| 微妙 | 底部干净的最小白色文本 |
______________________________________________________________________
项目结构
podcli/
├── podcli # CLI entry point
├── setup.sh # one-command install & launch
├── package.json
├── CLAUDE.md # PodStack master config
│
├── .claude/commands/ # PodStack slash commands
│ ├── process-transcript.md
│ ├── generate-titles.md
│ ├── generate-descriptions.md
│ ├── plan-thumbnails.md
│ ├── review-content.md
│ ├── prep-episode.md
│ ├── publish-checklist.md
│ └── retro-episode.md
│
├── src/ # TypeScript
│ ├── index.ts # MCP server entry (stdio)
│ ├── server.ts # MCP tool definitions
│ ├── config/paths.ts
│ ├── models/index.ts
│ ├── handlers/ # MCP tool handlers
│ ├── services/
│ │ ├── python-executor.ts
│ │ ├── file-manager.ts
│ │ ├── asset-manager.ts
│ │ ├── clips-history.ts
│ │ ├── knowledge-base.ts
│ │ └── transcript-cache.ts
│ └── ui/
│ ├── web-server.ts # Express server + API
│ └── public/ # Frontend (React SPA)
│
├── backend/ # Python
│ ├── main.py # stdin/stdout JSON dispatcher
│ ├── cli.py # CLI entry point
│ ├── presets.py
│ ├── requirements.txt
│ ├── models/ # ML model files
│ │ └── face_detection_yunet_2023mar.onnx
│ ├── services/ # Whisper, FFmpeg, captions, face tracking, etc.
│ │ ├── face_detector.py # shared YuNet face detector
│ │ └── ...
│ └── config/
│ └── caption_styles.py
│
└── .podcli/ # local data (gitignored)
├── knowledge/ # .md context files for AI (13 templates)
├── assets/ # registered logos, videos
├── cache/transcripts/ # cached transcriptions
├── history/ # generated clip history
├── output/ # rendered clips
├── presets/ # saved configurations
└── working/ # temp files配置
复制 .env.example 到 .env (setup.sh会自动执行此操作):
| 变量 | 默认值 | 描述 |
|---|---|---|
WHISPER_MODEL | base | Whisper型号尺寸(小、底座、小、中、大) |
WHISPER_DEVICE | auto | cpu, cuda,或 auto |
PYTHON_PATH | (venv) | Python二进制文件的路径 |
PODCLI_HOME | .podcli/ | 数据目录(相对于项目根目录) |
FFMPEG_PATH | ffmpeg | 自定义FFmpeg路径 |
LOG_LEVEL | info | 记录冗长 |
成绩单格式
Speaker Name (00:00)
What they said goes here as plain text.
Another Speaker (00:45)
Their response text here.时间偏移字段(默认值:-1s)移动所有时间戳以与音频同步。
______________________________________________________________________
学分
许可证
麻省理工学院
