Video production pipeline
動画制作から品質管理、自動化パイプラインまでを一元管理するスキル。
# YouTube等から動画をダウンロード
yt-dlp -f "best[height<=1080]" <URL> -o "output/%(title)s.%(ext)s"
# 音声のみ抽出
yt-dlp -x --audio-format mp3 <URL>
# ローカルWhisper(無料・低速)
whisper video.mp4 --model medium --language ja --output_format srt
# OpenAI API(高速・有料)
curl https://api.openai.com/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F [email protected] \
-F model="whisper-1" \
-F language="ja"
cd remotion-project
npm run build
npx remotion render src/index.tsx VideoComposition out/video.mp4
# 動画結合
ffmpeg -f concat -i list.txt -c copy output.mp4
# 音声追加
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4
# リサイズ(縦動画)
ffmpeg -i input.mp4 -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" output.mp4
make phase4-policy
.env がgit追跡されていないか確認make phase4-eval
make phase5-metrics
# → metrics/YYYYMMDD.jsonl に記録
make phase5-anomaly
# 直近N件のメトリクスを分析し異常を検出
make phase5-notify
# Slack/Discord/メールに異常通知
validate → guard → dispatch → 実行
# 入力検証
make phase6-validate PHASE=<phase> MODE=<mode> REASON='<reason>'
# 安全確認
make phase6-guard PHASE=<phase> MODE=<mode> REASON='<reason>'
# 実行
make phase6-run PHASE=<phase> MODE=<mode> REASON='<reason>'
.github/workflows/phase2-scheduled.yml.github/workflows/phase3-scheduled.ymlvideo-agent/
├── scripts/
│ ├── phase4-policy.sh
│ ├── phase4-eval.sh
│ ├── phase5-metrics.sh
│ ├── phase5-anomaly.sh
│ ├── phase5-notify.sh
│ ├── phase6-validate.sh
│ ├── phase6-guard.sh
│ └── phase6-dispatch.sh
├── metrics/
│ └── YYYYMMDD.jsonl
├── config/
│ └── policy.yaml
└── Makefile
1. /video-agent download <YouTube URL>
2. /video-agent transcribe video.mp4
3. /video-agent produce --type short --style vertical
4. /video-agent validate
5. /video-agent deploy
# 複数動画の一括処理
for url in $(cat urls.txt); do
make phase6-run PHASE=download MODE=batch REASON="Batch download"
done
nanobanana-pro - 画像生成(サムネイル、素材)gpt-sovits-tts - 音声合成テロップ - テロップ追加youtube-thumbnail - サムネイル最適化