撮影済み動画を投げるだけ。無音カット、テロップ、BGM、効果音まで全部AIがやってくれる。Windows/Mac両対応の実践ガイド
10分の動画を「見れるレベル」に仕上げるのに、どれだけの手作業が発生するか。
| 工程 | 手作業 | AI自動編集 |
|---|---|---|
| 無音カット | 30分〜1時間。波形を見ながら「えーっと」「あの」を手動で切る | 自動。音声区間を検出してバッサリ |
| 文字起こし | 動画の3〜5倍の時間。聞いて、打って、聞き直す | 自動。Whisperが単語単位のタイムスタンプ付きで生成 |
| テロップ配置 | 1テロップ30秒〜1分。100箇所なら2時間 | 自動。日本語の文節で分割し、読みやすいサイズで配置 |
| BGM/SE | 素材探し30分+配置30分+音量調整30分 | 自動。フェードイン/アウト、音量バランスまで |
| 合計 | 7〜8時間 | 10〜30分(待ち時間含む) |
あなたがやることは2つだけです。
iPhoneで撮った動画、Zoomの録画、画面収録。何でもOK
コピペ1回。あとは全部AIが自動で処理して、完成動画が出てくる
裏側では、4つのAI技術が連携して以下を全自動で実行します。
台本は不要です。 撮影した動画をそのまま投げるだけ。フリートークで喋った内容をAIが自動で聞き取って、テロップにしてくれます。
「何が何をやっているか」を理解しておくと、トラブル時の対応やカスタマイズが圧倒的に楽になります。
OpenAIの音声認識AI。動画の音声を聞いて、単語レベルのタイムスタンプ付きで文字起こし。専門用語も高精度
Voice Activity Detection。「人が喋っている区間」と「無音区間」を自動判別。ジェットカットの核となる技術
Googleの日本語分割ライブラリ。テロップを「日本語として自然な位置」で改行する。英語圏のツールにはない強み
この3つに加えて、Remotion(Reactベースの動画生成フレームワーク)がテロップの描画・アニメーション・レンダリングを担当します。
そしてClaude Codeがこれら全てを統合するオーケストレーター。あなたの代わりにPythonスクリプトを実行し、Remotionのコードを生成し、エラーが出れば自分で修正します。
動画ファイルから音声トラックだけを取り出す(16kHz/44.1kHz の2パターン)
16kHz音声を分析し、「喋っている区間」のリストを生成。ffmpegで無音部分をカット
カット済み音声に対して文字起こし。word_timestamps=True で単語ごとの開始/終了時刻を取得
文字起こし結果を日本語文節で分割。文字数に応じたフォントサイズ・行数を自動決定
元動画 + テロップデータ + BGM/SE を合成し、MP4として書き出し
必要なツールをインストールします。Claude Codeが自動でやってくれますが、OSごとに前提が異なるため、ここで整理します。
Claude Codeの導入がまだの方は、Bonus 06「Claude活用 6段階マップ」またはBonus 08「実践コマンドチートシート」を先にご確認ください。
mkdir -p ~/Documents/video-edit/input ~/Documents/video-edit/output && cd ~/Documents/video-edit && claude以下をコピペして送信するだけです。Claude Codeが全て自動でインストールしてくれます。
以下を自動で実行してください。エラーが出たら自分で修正して続行。日本語で応答。
1. システムツール確認:
- which brew || /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- which ffmpeg || brew install ffmpeg
- python3 --version(3.10以上を確認)
2. Python仮想環境:
python3 -m venv venv
./venv/bin/pip install --upgrade pip
./venv/bin/pip install openai-whisper torch torchaudio silero-vad budoux requests
3. Whisperモデル(large-v3推奨、メモリ不足ならmedium):
./venv/bin/python3 -c "import whisper; whisper.load_model('large-v3'); print('OK')"
4. Remotionプロジェクト:
npx create-video@latest --name remotion-project --template blank --package-manager npm
cd remotion-project && npm install budoux @remotion/google-fonts && cd ..
5. 動作確認:
./venv/bin/python3 -c "import whisper; import torch; import budoux; from silero_vad import load_silero_vad; print('ALL OK')"
完了したら報告してください。mkdir -p ~/Documents/video-edit/input ~/Documents/video-edit/output && cd ~/Documents/video-edit && claudeWindowsでは Git Bash またはWSL2のターミナルから実行します。PowerShellの場合:
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\Documents\video-edit\input","$env:USERPROFILE\Documents\video-edit\output"
cd "$env:USERPROFILE\Documents\video-edit"
claude以下をコピペして送信。WindowsではPython/ffmpegのインストールが異なりますが、Claude Codeが自動で判断します。
以下を自動で実行してください。エラーが出たら自分で修正して続行。日本語で応答。
Windows環境です。
1. システムツール確認:
- python --version または python3 --version(3.10以上を確認)
- ffmpeg -version(なければ winget install ffmpeg または choco install ffmpeg)
2. Python仮想環境:
python -m venv venv
venv\Scripts\pip install --upgrade pip
venv\Scripts\pip install openai-whisper torch torchaudio silero-vad budoux requests
3. Whisperモデル(large-v3推奨、メモリ不足ならmedium):
venv\Scripts\python -c "import whisper; whisper.load_model('large-v3'); print('OK')"
4. Remotionプロジェクト:
npx create-video@latest --name remotion-project --template blank --package-manager npm
cd remotion-project && npm install budoux @remotion/google-fonts && cd ..
5. 動作確認:
venv\Scripts\python -c "import whisper; import torch; import budoux; from silero_vad import load_silero_vad; print('ALL OK')"
完了したら報告してください。Windows固有の注意点: Pythonの仮想環境は ./venv/bin/python3 ではなく venv\Scripts\python を使います。Claude Codeに「Windows環境です」と伝えれば自動で切り替えてくれます。
| 項目 | ダウンロードサイズ | 所要時間 |
|---|---|---|
| Whisperモデル(large-v3) | 約3GB | 5〜15分 |
| PyTorch | 約2GB | 3〜10分 |
| Remotionプロジェクト | 約200MB | 1〜3分 |
| その他ライブラリ | 約500MB | 2〜5分 |
| 合計 | 約5〜6GB | 15〜30分 |
Wi-Fi環境での実行を推奨します。初回だけの作業で、2回目以降は不要です。
環境構築が完了したら、いよいよ本番です。
input.mov または input.mp4 に変更する対応形式: MP4, MOV, MKV, AVI, WebM。iPhoneのHEVC(H.265)動画も自動でH.264に変換されます。
ターミナルで video-edit フォルダに移動し、Claude Codeを起動:
cd ~/Documents/video-edit && claude以下をコピペして送信します。
以下を順番に自動実行してください。エラーが出たら自分で修正して続行。日本語で応答。
入力: input/ フォルダ内の動画ファイル(.mov/.mp4)
■ 1. 音声抽出
ffmpegで動画から音声を2パターン抽出:
mkdir -p temp output
ffmpeg -y -i "input/$(ls input/ | head -1)" -ar 16000 -ac 1 temp/audio_16k.wav
ffmpeg -y -i "input/$(ls input/ | head -1)" -ar 44100 -ac 1 temp/voice_audio.wav
■ 2. 無音カット(ジェットカット)
Pythonスクリプトを作成・実行(仮想環境を使用):
- Silero VADで音声区間を検出(threshold=0.5, min_silence_duration_ms=400)
- 検出した音声区間をffmpegのfilter_complexで結合
- 出力: temp/cut_video.mp4
- カット前後の秒数とカット率をログ出力
■ 3. カット済み動画から音声を再抽出
ffmpeg -y -i temp/cut_video.mp4 -ar 44100 -ac 1 temp/voice_audio.wav
■ 4. Whisper文字起こし
Whisper large-v3でword_timestamps=True付き文字起こし:
結果をtemp/whisper_result.jsonに保存
■ 5. BudouXテロップ分割
以下のルールでテロップデータを生成:
- 1テロップ最大30文字。超える場合は文節境界で分割
- 18文字以下→1行、19〜30文字→BudouXで均等2行
- フォントサイズ自動決定: 8文字以下→72px / 9〜12→64px / 13〜18→56px / 19〜24→48px / 25以上→42px
- 時間は元セグメントから文字数比で按分
出力: temp/subtitles.json
■ 6. 動画情報取得・変換
ffprobeでコーデック・色深度・フレームレートを確認:
HEVC/10bit/30fps以外 → H.264 yuv420p 30fpsに変換
■ 7. Remotionコンポーネント生成
remotion-project/src/ にRoot.tsx, Subtitle.tsx, MainVideo.tsxを自動生成:
- OffthreadVideoで動画を表示(Videoではなく)
- テロップは画面下部(bottom:40)に固定
- Noto Sans JPフォントを使用(@remotion/google-fonts経由)
- テロップデータはrequireで同期読み込み
■ 8. 静的ファイル配置
cp temp/cut_video.mp4 remotion-project/public/
cp temp/voice_audio.wav remotion-project/public/
cp temp/subtitles.json remotion-project/public/
■ 9. レンダリング
cd remotion-project && npx remotion render MainVideo ../output/final.mp4 --timeout=120000
■ 10. 完成ファイルを開く
完了後に以下を報告: カット率、テロップ件数、出力パス| 動画の長さ | 処理時間の目安 |
|---|---|
| 1〜3分 | 5〜10分 |
| 5〜10分 | 10〜20分 |
| 15〜30分 | 20〜40分 |
Whisperの文字起こしとRemotionのレンダリングがボトルネックです。動画が長いほど時間がかかります。
基本対応: Claude Codeに「エラーが出ています。原因を分析して修正し、失敗したステップからやり直してください」と送る。ほとんどの場合、これで解決します。
それでもダメな場合: /clear で会話をリセットしてから、上のプロンプトをもう一度送信。2回目は大体うまくいきます。
AI動画編集の品質を大きく左右するのが、テロップの見た目です。英語と違い、日本語にはスペースがないため「どこで改行するか」が重要になります。
Whisperが出力するテロップは、文の区切りが粗い場合があります。「今日はAI動画編集について解説していきたいと思います」のような長い文がそのまま1つのテロップになることがある。
これを画面に表示すると、文字が小さすぎて読めない。かといって適当な文字数で切ると、「今日はAI動画」「編集について解説」のように、日本語として不自然な切れ方になります。
BudouX(Googleが開発した日本語分割ライブラリ)は、機械学習で日本語の文節境界を判定します。「今日は / AI動画編集に / ついて / 解説して / いきたいと / 思います」のように、日本語として自然な位置で区切ってくれる。
30文字を超えるセグメントは、読点や文節境界で複数のテロップに分割します。分割時の開始/終了時刻は、元セグメントの時間を文字数比で按分して割り当てます。
| 最長行の文字数 | フォントサイズ |
|---|---|
| 8文字以下 | 72px(大きく強調) |
| 9〜12文字 | 64px |
| 13〜18文字 | 56px(標準) |
| 19〜24文字 | 48px |
| 25文字以上 | 42px(コンパクト) |
最終的に生成される subtitles.json の1エントリはこのような形式です。
{
"id": 0,
"start": 0.5,
"end": 2.3,
"lines": ["今日はAI動画編集に", "ついて解説します"],
"fontSize": 56,
"color": "main"
}Remotionはこのデータを読み取り、各テロップを指定された時間に表示します。
テロップだけでは「文字起こし動画」の域を出ません。BGMと効果音を加えることで、一気にプロっぽい仕上がりになります。
BGMファイルを1つ用意するだけで、以下が自動処理されます。
BGMの用意: フリーBGMサイトからダウンロードするか、お気に入りの曲をMP3で用意してください。bgm/ フォルダに配置するだけです。
効果音は「どのタイミングに何を鳴らすか」をClaude Codeが文脈から判断します。
| カテゴリ | タイミング | 用途 |
|---|---|---|
| チャプター音 | 話題の切り替わり | 「次に」「続いて」「ポイントは」等の発話時 |
| インパクト音 | 数字・重要キーワード | 「3つの方法」「月100万円」等の強調 |
| 電子音 | テクノロジー関連の言及 | 「AI」「自動化」「プログラム」等 |
| アクセント音 | 注意喚起 | 「ここが重要」「注意してほしいのは」等 |
Section 04のプロンプトに以下を追記するだけです。
■ 追加: BGM/SE合成
- bgm/ フォルダ内のBGMファイルを動画に自動ミックス(音量0.1、フェードイン1秒、フェードアウト3秒)
- se/ フォルダ内の効果音を、テロップの内容に基づいて適切なタイミングに自動配置
- Remotionコンポーネントに Audio タグで追加
Zoomウェビナーの録画をそのまま配布していませんか? 90分の録画をそのまま渡されても、受講者は見返す気になりません。
90分のZoom録画をそのまま配布。無音・間が多く、テロップもない。受講者は途中で離脱する
70分にカット。重要ポイントにテロップ。チャプター分けでどこからでも見返せる。受講満足度が上がる
min_silence_duration_ms=800 に上げると、考える間を残しつつ不要な沈黙だけカットできる以下を自動実行してください。セミナー録画向けの設定です。
入力: input/ フォルダ内のセミナー録画
# Section 04のプロンプトに加えて以下を変更:
- Silero VAD: min_silence_duration_ms=800(意図的な間を残す)
- Silero VAD: speech_pad_ms=200(余裕を持たせる)
- テロップ: bottom: 20(スライド領域を邪魔しない位置)
- Claude APIで文字起こしを分析し、話題の切り替わりポイントを特定
- 切り替わりポイントにチャプタータイトルカード(3秒)を自動挿入
1時間の商談録画を全部見返す時間はない。でも「何が決まったか」「次のアクションは何か」は確認したい。
60分の商談録画から、重要な発言(決定事項、アクションアイテム、質問/回答)だけを抽出し、5〜10分のダイジェスト動画に再編集します。
Whisperで商談全体を文字起こし
Claude APIに文字起こしを渡し、「決定事項」「アクションアイテム」「重要な質疑応答」の区間を特定させる
ffmpegで重要区間だけを切り出し、つなぎ合わせる
各区間に「決定事項」「アクション」等のラベルテロップを追加
注意: この用途ではAnthropic API(Claude API)が必要です。文字起こしの内容分析にLLMの判断力を使います。APIキーは console.anthropic.com で取得できます。
以下を自動実行してください。商談録画のハイライト要約動画を作成します。
入力: input/ フォルダ内の商談録画
1. Whisperで全文文字起こし(word_timestamps=True)
2. 文字起こし全文をClaude API(claude-sonnet-4)に渡して、以下を特定:
- 決定事項(「〜に決めましょう」「〜でいきます」等)
- アクションアイテム(「〜さんが〜を担当」「次回までに〜」等)
- 重要な質疑応答
各項目について、開始秒と終了秒を返すよう指示
3. 特定された区間をffmpegで切り出し、2秒のフェード付きで結合
4. 各区間の冒頭にカテゴリラベルテロップを追加(「決定事項」「Action」等)
5. 通常のテロップも追加
6. Remotionでレンダリング → output/summary.mp4社内研修の動画、e-learning教材、顧客向けの解説動画。テロップがあるだけで理解度と完視聴率が大きく変わります。
専門用語や重要キーワードを自動で色分けします。通常のテロップは白、重要キーワードは黄色やオレンジなど。
# テロップ分割後に追加指示:
以下のキーワードがテロップに含まれる場合、その単語部分だけ色を変えてください:
- 重要度A(黄色 #FFD700): [用語1, 用語2, ...]
- 重要度B(水色 #00BFFF): [用語3, 用語4, ...]
Subtitle.tsxでキーワード部分をspanタグで囲み、個別に色指定してください。「ここは図で見てもらうと」「イメージとしては」といった発言を検出し、Bロールや説明画像を挿入するポイントを自動で提案します。
研修動画は長時間になりがち。話題の切り替わりを自動検出し、YouTubeのチャプター情報(タイムスタンプリスト)も同時に出力します。
# プロンプトに追加:
完成後、以下も出力してください:
- YouTubeチャプター用のタイムスタンプリスト(00:00 はじめに / 02:15 〜の解説 / ... の形式)
- output/chapters.txt に保存Bロールとは、メインの映像(話者の顔など)とは別に挿入する説明用の映像素材です。YouTubeの解説動画でよく見る「AIの話をしているときにテクノロジー系の映像が流れる」やつです。
フリー素材動画サイトPexelsのAPIで、テーマに関連する動画を自動ダウンロード。完全無料で商用利用可
Gemini APIやgen-rich-imageスキルで、テーマに合った画像を生成。Ken Burns効果で動かして擬似動画に
Pexels APIは完全無料です。何回使っても課金されません。
.env ファイルに PEXELS_API_KEY=xxxxx を追加# プロンプトに追加:
■ Bロール自動挿入
1. 文字起こしの内容をClaude APIで分析し、Bロールを入れるべきポイントを特定
2. 各ポイントのテーマに合った英語キーワードを生成(例: 「AI」→ "artificial intelligence technology")
3. Pexels APIで動画素材を検索・ダウンロード(landscape, 1920x1080)
4. Remotionで該当箇所にBロール映像をオーバーレイ(3〜5秒、フェードイン/アウト付き)フリー素材では見つからない独自のビジュアルが欲しい場合は、AI画像生成を使います。
# プロンプトに追加:
■ AI生成Bロール
1. Bロール挿入ポイントごとに、シーンの内容に合った画像プロンプトを生成
2. 画像生成API(Gemini等)で1920x1080の画像を生成
3. RemotionでKen Burns効果(ゆっくりズームイン + パン)を適用して動きを出す
4. 3〜5秒のBロールとして挿入(フェードイン/アウト付き)Bロールの入れすぎに注意: 1分あたり1〜2箇所が目安。多すぎると本編の集中を妨げます。「話題の切り替わり」と「抽象的な説明」のタイミングに限定するのがコツです。
毎回長いプロンプトをコピペするのは面倒です。Claude Codeの「スキル」機能を使えば、プロンプトを一度登録しておくだけで、次回からは短い指示で呼び出せるようになります。
Claude Codeでは、よく使うプロンプトを .claude/skills/ フォルダに保存しておくと、自動的にスキルとして認識されます。「動画を編集して」と指示するだけで、登録済みのプロンプトが自動で発動します。
video-edit プロジェクト内に .claude/skills/auto-edit/ フォルダを作成
Section 04のプロンプトをベースに、SKILL.md ファイルを作成
Claude Codeに「動画を編集して」と言うだけで、スキルが発動
---
name: auto-edit
description: 撮影済み動画の自動編集。無音カット、テロップ、BGM/SE配置を全自動で実行。「動画を編集して」「この動画にテロップ」で発動。
---
# 自動動画編集スキル
## トリガー
「動画を編集して」「テロップを付けて」「ジェットカットして」等
## 実行手順
(Section 04のプロンプト内容をここに貼り付ける)
## カスタマイズオプション
ユーザーが以下を指定した場合は対応:
- 「セミナー向け」→ min_silence_duration_ms=800
- 「BGMも入れて」→ BGM自動ミックスを追加
- 「Bロールも入れて」→ Pexels API連携を追加デフォルトのテロップデザインで物足りない場合、Claude Codeに日本語で指示するだけで変更できます。
テロップの縁取りの色を紫から青に変えてください。
文字色はそのまま白で。テロップのフォントサイズを全体的に10%大きくしてください。テロップの位置をもう少し上にしてください。
スライド共有の画面なので、下のツールバーに被らない位置に。テロップのデザインを変えてください:
- 背景: 半透明の黒帯(角丸)
- 文字色: 白
- 縁取り: なし
- フォント: そのまま(Noto Sans JP)
- 強調キーワード: 黄色
YouTubeのニュース系チャンネルっぽいスタイルにしてください。| パターン | 特徴 | 向いている用途 |
|---|---|---|
| 縁取り白文字 | 文字色: 白、縁取り: 紫/黒。背景に負けない視認性 | YouTube全般、Vlog |
| 黒帯テロップ | 半透明黒背景 + 白文字。上品で読みやすい | セミナー、教育動画 |
| ポップ系 | 色付き背景 + 白文字 + 影。バラエティ風 | エンタメ系YouTube |
| ミニマル | 影なし白文字。映像を邪魔しない | ドキュメンタリー、アート系 |
Claude Codeに「〇〇パターンにして」と指示するだけで切り替わります。Subtitle.tsxのスタイルを自動で書き換えてくれます。
最終形は「動画ファイルをフォルダに置くだけで、完成動画が出てくる」状態です。
環境構築とスキル設定が完了していれば、2本目以降はこれだけです。
ファイル名はなんでもOK(スキルが自動でフォルダ内の動画を検出)
cd ~/Documents/video-edit && claude
スキルが発動。あとは自動で完成まで進む
inputフォルダに複数の動画を入れて、まとめて処理することも可能です。
inputフォルダ内の動画を全て順番に編集してください。
1本ずつ処理して、output/ に動画名_edited.mp4 として保存してください。
全部終わったら一覧を報告してください。video-edit/
├── .claude/
│ └── skills/
│ └── auto-edit/
│ └── SKILL.md ← 動画編集スキル
├── input/ ← 編集したい動画を置く
├── output/ ← 完成動画が出力される
├── temp/ ← 中間ファイル(自動生成)
├── bgm/ ← BGMファイル(任意)
├── se/ ← 効果音ファイル(任意)
├── venv/ ← Python仮想環境
├── remotion-project/ ← Remotionプロジェクト
└── .env ← APIキー(Bロール使用時)large-v3 モデルが最高精度です。メモリが足りない場合は medium にフォールバックされますが、精度はやや落ちます。16GB以上のRAMがあれば large-v3 を推奨します。
技術的には可能ですが、処理時間が長くなります。1時間の動画で40分〜1時間程度。分割して処理することも検討してください。
Claude Codeに「○分○秒あたりのテロップ『〇〇』を『△△』に修正して」と指示するだけ。subtitles.jsonを書き換えて再レンダリングしてくれます。
「冒頭30秒と最後の1分だけテロップを入れて」のように範囲を指定できます。
はい。Python仮想環境のパスが異なりますが(Mac: ./venv/bin/python3、Windows: venv\Scripts\python)、Claude Codeに「Windows環境です」と伝えれば自動で切り替えてくれます。