# AI视频播客自动生成 `视频制作` `TTS语音` `Remotion` `多平台发布` `AI工具` # 视频播客制作器 [中文文档](README_CN.md) 自动化流水线,从一个主题出发,创作专业视频播客。**支持哔哩哔哩、YouTube、小红书、抖音和微信视频号**,并可输出多语言内容(zh-CN、en-US)。集成了研究调查、脚本生成、多引擎 TTS(Edge/Azure/豆包/CosyVoice)、Remotion 视频渲染与 FFmpeg 音频混合等能力。 **兼容:** [Claude Code](https://claude.ai/code) · [OpenClaw](https://openclaw.ai/)(ClawHub)· [OpenCode](https://opencode.ai/) · [Codex](https://openai.com/index/introducing-codex/) —— 任何支持 SKILL.md 的编程智能体 **发布至:** 哔哩哔哩 · YouTube · 小红书 · 抖音 · 微信视频号 > **无需编程!** 用自然语言描述你的主题,编程智能体会逐步引导你完成每个环节。你负责创意决策,智能体处理所有技术细节。制作第一个视频播客比你想象的更简单。 > **注意:** 本项目仍在积极开发中,可能尚未完全成熟。我们持续迭代改进,非常欢迎你的反馈和建议——随时[提交 Issue](https://github.com/Agents365-ai/video-podcast-maker/issues) 或联系我们! ## 功能特性 - **主题调研** - 网络搜索与内容收集 - **脚本撰写** - 带章节标记的结构化解说词 - **多引擎 TTS** - Edge TTS(免费)、Azure Speech、火山引擎豆包、CosyVoice、ElevenLabs、Google Cloud TTS、OpenAI TTS - **Remotion 视频** - 基于 React 的视频合成与动画 - **视觉风格编辑** - 在 Remotion Studio 界面调整颜色、字体与布局 - **实时预览** - 渲染前通过 Remotion Studio 即时调试 - **自动对齐时间** - 通过 `timing.json` 实现音画同步 - **BGM 混音** - 用 FFmpeg 叠加背景音乐 - **字幕烧录** - 可选嵌入 SRT 字幕 - **4K 输出** - 3840x2160 分辨率,画质清晰 - **章节进度条** - 播放时显示当前章节的可视化时间轴 - **中英双语 TTS** - 使用 Azure Speech 或 CosyVoice 进行中英混合解说 - **发音纠正** - 全局与项目级多音字词典,修正中文多音字 - **哔哩哔哩模板** - 开箱即用的 Remotion 模板(`Video.tsx`、`Root.tsx`、`Thumbnail.tsx`、`podcast.txt`),快速搭建项目 - **组件库** - 可复用的视觉构建块(对比卡片、时间轴、代码块、引用块、特性网格、数据条、数字统计、流程图、图标卡、图示揭示、音频波形、Lottie 动画、媒体区块、章节布局、动态背景),用于组合丰富的章节页面 - **偏好学习** - 自动学习用户风格偏好(颜色、字体、语速),并应用于后续视频 - **多平台** - 哔哩哔哩、YouTube、小红书、抖音、微信视频号,各平台与语言设置独立 - **多语言** - 支持中文(zh-CN)和英文(en-US)脚本模板、TTS 声音与字幕字体 - **字幕偏好** - 自定义字体、大小、颜色、描边;可开关字幕烧录 - **可配置 CTA** - 自动(B站一键三连 / YouTube 订阅)、动画、文字或自定义 ### 各平台优化 **哔哩哔哩:** - **脚本结构** - 欢迎开场 + 一键三连结尾引导 - **章节时间戳** - 自动生成 `MM:SS` 格式的 B 站章节 - **封面生成** - AI(imagen/imagenty)或 Remotion,自动生成 16:9 + 4:3 两种版本 - **视觉风格** - 粗体文字、减少留白、信息密度高 - **发布信息** - 标题公式、标签策略、简介模板 **YouTube:** - **SEO 优化** - 标题不超过 70 字符,关键词丰富的描述,标签与 Hashtag - **章节** - 自动生成 YouTube 章节时间戳(首行固定为 0:00) - **CTA** - "点赞、订阅并分享"文字动画或自定义 **小红书:** - **标题** - 最多 20 字,简洁有力,支持 emoji - **简介** - 200-500 字,种草 / 知识分享风格,含 emoji - **话题标签** - `#话题#` 格式(双井号),5-10 个标签 - **封面** - 3:4(1080x1440)适配信息流展示 - **CTA** - "点赞收藏加关注"文字动画 **抖音:** - **格式** - 仅支持竖版短视频(9:16),不支持横版长视频 - **简介** - 100-200 字,口语化、轻松风格,含 emoji - **话题标签** - `#话题` 格式(单井号),3-8 个标签 - **CTA** - "点赞关注"纯文字(无动画) **微信视频号:** - **格式** - 仅支持竖版短视频(9:16),不支持横版长视频 - **简介** - 100-300 字,适合转发的知识分享风格 - **话题标签** - `#话题` 格式(单井号),3-8 个标签 - **CTA** - "点赞关注,转发给朋友"纯文字(无动画) ## 工作流程 ![工作流程](assets/workflow.png) ## 相关技能 本技能依赖 **remotion-best-practices**,并可与其他可选技能配合使用: - **remotion-best-practices** - 官方 Remotion 最佳实践(必需,提供核心 Remotion 模式与指南) - **find-skills** - 官方技能发现工具(可选,帮助查找和安装其他技能) - **ffmpeg** - 高级音视频处理(可选) - **imagen / imagenty** - AI 封面生成(可选) ## 环境要求 ### 系统要求 | 软件 | 版本 | 用途 | |------|------|------| | **macOS / Linux** | - | 已在 macOS 测试,兼容 Linux | | **Python** | 3.8+ | TTS 脚本、自动化 | | **Node.js** | 18+ | Remotion 视频渲染 | | **FFmpeg** | 4.0+ | 音视频处理 | ### 安装 ```bash # macOS brew install ffmpeg node python3 # Ubuntu/Debian sudo apt install ffmpeg nodejs python3 python3-pip # Python 依赖 pip install azure-cognitiveservices-speech dashscope edge-tts requests ``` ### 项目设置(必需) > **重要:** 本技能需要以 Remotion 项目作为基础。 **组件说明:** | 组件 | 来源 | 用途 | |------|------|------| | **Remotion 项目** | `npx create-video` | 基础框架,包含 `src/`、`public/`、`package.json` | | **video-podcast-maker** | Claude Code 技能 | 工作流编排(本技能) | ```bash # 第一步:创建新的 Remotion 项目(基础框架) npx create-video@latest my-video-project cd my-video-project npm i # 安装 Remotion 依赖 # 第二步:验证安装 npx remotion studio # 应在浏览器中打开预览 ``` 如果你已有 Remotion 项目: ```bash cd your-existing-project npm install remotion @remotion/cli @remotion/player zod ``` ### 所需 API 密钥 | 服务 | 用途 | 获取密钥 | |------|------|----------| | **Azure Speech** | TTS 音频生成(高质量) | [Azure 门户](https://portal.azure.com/) → 语音服务 | | **火山引擎豆包语音** | TTS 音频生成(备用后端) | [火山引擎控制台](https://console.volcengine.com/speech/service/8) | | **阿里云 CosyVoice** | TTS 音频生成(备用后端) | [阿里云百炼](https://bailian.console.aliyun.com/) | | **Edge TTS** | TTS 音频生成(默认,免费,无需密钥) | `pip install edge-tts` | | **ElevenLabs** | TTS 音频生成(英文最高质量) | [ElevenLabs](https://elevenlabs.io/) | | **Google Cloud TTS** | TTS 音频生成(多语言支持广泛) | [Google Cloud 控制台](https://console.cloud.google.com/) | | **OpenAI** | TTS 音频生成(简单 API) | [OpenAI 平台](https://platform.openai.com/) | | **Google Gemini** | AI 封面生成(可选) | [AI Studio](https://aistudio.google.com/) | | **阿里云 Dashscope** | AI 封面 - 中文优化(可选) | [阿里云百炼](https://bailian.console.aliyun.com/) | ### 环境变量 添加至 `~/.zshrc` 或 `~/.bashrc`: ```bash # TTS 后端:edge(默认,免费)、azure、doubao、cosyvoice、elevenlabs、google、openai export TTS_BACKEND="edge" # 默认(免费),或 "azure" / "doubao" / "cosyvoice" / "elevenlabs" / "google" / "openai" # Azure TTS(高质量) export AZURE_SPEECH_KEY="your-azure-speech-key" export AZURE_SPEECH_REGION="eastasia" # 火山引擎豆包 TTS(备用后端) export VOLCENGINE_APPID="your-volcengine-appid" export VOLCENGINE_ACCESS_TOKEN="your-volcengine-access-token" export VOLCENGINE_CLUSTER="volcano_tts" # 默认集群,根据控制台配置调整 export VOLCENGINE_VOICE_TYPE="BV001_streaming" # 根据控制台音色选项调整 # 阿里云 CosyVoice TTS(备用后端)+ AI 封面 export DASHSCOPE_API_KEY="your-dashscope-api-key" # 可选:Edge TTS 声音覆盖 export EDGE_TTS_VOICE="zh-CN-XiaoxiaoNeural" # ElevenLabs TTS export ELEVENLABS_API_KEY="your-elevenlabs-api-key" # Google Cloud TTS export GOOGLE_TTS_API_KEY="your-google-tts-api-key" # OpenAI TTS export OPENAI_API_KEY="your-openai-api-key" # 可选:Google Gemini AI 封面生成 export GEMINI_API_KEY="your-gemini-api-key" ``` 然后重新加载:`source ~/.zshrc` ## 快速开始 ### 使用方法 本技能设计用于 [Claude Code](https://claude.ai/claude-code) 或 [Opencode](https://github.com/opencode-ai/opencode)。只需告诉 Claude: > "帮我制作一个关于[你的主题]的视频播客" Claude 会自动引导你完成整个工作流程。 > **提示:** 首次生成的质量很大程度上取决于模型的智能程度——模型越先进,效果越好。经过测试,Codex 和 Claude Code 均能一次生成优质视频,OpenCode 搭配 GLM-5 也能产出不错的结果。如果初始输出不够理想,可以在 Remotion Studio 中预览,并要求编程智能体持续优化,直到满意为止。 ### 使用 Remotion Studio 预览与视觉编辑 在渲染最终视频之前,使用 Remotion Studio 进行预览和视觉样式调整: ```bash npx remotion studio src/remotion/index.ts ``` 这将打开基于浏览器的编辑器,你可以: - **视觉风格编辑** - 在右侧面板调整颜色、字体和大小 - 逐帧拖动时间轴 - 编辑组件后实时查看更新 - 即时调试时间与动画 #### 可编辑属性 | 类别 | 属性 | |------|------| | **颜色** | 主色、背景色、文字颜色、强调色 | | **排版** | 标题大小(72-120)、副标题大小、正文大小 | | **进度条** | 显示/隐藏、高度、字体大小、激活颜色 | | **音频** | BGM 音量(0-0.3) | | **动画** | 开启/关闭入场动画 | ## 配置文件 | 文件 | 作用范围 | 用途 | |------|----------|------| | `phonemes.json` | 全局 | 所有项目共享的中文多音字词典。可编辑以添加或修正发音(如:行 háng vs xíng)。项目级覆盖放置于 `videos/{name}/phonemes.json` | | `user_prefs.template.json` | 全局 | 默认偏好模板。首次运行时复制为 `user_prefs.json`,随技能学习风格后自动演进 | | `prefs_schema.json` | 全局 | 偏好验证的 JSON Schema,请勿手动编辑 | | `tsconfig.json` | 全局 | Remotion 模板的 TypeScript 配置 | ## 输出结构 ``` videos/{video-name}/ ├── topic_definition.md # 主题方向 ├── topic_research.md # 调研笔记 ├── podcast.txt # 解说词脚本 ├── phonemes.json # (可选)项目级发音覆盖 ├── podcast_audio.wav # TTS 音频 ├── podcast_audio.srt # 字幕文件 ├── timing.json # 章节时间用于同步 ├── thumbnail_*.png # 视频封面 ├── publish_info.md # 标题、标签、简介 ├── part_*.wav # TTS 分段(临时文件,通过第 14 步清理) ├── output.mp4 # 原始渲染(临时文件) ├── video_with_bgm.mp4 # 含 BGM 版本(临时文件) └── final_video.mp4 # 最终输出 ``` ## 背景音乐 `assets/` 目录中包含以下音轨: - `perfect-beauty-191271.mp3` - 欢快、积极 - `snow-stevekaldes-piano-397491.mp3` - 平静钢琴曲 ## 路线图 - [x] 竖版视频支持(9:16),适配 B 站移动端优先内容 - [x] Remotion 转场效果(@remotion/transitions),实现专业章节转场 - [x] 组件模板库(对比卡片、时间轴、代码块、引用块、特性网格、数据条、数字统计、流程图、图标卡) - [x] 广播级质量升级(渐变背景、多层阴影、动态数字计数、质量检查清单) - [x] 多 TTS 引擎支持(7 个引擎:Edge、Azure、豆包、CosyVoice、ElevenLabs、OpenAI、Google Cloud) - [x] Edge TTS 免费后端(无需 API 密钥) - [x] 多平台支持(B 站 + YouTube),支持独立语言配置(zh-CN、en-US) - [x] 断点续传(`--resume` 参数) - [x] 试运行模式(`--dry-run` 估算时长) - [x] 用户偏好自进化(自动学习视觉/TTS/内容风格偏好) - [x] 重构至最新 Claude Code SKILL 规范(`references/` 分层文档、`${CLAUDE_SKILL_DIR}` 变量、`argument-hint`/`effort`/`allowed-tools` 前置字段) - [x] 设计学习系统 —— 从参考视频/图片中学习设计风格,构建设计参考库和可复用风格配置文件 - [ ] Playwright 自动截图 —— 通过 URL 直接分析 B 站/YouTube 视频设计风格(第 4 阶段) - [ ] 第 9 步智能推荐 —— 创建视频时自动匹配并推荐现有风格配置文件(第 5 阶段) - [ ] 封面设计学习 —— 将学习到的封面风格应用于 Thumbnail.tsx 模板(第 5 阶段) - [ ] YouTube 自动发布 —— 通过 YouTube Data API 上传,附带元数据、章节和封面 - [ ] Windows 兼容性(WSL 验证 + 文档) ## 开源协议 MIT ## 支持作者 如果本项目对你有帮助,欢迎支持作者:
微信支付
微信支付
支付宝
支付宝
请我喝咖啡
请我喝咖啡
## 作者 **Agents365-ai** - 哔哩哔哩:https://space.bilibili.com/441831884 - GitHub:https://github.com/Agents365-ai