Communitygithub.com

MBehtemam/montagent-skills

適用於 Montagent 任何影片的時序、緩動與佈局工藝:來自音樂的節拍網格、緩動與停留長度、安全區域、字級比例、克制原則。在判斷畫面是否正確前,先載入此技能。

montagent-skills 是什麼?

此技能定義了 Montagent 作品中所有核心的時序、緩動與佈局數值,適用於任何影片,無論其形狀、幀率或任務為何。時間單位為毫秒,尺寸則以幀的短邊為基準進行比例計算,確保在不同大小與長寬比下都能保持一致。技能包含一個完整的「檢查清單」,涵蓋節拍對齊、安全區域、字級可讀性、對比度、視覺焦點、流暢度、停留時間與結尾畫面等八個關鍵面向。節拍網格部分說明了如何從音樂或規格中取得節奏,並計算擊點位置(從第一個強拍開始計數),同時提供入場、出場、停留與閃現等動作的精確持續時間與緩動曲線(如 cubic bezier 值)。此外,該技能還針對快速移動的物件制定了運動模糊的建議參數,以及一組用於檢查移動速度上限、避免畫面閃爍或抖動的規則。整體而言,這是一套嚴謹的量化與質性檢查框架,幫助創作者在每個階段校準作品的視覺節奏與佈局精度。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/MBehtemam/montagent-skills/tree/HEAD/skills/montagent-craft

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

工藝:時間、緩動與佈局

這些數字適用於每個 Montagent 作品,無論其工作、形狀或幀率為何。時間單位為毫秒。尺寸為畫面分數,以其短邊(寬畫面的高度,高畫面的寬度)為基準測量,因此在任何尺寸與長寬比下都適用。工作技能的配方為其自身動作提供專屬數字;在該配方內,以其數字為準。

檢查

在每個檢查步驟中,根據下列每一行檢查步驟所命名的畫面,並在渲染前再檢查一次整個影片。判斷畫面中的內容,而非你預期要構建的內容。若你無法從所檢查的內容中確認某一行的要求,則視為未檢查:再次檢查。

  1. 對拍。 每個剪輯、入場與章節變換都落在其節拍的繪製畫面上,或最多超前一個畫面(節拍網格)。使用 query --from --to 列出剪輯點,並與網格比對。
  2. 位於安全區域內。 每個文字都位於標題安全區內,每個臉孔與產品都位於動作安全區內(安全區域)。對於文字,使用 query --at <t> --json 可取得每個元素的墨水框(以像素為單位)。
  3. 夠大。 任何需要閱讀的文字的尺寸不得小於短邊的 3%,且層級之間需有明顯區分(字體)。
  4. 可讀。 文字與其背景之間的對比須達到字體中規定的對比度,且在文字出現的每個畫面中都需符合。若置於影片或照片上,請檢查最亮與最雜亂的畫面。
  5. 一個焦點。 在任何時刻,只有一個主導元素:最新、最大、最亮或帶有強調效果。其他元素應已消失、靜止或明顯位於後方(節制)。
  6. 流暢。 在 preview 中,不應出現閃爍、抖動或重影(速度限制)。
  7. 足夠長的閱讀時間。 每一行文字在其被移動前,應停留足夠的閱讀時間(停留時間)。
  8. 結尾。 最後一個畫面應完整且靜止,並至少持續 1 秒。聲音應在該畫面上歸零。

當每一行要求都符合聯絡表單中的每個圖格,且符合步驟所命名的每個畫面時,檢查即完成。修正失敗的部分,然後返回 montagent 的檢查步驟。

節拍網格

音樂設定時鐘。在放置任何元素之前,先找出節奏與第一個強拍。

  • 簡報或素材筆記中已標明節奏: 使用該節奏,以及其所標明的強拍。
  • 未標明節奏: 執行 python3 scripts/beat_grid.py <project> <spec>(使用 --help 查看 spec 格式)。它會聆聽音軌,將其放置使強拍落在你希望的位置,並在最後一個繪製畫面上淡出。它會將專案輸出到 stdout,因此請將其重新導向至新檔案,並將網格以 JSON 格式輸出到 stderr。請檢查兩個信賴度:若低於 1.5,或 downbeat_by 為 first,則該網格為推測值。當你已知 bpm(及 downbeat)時,請在 spec 中提供,並在交接時說明網格為估計值。
  • 無音樂: 使用 500 毫秒的節拍(120 BPM)。

算術規則:

  • 一拍為 60000 / BPM 毫秒,一小節為四拍,一個樂句為四小節(有時為八小節)。
  • 從第一個強拍開始計數,絕不加總。 第 n 拍為 downbeat + n × beat,然後移至其繪製畫面:floor(round(t * fps / 1000) * 1000 / fps)。反覆加總圓整後的節拍會導致每幾小節就漂移一個畫面。使用 measure --at 可確認一個瞬間是否已被繪製。
  • 在 90、100 與 120 BPM 時,一拍在 30 與 60 fps 下為整數幀(在 24 fps 下,90 與 120 BPM 也是如此;在 25 fps 下,100 BPM 也是如此)。在其他節奏下,節拍會以 14、14、15……幀的間隔交替。只要每個節拍都從強拍開始計數,這就沒問題。

元素放置位置:

  • 章節變換落在強拍上,且作品中最重大的轉折(揭露、品牌)落在樂句的第一個強拍上。
  • 主要事件落在節拍上: 剪輯、文字落地、顏色變化。次要動畫落在半拍或四分之一拍上: 微調、群組內的錯開、長條後的標籤。
  • 「落在」節拍上的畫面: 剪輯、閃爍或彈出效果在其第一個畫面上即對準節拍。若移動時間超過半拍,且其到達是重點,則應在節拍上結束。
  • 提早,絕不延遲: 觀眾約從 45 毫秒開始注意到畫面落後於聲音,這約為一到兩個畫面。提早一個畫面的衝擊感看起來像對準節拍;延遲一個畫面則看起來像落後。

持續時間與緩動

移動長度30 fps 下的幀數
衝擊:閃爍畫面、猛撞的撞擊、硬切換70–130 毫秒(低於 2 幀會被視為故障)2–4
小動作:彈出、微調、標籤淡入200–350 毫秒6–10
標準動作:卡片移入、跨越畫面部分區域的移動400–600 毫秒12–18
重大動作:主角揭露、大幅推進700–1000 毫秒21–30
漂移:推近、緩慢漂浮畫面顯示的整個時間
  • 退場的持續時間為其相對應入場的 60–70%。
  • 錯開群組中的項目 60–130 毫秒(30 fps 下為 2–4 幀),並保持整體錯開時間低於 500 毫秒。若群組較長,則讓每個項目各自落在不同的節拍上。
  • 曲線。 到來的元素會減速;離開的元素會加速;在畫面上兩點之間移動的元素則會兩端都緩動。為整個作品選擇每種角色一個曲線並保持一致:曲線是作品風格的一部分。
角色曲線峰值速度,相對於平均速度的倍數
帶有長微調的入場[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
在兩點之間移動、擦拭、掃過[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),而不是減慢移動速度。這不是預設值:請將其僅套用於快速移動的元素,而非所有元素。沒有 motion_blur 的元素在每個畫面上會呈現為一個清晰的影像,因此快速移動會顯示為分離的複製品,並且以下限制適用於該元素。檢查每個移動的最快畫面:distance × peak ÷ (length in frames)。

  • 移動: 移動在其最快畫面中的步長應小於移動物體自身沿移動方向尺寸的一半。若超過其整個尺寸,眼睛會看到兩個物體。
  • 旋轉: 在最快畫面中,每次旋轉應小於 45°。若物體在旋轉時會重複(例如四輻形狀、十二個刻度的錶盤),則每次旋轉必須小於其重複角度的一半,否則看起來會像反向旋轉:四輻形狀小於 45°,十二個刻度小於 15°。使用 [0.16, 1, 0.3, 1] 曲線在 1 秒內旋轉三圈,在 30 fps 下峰值約為每次 200°:這會造成閃爍。
  • 移動中閱讀: 在閱讀時持續移動的文字、臉孔或螢幕截圖(如跑馬燈、橫掃螢幕截圖、長時間漂移),其每秒移動距離不得超過畫面寬度的 15%。這是電影的規則:畫面寬度至少需 7 秒才能完整橫越。
  • 閃爍: 在任何一秒鐘內,最多允許三次全畫面或大面積的亮度切換,包括故障剪輯與閃爍。

停留時間

  • 閱讀時間: 每個單字 330 毫秒(約每秒三個字),再加上一個節拍來注意到該行已出現。每一行不得低於 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。當簡報說明影片將在播放器會於畫面上繪製自身按鈕與字幕的動態消息中播放時,也請將文字保持在下五分之一的區域之外。

字體

尺寸為字型的 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.25 倍;若差異較小,則會看起來像錯誤而非階層。
  • 行數: 最多 42 個字元,且在移動中閱讀的內容最多兩行。鉤子應為六個單字或更少。
  • 字體: 使用一個字體家族,搭配兩種明顯不同的粗細(粗體用於展示,標準體用於內文)。只有當第二種字體能產生明顯對比時才使用:例如襯線體或等寬字體搭配無襯線體。
  • 對比度(WCAG 比率,由兩種顏色的相對亮度計算):內文、說明文字與標籤至少需 4.5:1,展示尺寸至少需 3:1。當置於影片或照片上時,對比度會隨著每個畫面改變,因此請為文字提供自己的背景:例如膠囊、長條或陰影。

節制

  • 每個鏡頭一個想法,並在其周圍保留空間。一個需要分部分閱讀的畫面應分為兩個鏡頭。
  • 三種顏色: 背景色、文字色,以及一個強調色。強調色一次只用於一個事物;第二個使用會削弱第一個的力量。
  • 一次一個焦點移動,加上最多一個在其下方緩慢環境漂移。
  • 效果應服務於簡報。 光暈、故障、色差、震動、光暈與粒子爆發屬於有要求的預告片;在廣告或解說影片中,它們看起來像噪音。
  • 不要自創裝飾。 角落標籤、時間碼、畫面計數器、「REC」標記與 HUD 畫面僅在簡報要求時才加入。
  • 使用真實素材而非替代品。 使用簡報中的螢幕截圖、影片與品牌;手繪的產品 UI 在真實版本旁邊看起來會很奇怪。

Individual skills in this repo

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

相關技能