mcpField
V
video-shortform

video-shortform

github.com/mphinanceクリエイティブ・メディア3283 回インストール3 日前に更新
リポジトリ

video-shortform について

video-shortformは、 briefに沿って短いワンショット動画を計画・生成するスキルです。選択したモデルに合わせてプロンプトを組み立て、統一されたメディアコマンドで生成を依頼します。

主な機能

  1. 01ワンショットの計画
  2. 02モデルに応じたプロンプト作成
  3. 03画面比率と長さの指定
  4. 04統一メディアコマンドで生成依頼
  5. 05レンダリング結果のファイル名を引き継ぎ

活用シーン

  1. 01短いワンショット動画の制作
  2. 02HTMLモーションデザインカードのレンダリング
  3. 03モデルに合わせた動画バリエーションの生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mphinance/alpha-skills --skill video-shortform

インストール後、Claude Code で/video-shortformを入力して読み込まれたか確認します。

同梱ファイルexample.htmlREADME.md

詳細

動画ショートフォームスキル

ショートフォーム(≤ 10秒)は、現在のテキスト-to-ビデオモデルの最適な領域です — ひとつのショットにひとつのアイデアを盛り込むのは得意ですが、マルチカットの ナラティブは苦手です。1回の呼び出しにつき1ショットを計画してください。

特殊ケース: hyperframes-html はフォトリアルなテキスト-to-ビデオ モデルではありません。これはローカルの HTML-to-MP4 レンダラーです。このモデルでは、シネマトグラフィーや「実世界の」カメラ物理をロールプレイしないでください。ブリーフをモーションデザインカード / タイトルフレーム / 製品インタースティシャルとして扱い、確認の質問は最大1つまでにして、すぐにディスパッチしてください。

リソースマップ

video-shortform/
├── SKILL.md
└── example.html

ワークフロー

ステップ 0 — プロジェクトメタデータを読む

videoModel、videoLength(秒)、videoAspect。これらは ハードロックです — 選択したモデルがサポートする範囲にプロンプトをクランプしてください (Seedance 2 は最大10秒、Kling 4 は最大10秒 + イメージ-to-ビデオをサポート、 Veo 3 は音声付き8秒をサポート)。

ステップ 1 — ショットを計画する

モデルを呼び出す前にショットリストを書いてください:

スロット内容
被写体フレーム内に何があるか?
カメラ固定 / パン / プッシュイン / オービット?
ライティングキーの方向 + 色温度
モーション何が、どのくらいのペースで動くか? 被写体の動きとカメラの動き。
サウンドアンビエントベッド?(モデルが音声をサポートする場合のみ)

通常は、ディスパッチする前にこれを一文のプランとしてユーザーに提示してください — ユーザーは低コストで方向修正できます。

hyperframes-html の場合、ユーザーがディスカバリーフォームに回答したら、ディスパッチ前の追加ナレーションは省略してください。プランを実際の生成プロンプトに畳み込み、すぐにディスパッチします。

ステップ 2 — プロンプトを構成する

上流モデルが好む形式を使用してください(Seedance: モーション + カメラ + ムード、Kling: 被写体 + カメラ + スタイル、Veo: 被写体 + シネマトグラフィー + サウンド)。プロジェクトの videoAspect と videoLength は API パラメータに直接バインドしてください。決して散文の中に入れないでください。

hyperframes-html の場合は、カメラリアリズムのプロンプトではなく、簡潔なモーションデザインブリーフを書いてください。被写体、レイアウト、パレット、モーションの性格、そして全体的なトーンに焦点を当てます。環境チェック、欠落しているサイドファイル、または「これからディスパッチします」というステータス更新のナレーションにターンを費やさないでください。

ステップ 3 — メディアコントラクト経由でディスパッチする

統一ディスパッチャーを使用してください — プロバイダー API を手動で呼び出さないでください:

node "$OD_BIN" media generate \
  --project "$OD_PROJECT_ID" \
  --surface video \
  --model "<videoModel from metadata>" \
  --aspect "<videoAspect from metadata>" \
  --length <videoLength seconds> \
  --output "<short-slug>-<seconds>s.mp4" \
  --prompt "<assembled shot prompt from Step 2>"

このコマンドは1行の JSON を出力します: {"file": {"name": "...", ...}}。 バイト列はプロジェクトに保存され、FileViewer が自動的に再生します。

ステップ 4 — 引き渡す

次の内容で返信してください: ショットの要約、ディスパッチャーが返したファイル名、そしてユーザーがバリエーションを希望する場合に何を試すべきかの一文。

hyperframes-html の場合は、返信を特に短く保ってください: 何がレンダリングされたか、ファイル名、そして具体的なバリエーションのアイデアをひとつ。

ハードルール

  • 1ターンにつき1ショット。マルチショットのタイムラインは hyperframes / インタラクティブビデオスキルに属するものであり、ここではありません。
  • videoAspect を正確に一致させてください — 再レンダリングは遅いです。
  • ファイルを保存せずに動画を出荷しないでください — ユーザーはファイルビューアで再生できるものを期待しています。
  • 基盤モデルが失敗した場合(NSFW フィルター、コンテンツポリシー、 タイムアウト)、エラーをそのまま報告してください。黙って再試行しないでください。
  • od media generate をすでに呼び出していない限り、レンダリングが「送信された」、「開始された」、または「実行中である」と主張しないでください。

コメント