Motion Reel Studio (モーションビデオ制作スタジオ)
単なるプロンプトやHTMLプレビューではなく、編集可能なアニメーションプロジェクトと検証済みの動画ファイルを制作します。Movezのコースを基に適応; 実装と修正はprovenanceに文書化されています。特定のモデルや有料サービス、外部スキルを必要とせず、あらゆるコーディングエージェントで動作します。
範囲と初期決定
ユーザーの要望と既存のプロジェクト指示を読みます。要求されたエンジン、ルック、音楽、フォーマットを維持します。プロジェクトがすでにRemotionまたはHyperFramesを使用している場合は、それを拡張します。そのフレームワークのインストール済みの指示/最新ドキュメントを参照してください。それ以外の場合は、バンドルされたCanvas + Playwright + FFmpegスターターを使用します。以下のコマンドはこのデフォルトルートにのみ適用されます。
サブジェクト/プロダクトURL、目的、尺、アスペクト比、リファレンス、ブランドアセット、サウンドを確立します。提供された回答から推測し、重要な欠落情報のみを質問します。自由形式のショーリールの場合は、コンセプト、15秒、1080×1920、60fps、オリジナル合成オーディオを選択して明示します。製品の主張やスクリーンショットを捏造してはいけません。実際のプロダクトアセットが利用できない場合は、それらを収集するか、許可されたコンセプトデモとして明示的にラベル付けします。
制作はユーザーのアーティファクトディレクトリ内に作成します。Xリポジトリでは、新しいフィルムにはposts/<slug>/を使用し、すべてのアセットをそこに保持します。リポジトリルートにプロジェクトファイルをインストールしてはいけません。スキル自体は個人のスキルディレクトリに残ります。デフォルトではAPI費用をかけずにローカルで作業します。要求されたプロバイダーは、利用可能なツール、認証情報、承認された予算を必要とします。公開は別のアクションです。
制作ワークフロー
- リファレンスとアセット。提供された画像を検査します。動画リファレンスの場合は、0.5~1秒ごとにフレームを抽出し、カット周辺の動きを検査します。ブラウザツールを使用して実際のプロダクト状態をキャプチャし、元のURLとキャプチャ日付を
docs/assets.mdに保持します。フォント/画像をローカルにダウンロードし、デコードを待ちます。docs/style-guide.mdを記述:パレット、タイポグラフィ、空間階層、ショットのリズム、トランジション言語、カメラ、テクスチャ、何を借用し、何を避けるか。リファレンスがない場合は、オリジナルのビジュアルディレクションを明示的に定義します。 - ディレクターズブリーフ。要求されたモードの方向性を読みます。
docs/brief.mdとdocs/shotlist.mdを記述します。各ショットには、目的、開始/終了フレーム、正確なコピー、ビジュアル状態、カメラ、トランジション、サウンドキュー、アセットを含めます。映像とオーディオには単一のタイムラインを使用します。簡潔な計画を示し、承認されたリクエストの範囲内で進めます。ユーザーが計画/承認ゲートを要求した場合のみ待機します。沈黙が承認を与えることはありません。 - サウンドとビート。オーディオと実行を読みます。提供された音楽を分析するか、スコアを合成します。
beats.jsonとcues.jsonを保存します。ビート検出器は小節のダウンビートを確定しません。推定値をラベル付けし、バーレベルのアクションを設計する前に最初のダウンビートを確認します。変更不要のトラックリクエストはそのまま保持します。許可なくそのソースをストレッチやノーマライズしてはいけません。 - スチルとアニマティック。動きを磨く前に、ヒーローコンポジションを構築し、各ショットをサンプリングします。同じアスペクト比で低解像度のアニマティックを、意図したビートグリッドとともにレンダリングします。ペーシングとスマートフォンでの可読性を検査します。長尺フィルムの場合は、チャプターを実装する前に、キャラクターバイブルと章のタイミング契約を維持します。独立した許可がない限り、委任してはいけません。
- アニメーション。
window.seek(t)を純粋な時間からフレームへのマッピングとして実装します。閉形式のバネトラックを使用します。プロシージャルランダム性をフレームごとにシードしてリセットするか、時間と要素IDからノイズを導出します。レンダーモードでは、永続的な積分、タイマー、CSSトランジション、ウォールクロックサンプリングを使用しません。ローカルアセットの準備状況はwindow.readyに属します。各アスペクト比に対してレスポンシブなコンポジション決定を行います。ワイドな最終版をポートレートにクロップしてはいけません。 - 批評と修正。レビューを読みます。コンタクトシート、高速動作周辺の連続フレーム、および再生ツールが利用可能な場合は実際の再生を検査します。ラウンドごとに最大3つの最も影響の大きい欠陥を修正し、影響を受ける範囲を再レンダリングします。デフォルトで最大3ラウンドの集中的な修正を使用します。ブリーフが満たされ、重要な問題が残っていない場合は停止するか、具体的なブロッカーを報告します。自己スコアを上げてパスを作り出してはいけません。スチルではオーディオやモーションの再生を検証できません。
- 最終と納品。要求された解像度をレンダリングし、オーディオをミックスし、QAシートを作成し、ストリームメタデータ、尺、フレーム数、完全なデコードを検証します。
out/final.mp4、ポスター、コンタクトシート、ソース、再現可能なコマンド、簡潔な残りの制限事項を納品します。out/loop-check.mp4はループが要求された場合のみ含めます。公開用コピーは、プロジェクトの文章ルールと、利用可能な場合は最終的なヒューマナイザーパスに従います。
含まれる作業ツールチェーン
実行する前に実行を読んでください。<skill>をこのSKILL.mdのディレクトリに、<project>を選択したフィルムディレクトリに置き換えてください。
python3 <skill>/scripts/init_project.py <project>
cd <project>
npm install
npx playwright install chromium
node render.mjs --width 360 --height 640 --fps 30 --out out/animatic.mp4
python3 audio.py synth --duration 15 --bpm 120 --out out/score.wav --beats beats.json
python3 audio.py sfx --duration 15 --cues cues.json --out out/sfx.wav
node render.mjs --width 1080 --height 1920 --fps 60 --sub 4 --out out/silent.mp4
python3 finish.py mix --video out/silent.mp4 --music out/score.wav --sfx out/sfx.wav --out out/final.mp4
python3 finish.py qa --video out/final.mp4 --out out/qa --expected-duration 15 --expected-width 1080 --expected-height 1920 --expected-fps 60 --require-audio
スターターは完全な抽象テストアニメーションであり、クリエイティブな納品物ではありません。シーン、コピー、スコア、キューをブリーフに置き換えてください。motion.mjsは、適切な不足減衰、臨界減衰、過減衰バネ、マルチターゲットトラック、テキストスワップの不透明度、シード付きノイズを提供します。render.mjsは、範囲レンダリング、サブフレームブラー、ローカルHTTPサーブ、準備完了チェック、非シーケンシャル決定論チェックを提供します。audio.pyは、決定論的なスコア、SFX、オプションの音楽分析を提供します。finish.pyは、2パスラウドネスミックス、フルフィルムページネーションコンタクトシート、フォンシート、アクションストリップ、ループコピー、技術チェックを提供します。
品質不変条件
- コンテンツは音声なしでも理解可能でなければなりません。音声は実際のモーションイベントを強化するべきです。
- 要求がない限り、一般的な中央揃えタイトル/グラデーション/フェードテンプレートは避けてください。具体的なコンポジションと目に見える変形を優先してください。「2~4秒ごとに新しく」は短尺のペーシングヒューリスティックであり、すべてのフィルムのルールではありません。
- バネは質量を表現します。素材に合わせて減衰を選択してください。すべてのラベルをバウンドさせたり、意図的な線形/周期運動をバネに置き換えたりしないでください。
- テキストはコンテナが変化し始めた後に入り、互換性のないコンテンツが到着する前に退出します。最終スケールでグリフをシャープに保ち、360px幅でテストしてください。
- 時間のモジュロ演算では継ぎ目が連続になりません。終了近くの位置、速度、可視性、音声を開始と一致させ、結合された再生を検査してください。
- ソフトウェア/フレームの決定論性と美的品質を分離してください。再現可能な悪いフレームは依然として悪いフレームです。