動画制作:エンドツーエンドの手順
ランブック:「次に何をすべきか」を順序立てて示し、各ルールの根拠(失敗例)も記述します。すべてのテーマで手順は同じです。モードだけが変わります。
0 · モードを選択する
他のすべての前に決定し、動画のSTATUS.mdにmode:として記録します。これにより、参照元と映像の構成が変わります。
画面チュートリアル tutorial | イラスト解説 illustrated | ハイブリッド hybrid | モーション解説 motion | |
|---|---|---|---|---|
| 教える内容 | アプリやツールの使い方 | 概念:病理学、生理学、あらゆる科学 | 概念、次にそれを適用するツール | ニュースイベント、インシデント、事例とその教訓 |
| ステップ3 | アプリの事前キャプチャ | 参照調査:アトラス、顕微鏡写真、実物 | ビートごとに両方 | ソース付きファクトシート(画面上の数字はすべて引用元を明記) |
| ステップ9 | 本キャプチャ | なし | アプリビートのみ | なし |
| 映像 | アプリのスクリーンショット(参照から構築) | 描かれた絵(remotion-whiteboard使用) | 各ビートを適切な形式で | タイポグラフィ、地図、新聞ページ、ゲージ(remotion-motion-explainer使用) |
motionモードは何も置き換えません。描かれたもの(ペン、手、ストロークごとの絵)はillustratedのままで、remotion-whiteboardを使います。motionのゲート2は、オーナーが仮のキャプション付きサイレントプレビューを承認することです。
習慣ではなく、視聴者が見るべきもので選ぶこと。 どのビートも実際のインターフェースを必要としないなら、イラスト解説モードにします。モードがなかった過去の事例では、病理学のベースラインが、決して表示しないアプリのキャプチャをわざわざ取得していました。
手順とその理由
0 モードを選択する tutorial、illustrated、hybrid、またはstyle
1 作品内容を決定する 角度、視聴者、一つのアイデア
2 主張を検証する スクリプトを一文も書く前に
3 参照元を収集する アプリのキャプチャ、または描くためのリサーチ
4 スクリプトを書く その後、lintをかける
5 ── ゲート1 ── 人間がスクリプトを読み、テイクを無駄にしない
5a ストーリーボード illustrated:ビートごとに1枚の絵、キューワードをイベントに
5b キーフレーム ── ゲート2 ── オーナーが静止画でルックを承認
6 ナレーションを録音する sarvam-tts.py:クローン音声、ビートごとに1テイク
7 マスター音声 配信ターゲットに合わせる
8 計測 → グリッド → 単語 テイクがすべてのタイミングを決定
9 本キャプチャ tutorialとhybrid:スクリプトが要求する正確なフロー
10 ビルド キット(illustrated)またはアプリショット(tutorial)、グリッド上に
10b 効果音 映像に合わせた効果音、BGM、音声の下にダッキング
11 ビジュアルQA プローブ、一点集中、塗りつぶし、イベント間隔、2秒シート、ミュートレビュー
12 レンダリング
13 公開 メタデータ、チャプター、アップロード、スケジュール
音声が先、映像は後。 テイクが時計です。すべてのビート、アニメーション、カットは、計測された音声から配置され、さらに各単語の転写時間に基づきます。過去に単語数の見積もりがスクリプト全体で25%ずれ、単語ごとに中央値1.3秒の誤差がありました。詳細はreferences/mistakes.mdを参照。
2回キャプチャする(tutorial、hybrid):スクリプトの前に事前キャプチャをして、アプリが実際にできることだけを約束する。本番録音はフローが確定した後。
一度に一つの焦点。 一度に一箇所だけ描くか書き、読み順で:ノート、絵、ラベル、ポインタ。音を消しても教えられる動画にする:focus-check.pyで測定し、新しいエージェントがミュート状態で視聴してテストします(09-motion.md、11-visual-qa.md)。
2つの人間ゲート。 ゲート1、スクリプト:変更が安価、テイクはそうではない。ゲート2、ルック:すべてのビートを構築する前にキーフレーム静止画で確認。これがないと、v2では暗い背景にタイプだけが表示されました。
まず現在地を把握する:scripts/video-status.pyと動画のSTATUS.md(status-and-resuming.md)で現在のステップを確認。作業を止める直前にファイルを更新します。
譲れないルール
- 主張には、一文を書く前に一次ソースを用意する。 二次ソースは十分な頻度で誤っているため、これはオプションではありません。
- シミュレートされたインターフェースは、キャプチャした参照から構築し、決して記憶から描かない(tutorial、hybrid)。あるアプリのコンポーザを3回再構築しても、実際のものを測定するまでは誤っていました。
- 生成された出力は画面上でラベル付けする(「シミュレーション — 説明のみ」)。模式図には「簡略図」と表示。
- プライベートな情報はフレームに表示しない:デモ、サイドバー、ライブアカウントの参照、スライドのラベルにも(12-pathology-visuals.md)。
- 書かれたフォームフィールドは、信頼する前に読み直す。 タイプした値は静かに失敗することがある。
- タイミングファイル(
beats.json、lines.json)を手動で編集しない。 これらは生成されます。
このスキルがオーケストレーションするスキル
| スキルまたはキット | 動画での役割 |
|---|---|
| このスキルのキット | node <skill>/scripts/install-kit.mjs <project> --style paper-notes:コンポーネント、スタイル、フォント、QAツール、ビルドツール。最初にremotion-whiteboardのツールキットをインストール。 |
remotion-whiteboard | 描画や手書きが必要な場合に必須:ストローク、書かれたテキスト、ペン。 |
motion-design | 描画されない要素のイージングとコレオグラフィ |
remotion-best-practices | Remotion APIの使用法 |
remotion-motion-explainer | motionモード:専用テンプレート、コンポーネント、音声/キャプション/サウンド用スクリプト、実例(fridge-hack) |
video-promo-kit | すべてのモードでステップ13:サムネイルバリエーション(オーナー選択)、1:1カルーセル + LinkedIn PDF、YouTube説明/チャプター/タグ、LinkedIn/Instagram/WhatsApp用コピー |
youtube-uploader | ステップ13:Data APIによるアップロード(ドライラン、オーナーの承諾後に--confirm)、サムネイル、キャプション、プレイリスト、スケジュール設定 |
remotion-whiteboardが利用できない場合は、ビルドステップで停止し、その旨を報告すること。描画コンポーネントを即興で作ってはいけません。install-kit.mjsがこれを強制します。
詳細の所在:各段階で該当ファイルを読むこと(事前に読まないこと)
| ファイル | 段階 |
|---|---|
references/01-plan-and-validate.md | 1–2 |
references/02-capture-reference.md | 3と9:キャプチャ、またはイラスト解説時の参照リサーチ |
references/03-script.md | 4–5(チャンネルからの要望を含む) |
references/07-art-direction.md | 0(スタイル)と5a–10:ハウススタイル(データとして) |
references/08-storyboard.md | 5a–5b、ゲート2 |
references/04-voice.md | 6–8 |
references/09-motion.md | 8(単語タイミング)と10:到着、2~4秒ごとのイベント |
references/05-build.md | 10、チュートリアルショット、ホワイトボードの手、描画ライブラリ(objects.tsx) |
references/10-sound.md | 10b |
references/11-visual-qa.md、references/rubric.md | 11 |
references/12-pathology-visuals.md | 3と10(医療用画像) |
references/13-longform.md | 12分以上の動画、チャプター |
references/06-publish.md | 12–13:レンダリング、ready-to-upload/ → youtube-uploader → _uploaded/(プロモーション素材にはvideo-promo-kit) |
references/14-lessons-2026-10.md | 全モード:計測音声数値、Whisperテイクチェック、ワードキュー、コンポーネント発火サウンド、QAルール(fridge-hackビルドから。E01の教訓は04、05、06、09、11、mistakes.mdに反映) |
references/status-and-resuming.md | 動画の再開、または判断の記録 |
references/mistakes.md | 動作がおかしい場合:デバッグの前に読む |
付属スクリプト:各スクリプトは--helpを受け付け、指定されたプロジェクトのみを読み込む
| 段階 | スクリプト |
|---|---|
| ステータス | video-status.py(動画がどのステップにあるか、モード別) |
| 4–5a | check-script.py(TTSのトラップ検出)、check-storyboard.py(ビートごとの絵、キューワード、ギャップ) |
| 5b | draft-takes.py(テイクがない状態でのキーフレーム用グリッド案) |
| 6 | sarvam-tts.py(API経由でクローン音声のテイクを取得;SARVAM_API_KEYにキーを設定;--respellで発音マッピング) |
| 7–8 | check-takes.py(各テイクをWhisperでスクリプトと比較)、master-audio.py、build-audio-grid.py、word-timestamps.py(正確な単語時刻) |
| 10 | install-kit.mjs <project>(キット、スタイル、フォント、ツール、Python venv)、make-paper.py;キット内:makeBeat/HL(beatspec.tsx)、オブジェクトライブラリ(objects.tsx、スティルテストkit-objects) |
| 10b | sound-design.py |
| 11 | focus-check.py、frame-fill.py、event-gaps.py、gap-words.py(各静止ギャップで発話された単語)、contact-sheet.py;キットのtools/qa.mjs、tools/stills.mjs(中間点、終点、N秒ごと)、tools/build-all.sh(静的すぎるとレンダリング前に停止) |
| 13 | chapters.py(グリッドからYouTubeチャプター生成)、captions-srt.py(単語タイミングからアップロード用キャプション生成) |
テンプレート:templates/内のSTATUS.md、STORYBOARD.md、MUTE-REVIEW.md。スタイル:styles/*.json。
フォーマット
ショート:1080×1920、配信は2160×3840(build-all.sh --deliver-4k)。26~56秒、一つのアイデア。最初の行と最初のフレームですべてが決まります。下部360ピクセルはUIのために空けておきます。
長尺:1920×1080、30fps。7~12分、または15~30分のイラスト講義(3~5分のチャプターで構成、13-longform.md)。オプションで第二言語の代替音声トラック。
日付情報について
参照ファイル内の価格、モデル名、ティア境界、法令施行日は、上記のmeasuredOn日付時点で正しいものです。VERIFYとマークされたものは、カメラで発言する前に一次ソースで再確認します。このスキルからスクリプトに数字を継承しないでください。