製品デモ動画
技術系プロジェクト向けに、並行ビルドオプションと構造化された批評家レビューを用いて2分間の製品デモ動画を生成します。
使用するタイミング
- GitHubリポジトリ、API、技術製品のデモを行う場合
- プロフェッショナルな解説動画を迅速に必要とする場合
- 複数のアプローチオプション(アニメーション vs シンプル)を検討したい場合
ワークフロー(7フェーズ)
発見 → 脚本 → 並行ビルド → 並行批評家 → 反復 → 最終確認 → 納品
│ │ │ │ │ │ │
5-10m 10-15m 30-60m 10-15m 0-3ループ ゲート ship it
フェーズ1: 発見
リポジトリをクローンして分析:
gh repo clone <owner/repo> /tmp/<repo>
抽出:
- 何をするか(1文)
- 誰のためか
- 3〜5の主要機能
- アーキテクチャ/フロー
- ビジュアルアセット(ロゴ、図)
質問(またはデフォルトを使用):
| 質問 | デフォルト |
|---|---|
| 尺 | 2分 |
| 視聴者 | 混合(技術+ビジネス) |
| トーン | プロフェッショナル会話調 |
| フォーマット | アニメーション解説 |
フェーズ2: 脚本
references/script-template.md の構造を使用:
シーン1: フック (0:00-0:15) — 問題提起
シーン2: 背景 (0:15-0:30) — なぜ重要か
シーン3-5: 機能 (0:30-1:30) — 3つの主要機能、各20秒
シーン6: 技術 (1:30-1:50) — アーキテクチャ/信頼性
シーン7: CTA (1:50-2:00) — 次にすべきこと
ガイドライン:
- 150語/分
- 最大20語/文
- 能動態
- 具体的に、曖昧さを避ける
フェーズ3: 並行ビルド
2つのサブエージェントを起動し、オプションを同時にビルド:
// オプションA: Remotion(アニメーション)
sessions_spawn({
label: "demo-video-option-a",
task: `Remotionを使用してアニメーションデモ動画をビルド。
脚本: [脚本を貼り付け]
音声: ElevenLabs、音声ID: CcEB0ARKH8qIyzh2I1OR
出力: /tmp/demo-video/option-a.mp4
アプローチ:
1. シーンごとに音声ナレーションを生成(ElevenLabs API)
2. シーンコンポーネントを持つRemotionプロジェクトを作成
3. アニメーションを音声タイミングに同期
4. 1080p 30fpsでレンダリング`
})
// オプションB: スライド + ffmpeg(シンプル)
sessions_spawn({
label: "demo-video-option-b",
task: `スライドベースのデモ動画をビルド。
脚本: [脚本を貼り付け]
音声: ElevenLabs、音声ID: CcEB0ARKH8qIyzh2I1OR
出力: /tmp/demo-video/option-b.mp4
アプローチ:
1. 音声ナレーションを生成(ElevenLabs API)
2. Puppeteerでスライドを作成(HTML → PNG)
3. ffmpegで結合し、音声に同期
4. シンプルなトランジションを追加`
})
両方の完了を待つ。 ユーザーにオプションを提示するか、品質に基づいて自動選択。
フェーズ4: 並行批評家
2つの批評家ペルソナを起動(完全なルーブリックは references/ を参照):
// ビジネス批評家
sessions_spawn({
label: "critic-business",
task: `ビジネス批評家「Mike」としてデモ動画をレビュー。
動画: [パス]
脚本: [内容]
完全なペルソナとルーブリックについては references/critic-business.md を参照。
スコア: 明確さ、プロフェッショナリズム、ビジネス価値(それぞれ1-10)
出力: 構造化されたレビューと全体スコア、具体的な修正点。`
})
// 技術批評家
sessions_spawn({
label: "critic-technical",
task: `技術批評家「シニアエンジニア」としてデモ動画をレビュー。
動画: [パス]
脚本: [内容]
完全なペルソナとルーブリックについては references/critic-technical.md を参照。
スコア: 技術的正確性、信頼性、完全性(それぞれ1-10)
出力: 構造化されたレビューと全体スコア、具体的な修正点。`
})
フェーズ5: 反復
品質ゲート:
| ゲート | アクション |
|---|---|
| 両方の批評家が7.5以上、かつCriticalな問題なし | → 出荷 |
| いずれかの批評家が7.0未満、またはCriticalな問題あり | → 反復 |
| 3回の反復後も不合格 | → 人間にエスカレーション |
反復ループ:
- すべてのCritical/Importantな問題を収集
- 重大度順に修正
- 可能な場合、影響のあるシーンのみ再レンダリング
- 批評家を再実行
フェーズ6: 最終確認
出荷前に以下を確認:
- 両方の批評家が合格(7.5以上)
- Criticalな問題が残っていない
- 音声が正しく同期されている
- すべてのシーンがきれいにレンダリングされている
- CTAが明確である
フェーズ7: 納品
出力:
✅ デモ動画完成!
📹 動画: demo-video-final.mp4 (2:03)
🎯 視聴者: [ターゲット]
📊 スコア: ビジネス 8.2/10 | 技術 7.8/10
カバー内容:
1. [主要ポイント1]
2. [主要ポイント2]
3. [主要ポイント3]
ファイル保存先: [場所]
配信先:
- Slackチャンネル(指定された場合)
- workspace/outputs/ に保存
ツールと依存関係
| ツール | 目的 | 必須 |
|---|---|---|
| ElevenLabs | 音声ナレーション生成 | はい |
| Remotion | React動画フレームワーク(オプションA) | A/Bのどちらか |
| ffmpeg | 動画処理(オプションB) | A/Bのどちらか |
| Puppeteer | スライドスクリーンショット(オプションB) | A/Bのどちらか |
| sessions_spawn | 並行サブエージェント | はい |
音声デフォルト: CcEB0ARKH8qIyzh2I1OR(Jeremy - 技術チュートリアルナレーター)
ファイル参照
references/critic-business.md— ビジネス批評家のペルソナとルーブリックreferences/critic-technical.md— 技術批評家のペルソナとルーブリックreferences/script-template.md— シーンごとの脚本構造templates/remotion/— コンポーネントを含むRemotionプロジェクトのスキャフォールドscripts/generate-voiceover.py— ElevenLabs TTSヘルパーscripts/render-slides.sh— ffmpegスライドから動画への結合ツール