Claude Codeで全工程を自動化する — プロンプト設計とスクリプト統合【第6回】
subaru · · —
ここまでで ffmpeg・Whisper・auto-editor の使い方を把握した。最終回では3つのツールをClaude Codeで繋いで、動画の粗編集を一括自動化するスクリプトを作る。
自動化する工程の整理
入力: input.mp4(クライアントからの素材)
↓
Step 1: auto-editor → ジェットカット(無音区間を自動カット)
↓
Step 2: Whisper → 文字起こし・SRT字幕ファイル生成
↓
Step 3: ffmpeg → 字幕焼き込み
↓
出力: output_final.mp4(字幕付き粗編集動画)
Claude Codeへのプロンプト設計
悪いプロンプト例
動画を自動編集するスクリプトを書いて
これでは何も決まっていない。何を入力して何を出力するか、どのツールを使うかが指定されていない。
良いプロンプト例
以下の仕様でPythonスクリプトを作成して実行してください。
【入力】
- 動画ファイル: /tmp/input.mp4
【処理内容】
1. auto-editorでジェットカット(margin: 0.2sec、threshold: 0.04)
→ /tmp/cut.mp4 として保存
2. Whisperでの文字起こし(モデル: turbo、言語: 日本語)
→ /tmp/cut.srt として保存
3. ffmpegで字幕焼き込み(フォントサイズ: 24、色: 白)
→ /tmp/output_final.mp4 として保存
【エラー処理】
- 各ステップが失敗したらエラーメッセージを表示して終了する
- 処理完了時に各ファイルのパスを表示する
良いプロンプトの条件:
- 入力ファイルのパスを明示する
- 各ステップを番号付きで指定する
- 出力ファイル名を指定する
- 設定値(閾値・フォントサイズなど)を具体的に書く
Claude Codeが生成するスクリプト例
上記のプロンプトに対してClaude Codeが生成するスクリプトはこのようになる。
import subprocess
import os
import sys
INPUT_FILE = "/tmp/input.mp4"
CUT_FILE = "/tmp/cut.mp4"
SRT_FILE = "/tmp/cut.srt"
OUTPUT_FILE = "/tmp/output_final.mp4"
def run_command(cmd, step_name):
print(f"\n=== {step_name} ===")
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
if result.returncode != 0:
print(f"エラー: {result.stderr}")
sys.exit(1)
print(f"完了: {step_name}")
return result
# Step 1: ジェットカット
run_command(
f'auto-editor "{INPUT_FILE}" --margin 0.2sec --edit audio:threshold=0.04 -o "{CUT_FILE}"',
"ジェットカット"
)
# Step 2: 文字起こし
run_command(
f'whisper "{CUT_FILE}" --language Japanese --model turbo --output_format srt --output_dir /tmp/',
"文字起こし"
)
# Step 3: 字幕焼き込み
run_command(
f'ffmpeg -i "{CUT_FILE}" -vf "subtitles={SRT_FILE}:force_style=\'FontSize=24,PrimaryColour=&Hffffff\'" "{OUTPUT_FILE}" -y',
"字幕焼き込み"
)
print(f"\n=== 完了 ===")
print(f"出力ファイル: {OUTPUT_FILE}")
反復的に改善する
一度で完璧なスクリプトができることは少ない。Claude Codeとのやり取りは反復で進める。
Step 1: まず動かす
上記のスクリプトを実行してください
Step 2: エラーが出たら貼る
以下のエラーが出ました。修正してください。
[エラーメッセージをそのまま貼る]
Step 3: 動いたら改善する
スクリプトが動きました。以下を追加してください。
- 処理時間を計測して最後に表示する
- 中間ファイルを最後に自動削除する
- ファイルが存在しない場合のエラーチェックを追加する
実用的な改善ポイント
処理時間の計測
import time
start = time.time()
# 処理
elapsed = time.time() - start
print(f"処理時間: {elapsed:.1f}秒")
中間ファイルの自動削除
import os
os.remove(CUT_FILE)
print("中間ファイルを削除しました")
複数ファイルのバッチ処理
./videos/ ディレクトリ内の全 .mp4 ファイルを
上記のスクリプトでバッチ処理して、
./output/ ディレクトリに保存するように変更してください
このシリーズで学んだこと
| ツール | できること |
|---|---|
| ffmpeg | フォーマット変換・カット・字幕焼き込み・結合 |
| Whisper | 音声→テキスト・SRT字幕ファイル生成 |
| auto-editor | 無音区間の自動検出・ジェットカット |
| Claude Code | 上記ツールを繋ぐスクリプトの生成・実行 |
Claude Codeは「コードを書いて実行する」ツールだ。周辺ツールの概要を把握していれば、あとはClaude Codeに組み立てさせることができる。
次のステップ
- 話者識別: Whisperの
large-v3モデルで複数話者を識別する - AIによる自動カット位置提案: 文字起こしテキストをLLMに渡して「削除すべき部分」を提案させる
- ワークフロー化: n8nでこのスクリプトをトリガーとして動かす
動画編集の定型作業をClaude Codeで自動化する土台ができた。あとは自分のユースケースに合わせて拡張していくだけだ。
- 1. 動画編集の全体像と工程を理解する — Claude Code自動化の前に知っておくこと【第1回】
- 2. 環境構築 — ffmpeg・Whisper・auto-editorをMacにインストールする【第2回】
- 3. ffmpegの使い方 — 動画処理の基本コマンドをまとめる【第3回】
- 4. Whisperの使い方 — 音声を文字起こしてSRT字幕を生成する【第4回】
- 5. auto-editorの使い方 — 無音区間を自動カットしてジェットカットを実現する【第5回】
- 6. Claude Codeで全工程を自動化する — プロンプト設計とスクリプト統合【第6回】