Communitygithub.com

MBehtemam/montagent-skills

Montagent ビデオのタイミング、イージング、レイアウト作成用スキル:ビートグリッド、イージングとホールド長、セーフエリア、タイプスケール、抑制。映像の見た目を判断する前に読み込んでください。

montagent-skills とは?

このスキルは、Montagent プロジェクトにおいて、すべての動きの時間的および空間的な精度を実現するために不可欠なルールと数値を提供します。ビートグリッド、イージングカーブ、速度制限、ホールド時間、セーフエリア、タイポグラフィ、そして抑制の原則をカバーしています。ミリ秒単位のタイミングとフレームの短辺を基準とした相対サイズを使用することで、アスペクト比やフレームレートに関わらず一貫した結果が得られます。このスキルは、クリエイティブな判断を裏付けるチェックリストとして機能し、すべてのカット、動き、テキストがビートに乗り、読みやすく、視覚的にスムーズであることを保証します。Montagent のワークフローと統合されており、`query`、`preview`、`measure` などのコマンドを使用してチェックを自動化します。このスキルを適用することで、ユーザーは正確なタイミングとプロフェッショナルな品質を持った動画を制作することができます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/MBehtemam/montagent-skills/tree/HEAD/skills/montagent-craft

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

クラフト: タイミング、イージング、レイアウト

あらゆる Montagent 作品を支える数値。ジョブ、形状、フレームレートに関係なく適用されます。時間はミリ秒単位。サイズはフレームの 短辺(ワイドフレームの高さ、縦長フレームの幅)に対する割合です。そのため、あらゆるサイズとアスペクト比で有効です。ジョブスキルのレシピには、その動き自体の数値が含まれています。そのレシピ内では、その数値が優先されます。

見た目のチェック

各見た目チェックステップで、ステップが指定するフレームを以下の各項目と照らし合わせ、レンダリング前にもう一度動画全体を確認してください。フレーム内にあるものを判断し、構築しようとしたものは判断しないでください。確認した内容からチェックできなかった項目は、未チェックとしてカウントされます。もう一度確認してください。

  1. ビートに乗っている。 すべてのカット、登場、セクション変更は、そのビートの描画フレームに、または最大でも1フレーム早く配置されます(ビートグリッド)。query --from --to でカットの一覧を表示し、グリッドと比較します。
  2. セーフエリア内にある。 すべての単語はタイトルセーフ内に、すべての顔と製品はアクションセーフ内に配置されます(セーフエリア)。テキストについては、query --at <t> --json で各要素のインクボックスをピクセル単位で取得できます。
  3. 十分な大きさ。 読まれることを意図したテキストは、短辺の3 %以上であり、レベル間の差が明確であること(タイポグラフィ)。
  4. 読みやすい。 背景に対するテキストのコントラスト比は、タイポグラフィで指定された値を、テキストが表示されているすべてのフレームで満たしていること。映像や写真の上では、最も明るく、最も動きのあるフレームで確認します。
  5. 焦点は一つ。 どの瞬間にも、最も新しく、最も大きく、最も明るい、またはアクセントのある一つのものが主役です。その他のものは、消えているか、静止しているか、明らかに後方にあります(抑制)。
  6. 滑らか。 preview で、ストロボ、カクツキ、または同じもののコピーとして表示されることがないこと(速度制限)。
  7. 読むのに十分な長さ。 各行は、何かが動き出す前に、その読み取り時間の間保持されます(ホールド)。
  8. 終わり。 最後のフレームは完全で静止しており、その状態が少なくとも 1 秒間続いていること。サウンドはそのフレームで 0 になります。

チェックが完了するのは、すべての項目がコンタクトシートのすべてのタイルで、かつステップが指定するすべてのフレームで成立したときです。失敗したものを修正し、montagent のチェックステップに戻ります。

ビートグリッド

音楽が時計を設定します。何かを配置する前に、テンポと最初のダウンビートを見つけてください。

  • テンポが明記されている 場合(ブリーフやアセットノート内):そのテンポと指定されたダウンビートを使用します。
  • テンポが明記されていない場合: python3 scripts/beat_grid.py <project> <spec> を実行します(spec については --help を参照)。このスクリプトはトラックを分析し、ダウンビートが目的の位置に来るように配置し、最後の描画フレームでフェードアウトします。プロジェクトを標準出力に出力するので、新しいファイルにリダイレクトします。グリッドは JSON として標準エラー出力に出力されます。両方の信頼度を確認してください。1.5 未満の場合、または downbeat_by が first の場合、グリッドは推測です。BPM(および downbeat)がわかっている場合はスペックで指定し、引き継ぎ時にグリッドが推定されたものであると伝えてください。
  • 音楽がない場合: 500 ms のビート (120 BPM)。

計算方法:

  • 1ビートは 60000 / BPM ms、1小節は4ビート、1フレーズは4小節(場合によっては8小節)です。
  • 最初のダウンビートからカウントし、決して加算しないでください。 n 番目のビートは downbeat + n × beat で、その後描画フレームに移動します:floor(round(t * fps / 1000) * 1000 / fps)。丸めたビートを繰り返し加算すると、数小節ごとに1フレームずれます。measure --at で瞬間が描画されていることを確認します。
  • 90、100、120 BPM では、1ビートは 30 および 60 fps でフレーム数の整数になります(24 fps では 90 および 120 BPM、25 fps では 100 BPM も同様)。その他のテンポでは、ビートは 14、14、15...フレーム間隔で発生します。各ビートがダウンビートからカウントされていれば問題ありません。

配置場所:

  • セクション変更はダウンビート上、作品の最大の転換点(リビール、ブランド)はフレーズの最初のダウンビート上。
  • 主要なイベントはビート上: カット、単語の着地、色の変更。二次的な動きは半拍または4分の1拍上: 落ち着き、グループ内のスタガー、バーの後のラベル。
  • 「オン」になるフレーム: カット、フラッシュ、ポップは、最初のフレームでビートに乗ります。半拍より長く、到着がポイントとなる動きは、代わりにビートで終了します。
  • 早めに、決して遅れない: 視聴者は、約 45 ms(1〜2フレーム)から、画像が音に遅れていることに気づきます。1フレーム早いヒットはビートに乗っているように認識されますが、1フレーム遅いと遅れているように認識されます。

時間とイージング

動き長さ30 fps でのフレーム数
ヒット: フラッシュフレーム、衝撃のインパクト、ハードスワップ70–130 ms (2フレーム未満はグリッチとして認識される)2–4
小さな動き: ポップ、ナッジ、ラベルのフェードイン200–350 ms6–10
標準的な動き: カードのイン、フレームの一部を横切る動き400–600 ms12–18
重い動き: ヒーローリビール、大きなプッシュ700–1000 ms21–30
ドリフト: プッシュイン、スローフロート画面に表示されている全時間
  • 終了は、それが元に戻す開始の 60~70 % の時間で実行します。
  • スタガー グループ内のアイテムは 60~130 ms(30 fps で 2〜4 フレーム)ずつ遅らせ、スタガー全体は 500 ms 未満に抑えます。より長いグループでは、代わりに各アイテムに独自のビートを与えます。
  • カーブ。 到着するものは減速し、離れるものは加速し、画面上の2つの場所間を移動するものは両方向にイージングします。作品全体で、役割ごとに1つのカーブを選び、それを維持します。カーブは作品の声の一部です。
役割カーブピーク速度(平均の倍率)
長いセトルを伴う登場[0.16, 1, 0.3, 1]6.3
より穏やかな登場[0.25, 1, 0.5, 1]4.0
約 10 % のオーバーシュートを伴うポップ[0.34, 1.56, 0.64, 1]4.6
終了ease-in1.7
2つの場所間、ワイプ、スイープ[0.65, 0, 0.35, 1]2.9
スピン[0.3, 0.3, 0.5, 1]1.6
ドリフト、サウンドフェード、一定スピンlinear1.0

ピークの列は、以下の速度チェックに使用します。動きの最も速い瞬間は、平均速度にその数値を掛けたものです。

速度制限

速い動きの場合は、動きを遅くするのではなく、動いている要素に motion_blur を設定します("shutter": 180、"samples" 8–16)。これはデフォルトではありません。高速で動く要素にのみ設定し、すべてには設定しないでください。これがない要素は、フレームごとに1つのシャープな画像として描画されるため、速い動きは別々のコピーとして表示され、以下の制限が適用されます。すべての動きの最も速いフレームを確認します:距離 × ピーク ÷ (フレーム数での長さ)。

  • 移動: 最も速いフレームでの動きのステップは、動いているもの自身の移動方向のサイズの半分未満に抑えます。全体のサイズを超えると、目には2つのものとして見えます。
  • 回転: 最も速いフレームで 45° 未満。回転しながら繰り返すもの(4本スポークの形状、12刻みのダイヤル)は、1フレームあたりの繰り返し角度の半分未満に抑えないと、逆回転しているように見えます。4本スポークの場合は 45° 未満、12刻みの場合は 15° 未満。[0.16, 1, 0.3, 1] の 1 秒間に 3 回転は、30 fps で 1 フレームあたり約 200° に達します。これはストロボになります。
  • 動きながら読む: 読みながら動き続けるテキスト、顔、スクリーンショット(クロール、スクリーンショットのパン、長時間のドリフト)は、1秒間にフレーム幅の最大 15 % を超えて移動してはなりません。これは映画のルールで、フレーム幅全体を通過するのに最低 7 秒かかります。
  • フラッシュ: 1秒間に最大3回の全面または大きな明るさの反転。グリッチカットやストロボも含みます。

ホールド

  • 読み取り時間: 単語あたり 330 ms(約 1 秒間に 3 単語)、さらに行が到着したことに気づくための 1 ビート。1 行につき最低 1 秒、次のビートに切り上げます。
  • 長すぎる: 何も動かないフレームが約 7 秒以上続くと、停止しているように認識されます。ドリフトを与えるか、次に進みます。
  • 終わり: 最後のフレームは、少なくとも 1 秒間完全で静止していること(ブランドやコールトゥアクションの場合は 1.5 秒以上)。

セーフエリア

画像の端は、トリミングされたり、覆われたり、見落とされたりします。重要なものはこれらのボックス内に収めてください。背景、塗り足し、背景画像は端まで、そしてその先まで広がります。

フレームタイトルセーフ: すべての単語アクションセーフ: 顔、製品、アクション
ワイドまたは正方形 (16:9, 4:3, 1:1)各端から 5 % 内側各端から 3.5 % 内側
縦長 (9:16, 4:5)側面から 5 %、上下から 12.5 % 内側各端から 3.5 % 内側

1920×1080 の場合、タイトルセーフは x 96–1824、y 54–1026 です。1080×1920 の場合、x 54–1026、y 240–1680 です。動画がフィード内で再生され、そのプレーヤーが画像の上に独自のボタンやキャプションを描画する場合、テキストを下部の 5 分の 1 の領域外に保ちます。

タイポグラフィ

サイズは、フォントの size を短辺の割合として表します。

レベルサイズ1080 の場合
ディスプレイ: 目を引く、一つの大きな単語7–12 %76–130 px
見出し5–7 %54–76 px
本文、キャプション5–6.7 %54–72 px
ラベル、小さな文字3.5–4.5 %38–49 px
読まれることを意図していないもの3 % 未満32 px
  • 段階: 1つのフレーム内の2つのレベルは、少なくとも 1.25 倍の差があること。差が小さいと、階層ではなく誤りとして認識されます。
  • 行: 最大 42 文字、動きながら読まれるものは最大 2 行。フックは 6 単語以下。
  • フェイス: 1 ファミリーで、大きく異なる 2 つのウェイト(太字のディスプレイ、標準の本文)。2 番目のファミリーは、明白に対比する場合のみ使用します(サンセリフ体の横にセリフ体やモノスペース体など)。
  • コントラスト(WCAG の比率。2 つの色の相対輝度から計算):本文、キャプション、ラベルは少なくとも 4.5:1、ディスプレイサイズでは少なくとも 3:1。映像や写真の上では、フレームごとに比率が変わるため、テキストに独自の背景(ピル、バー、シャドウ)を与えます。

抑制

  • 1ショットにつき1つのアイデア、その周りに余裕を持たせます。部分ごとに読まなければならないフレームは、2つのショットに分割します。
  • 3色: 背景色、インク色、1つのアクセント色。アクセントは一度に1つのものを強調します。2つ目の使用は、最初のものの重要性を奪います。
  • 一度に1つの焦点となる動き、さらにその下に最大1つのゆっくりとしたアンビエントドリフト。
  • エフェクトはブリーフに従う。 グロー、グリッチ、クロマティック・スプリット、シェイク、フレア、パーティクル・バーストは、それを求めるトレーラーに属します。広告や解説動画では、ノイズとして認識されます。
  • 作り込まれたクロームは禁止。 コーナーラベル、タイムコード、フレームカウンター、「REC」マーク、HUDフレームは、ブリーフで要求された場合のみ使用します。
  • 代用品ではなく実際の素材を使用する。 ブリーフのスクリーンショット、映像、ブランドを使用します。手書きで描き直したプロダクトUIは、実際のものと並べると違和感があります。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

関連スキル