Task Objectives
- This Skill is used for: full-process generation from document analysis to a complete roadshow video, including voiceover, sound effects, music, subtitles, and transition animations
- Capabilities include: document analysis, brand style learning, structured planning, content generation, visual design, speech script writing, voiceover, sound effects, subtitles, video composition
- Trigger conditions: the user needs to create a roadshow video, product launch presentation, company introduction video, etc.
Prerequisites
- Dependency description: dependency packages required by the scripts
moviepy>=1.0.3 pillow>=9.0.0 pydub>=0.25.1 requests>=2.28.0 - System dependency: FFmpeg (required, used for video and audio processing)
# Ubuntu/Debian sudo apt-get install ffmpeg
brew install ffmpeg
## 操作步骤
### 标准流程(完整路演视频生成)
#### 角色一:文档分析师
1. 分析用户提供的文档,提取核心信息:
- 主题和目标
- 目标受众
- 核心论点
- 关键数据和案例
2. 输出文档分析摘要供后续角色使用
#### 角色二:结构规划师(关键角色)
1. 生成结构化文档,明确每一页 PPT 讲什么:
- 页面编号
- 页面标题
- 核心内容要点(3-5 条)
- 演讲时长(建议每页 30-60 秒)
- 页面类型(封面/内容/数据/总结)
2. 输出结构化 JSON,确保逻辑连贯
3. 此结构将作为后续所有角色的基础
#### 角色三:品牌风格分析师
1. **导入设计系统**(新增功能):
- 如果用户提供从 `web-design-analyzer` 导出的 `brand_style.json`,直接导入
- 使用 `scripts/style_learner.py --load-json ./brand_style.json` 加载配置
- 验证配置完整性(colors、fonts、layout_style)
2. **学习品牌风格**(传统方式):
- 学习用户提供的品牌风格(如样例 PPT、图片、品牌手册):
- 分析配色方案(主色、辅助色、强调色)
- 识别字体类型(标题字体、正文字体)
- 提取设计元素(logo、图标、装饰)
- 分析布局风格(简约/商务/创意/科技)
3. 生成品牌风格配置文件(brand_style.json)
4. 为后续视觉设计提供风格指导
#### 角色四:内容策划师
1. 基于结构化文档,规划每页的详细内容:
- 标题和副标题
- 内容要点(精炼为短语)
- 数据和图表说明
- 演讲提示
2. 应用品牌风格,确保内容与视觉一致
3. 输出完整的内容规划
#### 角色五:视觉设计师
1. 基于品牌风格和内容规划,生成 PPT 图片:
- 使用智能体的图像生成能力
- 应用品牌配色和风格
- 确保所有图片风格统一
- 生成 slide-01.png 到 slide-N.png
2. 参考品牌风格配置,调整图片色调、字体等
#### 角色六:路演撰稿师
1. 为每一页撰写详细的演讲稿/脚本:
- 开场白(10-15 秒)
- 核心内容讲解(每页 30-60 秒)
- 过渡语(衔接下一页)
- 总结语(10-15 秒)
2. 确保语言流畅自然,适合口语表达
3. 输出演讲稿(roadshow_script.txt)
#### 角色七:转场设计师
1. 设计页面过渡动画:
- 选择转场类型(淡入淡出/滑动/缩放/翻转等)
- 设置转场时长(建议 1-2 秒)
- 确保转场风格与品牌一致
2. 生成转场配置(transitions.json)
#### 角色八:音频设计师
1. 处理音频内容:
- **配音**:调用 TTS API 生成语音解说
- **音效**:添加页面切换音效、强调音效
- **音乐**:添加背景音乐(从 assets/music/ 或用户上传)
2. 调用 `scripts/audio_processor.py`:
```bash
python scripts/audio_processor.py \
--script ./roadshow_script.txt \
--style-brand ./brand_style.json \
--output ./audio/
- Output audio files (voiceover.mp3, sound_effects/, background_music.mp3)
Role Nine: Subtitle Designer
- Generate and synchronize subtitles:
- Generate subtitle text based on the speech script
- Calculate the start and end time of each subtitle sentence
- Apply brand fonts and styles
- Call
scripts/subtitle_generator.py:python scripts/subtitle_generator.py \ --script ./roadshow_script.txt \ --style-brand ./brand_style.json \ --output ./subtitles.srt - Output subtitle file (subtitles.srt)
Role Ten: Video Composer
- One-click compose the complete roadshow video:
- Merge all images, transitions, voiceover, sound effects, music, and subtitles
- Unify resolution and frame rate (1920x1080, 30fps)
- Ensure audio-visual synchronization
- Call
scripts/roadshow_composer.py:python scripts/roadshow_composer.py \ --images ./images/ \ --audio ./audio/ \ --subtitles ./subtitles.srt \ --style-brand ./brand_style.json \ --output ./roadshow_video.mp4 - Output the complete roadshow video
Brand Style Learning Mode
When the user wants to maintain brand style consistency:
- The user provides brand style samples:
- PPT sample files
- Brand manual
- Key images (logo, product images, etc.)
- Execute Role Three (Brand Style Analyst)
- Save the brand style configuration for later use
- Automatically apply this style in subsequent generations
Collaboration with Other Skills
Collaboration with web-design-analyzer (new)
- web-design-analyzer analyzes webpage screenshots and extracts the design system
- Convert to brand_style.json (using
convert_to_roadshow_style.py) - ppt-roadshow-generator imports the brand style and generates the roadshow video
- Suitable for scenarios where the user wants the roadshow video to remain consistent with the webpage design
- See details:references/design-system-import-guide.md
Collaboration with ppt-generator
- ppt-generator generates PPT content (JSON)
- ppt-roadshow-generator receives the JSON and continues processing
- Suitable for scenarios where the user has already used ppt-generator to generate content
Collaboration with nanobanana-ppt-visualizer
- nanobanana generates images and the player
- ppt-roadshow-generator uses the images and adds voiceover, sound effects, and subtitles
- Suitable for scenarios where the user already has images and needs a complete roadshow video
Optional Branches
- Generate only the structured document: execute Role One and Role Two
- Generate only images: execute Role One through Role Five
- Generate only the speech script: execute Role One through Role Six
- Quick mode: use the default brand style, skip Role 3
Resource Index
- Brand Style Learning: see scripts/style_learner.py(Purpose: learn the brand style provided by the user, or load an existing configuration)
- Audio Processing: see scripts/audio_processor.py(Purpose: TTS voiceover, sound effects, music)
- Subtitle Generation: see scripts/subtitle_generator.py(Purpose: generate and synchronize subtitles)
- Video Compositing: see scripts/roadshow_composer.py(Purpose: one-click compositing of the complete video)
- Brand Style Guide: see references/brand_style_guide.md(Purpose: brand style learning guide)
- Design System Import: see references/design-system-import-guide.md(Purpose: import the design system from web-design-analyzer)
- Speech Template: see references/roadshow_script_template.md(Purpose: speech writing reference)
- Collaboration Guide: see references/collaboration_guide.md(Purpose: collaborate with other Skills)
- Sample Music: see assets/music/(Optional: background music file)
- Brand Style Example: see assets/styles/(Optional: brand style example)
Notes
- Ten-role collaboration workflow, ensuring each step's output is the next step's input
- Brand style learning is key to maintaining consistency; it is recommended that users provide samples on first use
- The voiceover feature requires a TTS API key, configured via the
skill_credentialstool - Music uses the samples in assets/music/ or files uploaded by the user
- Video compositing uses FFmpeg; ensure it is installed
- Supports one-time generation of 15-100 pages with consistent style
- Maintain interaction with the user, and solicit feedback at key points (such as style confirmation)
Usage Examples
Example 1: Generate a complete roadshow video from a document
- Feature description: complete ten-role collaboration workflow
- Execution method: agents (10 roles) + scripts
- Key parameters: document path, brand samples (optional), page count (e.g., 15 pages)
- Output: complete roadshow video (including voiceover, sound effects, music, subtitles)
Example 2: Generate after learning the brand style
- Feature description: learn the brand style first, then generate the video
- Execution method: agents + scripts
- Workflow:
- The user provides brand samples
- The brand style analyst learns and saves them
- Automatically applied in subsequent generations
Example 3: Import brand style from web design (new)
- Feature description: import the design system extracted from web page analysis to generate a style-consistent roadshow video
- Execution method: web-design-analyzer + ppt-roadshow-generator
- Workflow:
- web-design-analyzer analyzes web page screenshots
- Convert to brand_style.json
- ppt-roadshow-generator imports the brand style
- Generate the roadshow video
Example 4: Collaborate with ppt-generator
- Feature description: use content from ppt-generator to generate a roadshow video
- Execution method: ppt-generator + ppt-roadshow-generator
- Workflow:
- ppt-generator generates JSON
- ppt-roadshow-generator receives the JSON and continues processing
Example 5: Batch generate a 100-page video
- Feature description: Generate 100 pages of videos with a unified style at once
- Execution method: Agent + script
- Key: Brand style learning ensures consistency
- Advantage: Unified style, no manual intervention required