docs/ja-JP/skills/video-editing/SKILL.md
実写素材のカット、構築、強化のためのAI支援ビデオ編集ワークフロー。生の撮影素材からFFmpeg、Remotion、ElevenLabs、fal.aiを経て、DescriptまたはCapCutで最終仕上げを行う完全なパイプラインをカバーする。ユーザーがビデオの編集、素材のカット、vlogの作成、またはビデオコンテンツの構築を望む場合に使用する。
npx skillsauth add affaan-m/everything-claude-code video-editingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
実際の素材に対するAI支援編集。プロンプトからの生成ではない。既存のビデオを素早く編集する。
AIにビデオ全体を作成させることをやめ、実際の素材を圧縮・構築・強化するために使い始めると、AI動画編集が役立つようになる。価値は生成にあるのではない。価値は圧縮にある。
Screen Studio / 生の素材
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript または CapCut
各レイヤーには特定の役割がある。レイヤーをスキップしない。1つのツールですべてをやろうとしない。
ソース素材を収集する:
videodb スキル参照)出力:整理準備ができた生のファイル。
Claude CodeまたはCodexを使用して:
プロンプトの例:
「これは4時間の録音のトランスクリプトです。24分のvlogに最適な8つのハイライトを見つけてください。
各セグメントにFFmpegカットコマンドを提供してください。」
このレイヤーは構造に関するものであり、最終的なクリエイティブな判断ではない。
FFmpegは退屈だが重要な作業を処理する:分割、トリミング、結合、前処理。
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4
#!/bin/bash
# cuts.txt: start,end,label
while IFS=, read -r start end label; do
ffmpeg -i raw.mp4 -ss "$start" -to "$end" -c copy "segments/${label}.mp4"
done < cuts.txt
# Create file list
for f in segments/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy assembled.mp4
ffmpeg -i raw.mp4 -vf "scale=960:-2" -c:v libx264 -preset ultrafast -crf 28 proxy.mp4
ffmpeg -i raw.mp4 -vn -acodec pcm_s16le -ar 16000 audio.wav
ffmpeg -i segment.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4
Remotionは編集問題をコンポーザブルなコードに変換する。従来のエディタでは面倒なことに使用する:
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
{/* Main footage */}
<Sequence from={0} durationInFrames={300}>
<Video src="/segments/intro.mp4" />
</Sequence>
{/* Title overlay */}
<Sequence from={30} durationInFrames={90}>
<AbsoluteFill style={{
justifyContent: "center",
alignItems: "center",
}}>
<h1 style={{
fontSize: 72,
color: "white",
textShadow: "2px 2px 8px rgba(0,0,0,0.8)",
}}>
The AI Editing Stack
</h1>
</AbsoluteFill>
</Sequence>
{/* Next segment */}
<Sequence from={300} durationInFrames={450}>
<Video src="/segments/demo.mp4" />
</Sequence>
</AbsoluteFill>
);
};
npx remotion render src/index.ts VlogComposition output.mp4
詳細なパターンとAPIリファレンスについてはRemotionドキュメントを参照する。
必要なものだけを生成する。ビデオ全体を生成しない。
import os
import requests
resp = requests.post(
f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "Your narration text here",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("voiceover.mp3", "wb") as f:
f.write(resp.content)
fal-ai-media スキルを以下に使用する:
存在しないカットアウェイ、サムネイル、またはBロール素材に使用する:
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "プロフェッショナルなテクビデオサムネイル、暗い背景、画面上にコード",
"image_size": "landscape_16_9"
})
VideoDBが設定されている場合:
voiceover = coll.generate_voice(text="Narration here", voice="alloy")
music = coll.generate_music(prompt="lo-fi background for coding vlog", duration=120)
sfx = coll.generate_sound_effect(prompt="subtle whoosh transition")
最後のレイヤーは人間が行う。従来のエディタを使用して:
ここにセンスが現れる。AIが繰り返し作業をクリーンアップする。最終的な決定はあなたが行う。
プラットフォームによって異なるアスペクト比が必要:
| プラットフォーム | アスペクト比 | 解像度 | |----------|-------------|------------| | YouTube | 16:9 | 1920x1080 | | TikTok / Reels | 9:16 | 1080x1920 | | Instagram Feed | 1:1 | 1080x1080 | | X / Twitter | 16:9 または 1:1 | 1280x720 または 720x720 |
# 16:9 to 9:16 (center crop)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" vertical.mp4
# 16:9 to 1:1 (center crop)
ffmpeg -i input.mp4 -vf "crop=ih:ih,scale=1080:1080" square.mp4
from videodb import ReframeMode
# Smart reframe (AI-guided subject tracking)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)
# Detect scene changes (threshold 0.3 = moderate sensitivity)
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr -f null - 2>&1 | grep showinfo
# Find silent segments (useful for cutting dead air)
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=2 -f null - 2>&1 | grep silence
Claudeを使用してトランスクリプト+シーンタイムスタンプを分析する:
「タイムスタンプ付きのトランスクリプトとシーントランジションポイントに基づいて、
ソーシャルメディア投稿に最適な5つの30秒の最も魅力的なクリップを見つけてください。」
| ツール | 強み | 弱み | |------|----------|----------| | Claude / Codex | 整理、計画、コード生成 | クリエイティブな判断レイヤーではない | | FFmpeg | 決定論的カット、バッチ処理、フォーマット変換 | ビジュアル編集UIなし | | Remotion | プログラマブルオーバーレイ、コンポーザブルシーン、再利用可能テンプレート | 非開発者には学習曲線がある | | Screen Studio | 即座に洗練されたスクリーンレコーディングを取得 | スクリーンキャプチャのみ | | ElevenLabs | ボイス、ナレーション、音楽、効果音 | ワークフローのコアではない | | Descript / CapCut | 最終ペーシング調整、字幕、仕上げ | 手動操作、自動化不可 |
fal-ai-media — AI画像、ビデオ、オーディオ生成videodb — サーバーサイドのビデオ処理、インデックス作成、ストリーミングcontent-engine — プラットフォームネイティブなコンテンツ配信development
Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault. Use when an agent must save work state, transfer context, resume another agent's task, or search shared project knowledge.
development
Use when multiple consumers and providers must evolve an API or event schema without field drift, integration surprises, or one side silently redefining the interface.
tools
Query live GPU inventory, submit an authenticated Itô fixed-rate RFQ, inspect RFQ or procurement status, and run explicitly gated node qualification through the separately installed canonical CLI. Use when a user asks to find H100/H200 capacity, request a fixed compute rate, check Itô compute status, or validate GPU nodes.
data-ai
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. v2.1 adds project-scoped instincts to prevent cross-project contamination.