AIで作る業務動画 Day 22|報告動画を結論ファーストで作る
今日のゴール
週次報告をテーマにした報告動画を設計し、パイプラインで生成する。
前提条件
- Day 21の成果物(MultiSceneVideo.tsx、パイプライン一式)
- パイプラインが動作している(音声生成、リップシンク、Remotion)
報告動画を作る理由
定例会議での報告、これを動画にする意味はあるのか。
やってみると、意外とメリットがあった。
- 事前共有: 会議前に動画を送れば、本番は質疑だけで済む
- 記録として残る: 口頭報告は消えるが、動画は残る
- テンプレート化: 毎週同じフォーマットで作れば効率的
今回は「営業部 週次進捗報告」をテーマに、約2分の動画を作ってみた。
引継ぎ動画との違い
Day 21で作った引継ぎ動画と、今回の報告動画は構成が異なる。
| 観点 | 引継ぎ動画 | 報告動画 |
|---|---|---|
| 冒頭 | 自己紹介、目的説明 | 結論を最初に |
| メイン | 手順説明(時系列) | 実績 + 要因分析 |
| 終盤 | 注意点、連絡先 | アクションプラン |
| 数字 | 少ない | 多い(KPI、達成率) |
| 図表 | フロー図、チェックリスト | グラフ、表 |
報告動画の基本原則は「結論ファースト」。視聴者(上司)は結論を先に知りたい。
手順
Step 1: シナリオ設計(PREP法)
報告動画は「PREP法」をベースに構成した。
P - Point(結論): 今週の結果はどうだったか
R - Reason(理由): なぜその結果になったか
E - Example(実績): 具体的な数字・事例
P - Point(アクション): 次に何をするか
これを5シーンに分解した。
| # | シーン | 時間 | 内容 |
|---|---|---|---|
| 1 | 結論 | 15秒 | 今週のサマリー(達成/未達) |
| 2 | 実績詳細 | 25秒 | KPIの推移、前週比較 |
| 3 | 要因分析 | 25秒 | 良かった点・課題の要因 |
| 4 | アクション | 25秒 | 来週のアクションプラン |
| 5 | まとめ | 15秒 | 全体まとめ、質問受付 |
合計で約1分45秒。報告動画は2分以内が理想だ。
Step 2: 台本作成
各シーンのナレーションを書いた。
シーン1(結論)
営業部の週次報告です。
今週の結論から申し上げます。
目標達成率は92%、やや未達となりました。
受注件数は18件で、目標の20件に対して2件不足しています。
シーン2(実績詳細)
実績の詳細です。
週別の推移を見ると、先々週22件、先週19件、今週18件と、
3週連続で減少傾向にあります。
担当者別では、佐藤が目標8件に対して9件と達成。
一方、田中が86%、鈴木が60%と未達でした。
台本で意識したこと:
- 結論を最初に: 「やや未達」を冒頭で言い切る
- 数字を明確に: 「まあまあ」ではなく「92%」「18件」
- 比較を入れる: 先週との比較で変化を示す
Step 3: Google Slideでスライド作成
台本に合わせて、5枚のスライドを作成した。
| スライド | 内容 |
|---|---|
| 1 | サマリー(目標達成率、受注件数) |
| 2 | 週別推移グラフ、担当者別表 |
| 3 | 要因分析(達成/未達の理由) |
| 4 | アクションプラン |
| 5 | まとめ |
報告動画ではグラフや表が多くなる。Google Slideのグラフ機能でシンプルな棒グラフを作成し、「ファイル → ダウンロード → PNG画像」で1920×1080にエクスポートした。
Step 4: 音声生成(Gemini TTS)
今回は gemini-2.5-pro-preview-tts を試してみた。
from google import genai
from google.genai import types
client = genai.Client(api_key=api_key)
response = client.models.generate_content(
model="gemini-2.5-pro-preview-tts",
contents=f"Read aloud the following text in Japanese: {text}",
config=types.GenerateContentConfig(
response_modalities=["AUDIO"],
speech_config=types.SpeechConfig(
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name="Kore"
)
)
)
)
)
5シーン分の音声を生成した。合計103.8秒(約1分44秒)。
Day 21と同じ「Kore」ボイスを使用したが、gemini-2.5-pro-preview-tts はプレビュー版のためか、微妙にイントネーションが異なる印象があった。本番利用なら安定版を使うのが無難だろう。
Step 5: リップシンク生成(Rhubarb)
生成した音声ファイルからリップシンクJSONを生成した。
rhubarb --recognizer phonetic -f json -o scene_001.json scene_001.wav
5ファイルで合計716キュー。Day 21(781キュー)より少し少ないのは、動画時間が短いため。
Step 6: pipeline-data.json生成
メタデータを統合して day22-pipeline-data.json を生成した。
{
"title": "営業部 週次進捗報告(第1週)",
"scenes": [
{
"sceneId": "scene_001",
"text": "営業部の週次報告です。...",
"audio": {
"file": "day22-audio/scene_001.wav",
"duration": 15.13,
"startFrame": 0,
"endFrame": 454
},
"lipsync": {
"file": "day22-lipsync/scene_001.json",
"cueCount": 122
},
"background": {
"type": "image",
"image": {
"src": "day22-slides/page_001.png",
"fit": "cover"
}
}
}
],
"summary": {
"totalScenes": 5,
"totalDurationFrames": 3114,
"totalCues": 716
}
}
Day 20で実装した背景画像切り替え機能のおかげで、各シーンに異なるスライドを指定できた。
Step 7: Remotionでレンダリング
Remotion Studioで確認後、レンダリングを実行した。
npx remotion render MultiSceneVideo \
--props='{"pipelineDataFile":"day22-pipeline-data.json"}' \
day22-report-video.mp4
動作確認
Remotion Studioで確認したポイント:
- 結論シーンからスタートする(結論ファースト)
- グラフスライドで数字の説明が自然に流れる
- シーン切り替え時に背景画像も切り替わる
- 約1分44秒で完結する
問題なく動作した。
Props切り替えの便利さ
ここで気づいたことがある。
Remotion StudioのPropsパネルで pipelineDataFile を変更すると、即座に別の動画に切り替わる。
| Props値 | 動画内容 |
|---|---|
pipeline-data.json |
Day 21の引継ぎ動画 |
day22-pipeline-data.json |
Day 22の報告動画 |
つまり、パイプラインで生成した複数の動画を、同じRemotionプロジェクトで管理できる。新しいシナリオを追加するたびにコンポーネントを増やす必要がない。
これはDay 19で設計した MultiSceneVideo の汎用性の高さが効いている。
今日の成果物
| 項目 | 値 |
|---|---|
| 動画ファイル | day22-report-video.mp4 |
| ファイルサイズ | 9.6 MB |
| 動画時間 | 約1分44秒 |
| シーン数 | 5 |
パイプライン実行結果:
| 工程 | 結果 |
|---|---|
| 音声生成 | 5ファイル、合計103.8秒 |
| リップシンク | 716キュー |
| 動画レンダリング | 3,114フレーム(30fps) |
検証環境
| 項目 | 値 |
|---|---|
| OS | Windows 11 Pro |
| Node.js | 18.x |
| Remotion | 4.x |
| TTS API | gemini-2.5-pro-preview-tts |
| 検証日 | 2026-01-22 |
報告動画のテンプレート
今回の構成は、他の報告動画にも応用できる。
| 報告種別 | 構成例 |
|---|---|
| 週次報告 | 結論 → 実績 → 要因 → アクション → まとめ |
| 月次報告 | 結論 → 週別推移 → トピックス → 翌月施策 → まとめ |
| プロジェクト報告 | 進捗 → 課題 → 対策 → スケジュール → まとめ |
共通するのは「結論ファースト」と「アクションで締める」こと。視聴者が知りたいのは「結果」と「次に何をするか」だ。
明日のテーマ: Day 23では、マニュアル動画(操作手順の解説)のサンプルを設計・制作します。
シリーズを追いかける
-> 著者ページ(Zenn)
Discussion