Motion Showreel
把一個想法做成以圖形、文字或介面動畫為主的影片,交付 MP4 和能重建的原始碼。保留短片的動效密度和創意自由,也支援按章節製作最長 20 分鐘的內容。
原理:頁面暴露確定性的 render(t),腳本逐幀截圖,再用 ffmpeg 合成 MP4。畫面、口播、配樂和音效共用 timeline.js。無口播時按內容和音樂節拍組織畫面;有口播時以真實語音時間為準,再安排音樂和音效。
好片子從哪來:變化密度、運動質感、一個記憶點、音畫關係,這四項通常決定觀感。但具體怎麼動、動多少,由風格和內容決定,不是每支片子都要多機位、彈簧和滿屏音效。全域只守幾條底線(見「底線」),其餘都是給模型的起點,不是天花板。
影片感:講解、產品演示和敘事片要讓物件的行為與關係隨內容發展,保持鏡頭間的空間承接。不能把口播逐句變成靜態標題卡,再用淡入、縮放和背景粒子包裝。分鏡先寫清「觀眾要看懂什麼變化、主體前後狀態、如何接上一個鏡頭」,再選動效。Logo、動態排版、循環與刻意靜止的風格仍按自身語法製作;不靠持續亂動或強制 60fps 判定好壞。具體方法見 references/craft.md 的「連續敘事」。
適用範圍
| 用戶想要 | 用這個 Skill? |
|---|---|
| 產品宣傳短片、動效作品集、UI 動效、動態排版 / 卡點、Logo 演繹、片頭、循環動圖 | ✅ |
| 影片模型生成的綠幕人物 + 程式碼做的場景、大字、動效 | ✅ 人物由用戶提供(references/formats.md H 類) |
| 用戶提供口播稿或錄音,要導出有講解的 MP4 | ✅ 口播驅動模式;TTS 必須使用用戶提供的原稿 |
| 需要點擊推進、現場演講、互動式網頁演示,或文章轉口播稿 | 用 web-video-presentation |
| 網頁、落地頁、互動原型、靜態視覺稿 | ❌ 用 web-design-engineer |
| 寫實人物表演、實拍質感、剪輯已有素材、用影片模型直接出畫面 | ❌ |
時長:最長 20 分鐘(1200 秒),以用戶確認的時長為準。短片仍適合 5–60 秒,不把長片做成連續二十分鐘的高密度卡點。超過 2 分鐘,讀 references/long-form.md,按章節規劃、製作和審片。用戶指定時長與口播實際長度或內容量衝突時,停下來確認調整方案,不擅自截斷、加速口播或改變片長。
Opus 的長處和預設坑
- 長處:一個檔案裡能混用 Canvas、SVG/DOM、WebGL、Three.js,甚至每段換一種媒介;運動可以用公式精確計算(閉式彈簧、節拍網格、子幀動態模糊);聲音和畫面讀同一張時間表;能長時間自主「渲靜幀 → 看圖 → 修改」;審美判斷力強,一句「全力以赴」就可能出很驚豔的東西。
- 預設坑:沒有約束時,畫面會落到深色背景、居中大字、所有元素一起淡入、紫藍漸變加發光、機位不動;配樂會落到 A 小調四踩、每個重拍 impact + crash、鐘聲落版,幾支片子聽起來像同一首歌。所以要先找對標(畫面和聲音都要)、寫清風格和禁止清單。但約束也不能寫死:這個 Skill 的風格庫和手法庫都是起點,主題需要時隨時改造、混搭或自訂。
- 做不好的:寫實人物、複雜的手部 / 布料 / 毛髮、需要真實物理精度的東西、照片級產品(除非用戶提供模型或圖片)。遇到這些就風格化處理,或者換成綠幕人物 + 程式碼場景的分工。
工作流
0 環境檢查(一次)
1 需求確認 ──────── 補齊必填項,彙總要求 → 🛑 等用戶確認
2 brief.md ──────── 對標 → 用途 + 風格 → Reel Read → 分鏡 + 聲音計畫
3 風格幀 ────────── 已定風格:3 張幀;未定風格:3 個方向各 1 張 → 🛑 等用戶確認
4 製作 ──────────── 有口播先準備真實音訊及時間戳 → timeline → 逐鏡頭 → 小樣 → 正片
5 配樂與混音 ────── BGM、音效獨立選來源;有口播時人聲優先
6 驗收 ──────────── 技術檢查(程式判定,必須全過)+ 審片(看圖列問題,交給用戶終審)
7 交付
工作目錄:在用戶當前目錄下建 <slug>/,所有檔案都放在裡面:brief.md、index.html、motion.js、timeline.js、score.mjs 或 score.tone.js(按 scaffold 的 --audio 選擇)、build.sh、fonts/、assets/、audio/、qa/、out/。
第 0 步:環境
第一次使用時執行 sh <skill>/scripts/setup.sh:它會安裝 Playwright 和 Chromium,再跑 check-env.mjs。需要 Node 18+ 和 ffmpeg;缺了就告訴用戶怎麼裝,不要替用戶裝系統軟體。工具自帶測試:cd <skill>/scripts && npm test。
第 1 步:需求確認(停下來等用戶)
集中補問缺失項,已經提供的不要重複問。以下資訊必須明確,不能用固定預設值代替用戶決定:
| 必填資訊 | 需要明確什麼 |
|---|---|
| 核心主題、製作內容 | 要呈現什麼,哪些內容必須出現 |
| 時長 | 明確秒數或分鐘數,是否允許小幅浮動;不得超過 1200 秒 |
| 橫屏或豎屏 | 按選擇確定實際尺寸;也保留用戶明確指定 1:1 等其他畫幅的能力。解析度、幀率可提出建議,並寫入確認摘要 |
| BGM 來源 | AI 自主合成 / 用戶提供;用戶也可明確關閉 |
| 音效來源 | AI 自主合成 / 用戶提供;與 BGM 分開選擇,也可關閉 |
| 口播方式 | 無口播 / AI TTS / 用戶提供錄音 |
條件必填:選 TTS 時必須由用戶提供口播稿,不代寫、不補寫、不改寫後擅自合成;同時明確 TTS 服務及所需 API 配置(已有配置複用,憑證用環境變數,不寫進 brief)。支援 Gemini、MiniMax 和自訂介面卡,按需讀 references/narration.md。選用戶錄音時,需要錄音檔案或可存取位址;選用戶 BGM/音效時,需要相應檔案。口播語言、音色等能從稿件或配置判斷的寫入摘要,否則一併詢問。
可選資訊:相關資料、受眾與發布平台、主題風格。受眾和平台未給時根據內容推斷,並在摘要說明。風格未給時留到風格幀階段提供三個方向。
素材怎麼處理:用戶已經給了具體內容並授權 AI 生成,就據此製作;用戶未給足具體內容時,詢問必要資料,也可以根據主題開展網上調研並保留來源。有口播稿時先從原稿提取資訊,不再讓用戶重複填寫。AI 可生成插畫、場景、抽象圖形和明確標註的示意內容;真實產品功能、數字和品牌素材仍守「底線」,不能用虛構資料冒充真實內容。品牌 Logo 或真實產品截圖的要求見 references/stack.md。
- 用戶給了參考影片:先跑
inspect.mjs sheet <ref> --cells 30看全貌,inspect.mjs grid <ref> --strips量出剪點和它們落的節拍網格(BPM 候選、每段佔幾步、每個轉場的連續幀),inspect.mjs heat <ref>看每段裡哪裡在動、動多大面積。把量到的數寫進 brief 的對標一欄。只學結構和手法,不搬素材。 - 用戶給了曲子:無口播時先跑
audio.mjs beats <track> --out <slug>/audio/beats.json;有口播時音樂拍點服從講述節奏。 - 畫面裡要出現的產品、品牌或技術名詞,不確定的先查證。
補齊後彙總主題、時長、畫幅、BGM/音效各自來源、口播方式和素材情況,停下來等用戶確認,再寫 brief。即便首次請求資訊齊全,也先發摘要確認。用戶說「全力以赴」「給我驚喜」「你看著辦」只授權創意選擇,不代表可省略必填資訊或跳過確認;只有用戶明確要求跳過某次確認時才可繼續,記錄其授權。
放手模式:保留創意自主權,只守底線和技術管線,風格、結構、手法可自行判斷,也可完全不用風格庫。仍寫 brief、提供三個方向,按上面的規則執行兩次確認;用戶明確免除的確認除外。
第 2 步:brief.md
先找對標:動筆前為這支片子(這個主題 + 這種用途)挑 1–2 個對標作品,可以是電影片頭、廣告、遊戲、動效作品、設計流派。在 brief 裡寫下「學什麼」(構圖、節奏、鏡頭語法、配色邏輯、配樂結構)和「不學什麼」(角色、具體鏡頭、旋律、logo、字型檔案)。對標比任何規則都更能拉高上限。
再想三個候選結構:例如一段旅程、一次前後對比、一次倒數、一個變成另一個、一個不切鏡頭的長鏡頭。各用兩三行寫下來,選一個並寫明理由。第一個冒出來的想法往往是這個風格的陳詞濫調。
用途和風格分開選:
- 用途(拍什麼、按什麼結構講)看
references/formats.md,只讀對應的那一節。 - 風格(長什麼樣、怎麼動、什麼聲音)先看
references/styles/INDEX.md,再只讀選中的 1–2 個風格檔案。風格可以直接用、改造(替換其中一兩條規則)、混搭(一主一輔,或者按段落切換媒介),也可以按styles/_template.md自訂。風格規則保持不變,故事、鏡頭和結構從用戶的主題來,不要沿用別的片子。每個風格檔案都有「辨識訊號」和「最俗的版本」兩節:按主題挑 2–3 個訊號(至少一個不在俗套裡),在 brief 裡寫明翻掉了俗套的哪幾條,或者為什麼保留。用戶選了風格,要的是一眼認出這個風格,兩三個訊號就夠了。 - 再按需翻
references/craft.md(手法庫)。
按 references/brief-template.md 寫 brief,核心是:
Reel Read:
format: [用途,formats.md 裡的類型]
benchmark: [對標作品 · 學什麼 · 不學什麼]
structure: [三個候選結構 → 選中哪個、為什麼]
style: [styles/ 裡的風格(含改造點),或者混搭方案,或者自訂規則]
signals: [挑了哪 2–3 個辨識訊號、為什麼;翻掉了俗套的哪幾條]
takeaway: [觀眾記住的一句話或一個畫面]
hook: [前 1 秒發生什麼]
signature: [記憶點:第幾秒、什麼手法]
palette / type / motion / camera / texture: [按所選風格寫出具體值]
sound: [無聲 / 合成(聲音對標、律動、和聲、配器、曲線,見 sound.md 第 2 節)/ 使用者曲子(BPM、drop)]
audio-sources: [BGM 與音效各自為 AI / 使用者 / 關閉]
narration: [無 / 使用者原稿 TTS / 使用者錄音;有口播時句段時間軸路徑、人聲優先]
forbidden: [這支片子的禁止清單]
接著寫分鏡表:無口播時保留節拍網格 + 分鏡表。有口播時把句段關聯到鏡頭與事件,寫明 鏡頭 / 句段 ID | 要解釋的變化 | 物件起止狀態 | 繼承的物件與空間 | 關鍵事件及時間依據 | 鏡頭與聲音。一鏡可以覆蓋多句,一句可以有多個動作;不把口播分句當作切鏡指令,也不要求逐句把原稿寫滿屏。實際區間在音訊準備後回填,不把字數估時當成最終對齊依據。長片另寫章節表、各章時長和跨章一致性規則。
用戶只說了一句「全力以赴」,也要把它翻譯成上面這份具體約束,否則結果就是抽卡。
第 3 步:風格幀(第二次停下來等用戶)
建專案:sh <skill>/scripts/scaffold.sh <slug> [--audio synth|tone|layer|file|none](synth = 第 1 檔合成;只拷貝選中的那份 score,file 使用已準備好的最終音軌)。腳手架的引擎預設值只用於技術初始化,不能代替需求確認。starter 只用來驗證管線能跑通,畫面和文案都要換掉。
A. 用戶已經定了風格(或者給了明確的參考): 以下命令中的秒數只是範例,實際取本片開場、記憶點與結尾的有效時間;短片和長片都不要照抄 14.5 秒。
- 用真程式碼搭出 hook 幀、記憶點幀、結尾幀,配色、字體、文案都用最終的。
render.mjs <slug> --still 0.6,7.2,14.5 --sheet,自己先看一遍,明顯的問題修完再給用戶。依賴運動的方向,按本節下方要求另出連續小樣(--start --duration)。- 把 Reel Read 摘要、分鏡概要、風格幀發給用戶,問「方向對嗎?」。
B. 用戶沒定風格(包括放手模式):給 3 個拉開差距的方向,規則見 styles/INDEX.md:
- A 貼合主題 / 品牌,B 換一種畫面語言(來自另一個分組),C 大膽(自訂、混搭或結構上很大膽,至少一個方向不是庫裡現成的)。
- 每個方向寫一段迷你 Reel Read(風格、對標、記憶點、配樂方向,3–5 行),並用真程式碼渲一張最能代表它的關鍵幀。三個方向的頁面放在同一個專案裡,用
?dir=a|b|c切換。B、C 只為這一張關鍵幀服務,不必做成能播的整片。 render.mjs <slug> --directions a,b,c --at 14.5,2,0一次渲出三張並拼成帶標籤的qa/directions.png,發給用戶,問「選哪個,或者怎麼混合?」。
兩種情況都真的等用戶回覆,再進入製作。TTS 專案同時附用戶原稿的分段方案和音色短樣(只使用使用者給的文字),一起確認聲音方向,不額外增設必停節點。使用者事先明確說過不用確認的,就自己選一個、寫明理由,自查後繼續;交付時把沒選的方向一起給用戶(B 情況附上 qa/directions.png,A 情況各寫一句另外兩個可能的方向),讓用戶回來還能換。
對依賴連續動作的方向,靜幀之外附 6–10 秒代表性運動小樣(短於 6 秒的片子用全片),覆蓋一次狀態變化及前後承接;先自行看連續幀排除跳變。小樣隨風格幀一起確認,不增加第三次必停。口播尚未生成時明確標為動作預演,不能聲稱已與語音精確對齊。
第 4 步:製作
製作前先讀 references/stack.md(頁面契約、確定性、各技術的坑)。要現成寫法時查 references/recipes.md。
有口播時先鎖定口播時間軸:按 references/narration.md 合成用戶原稿或導入用戶錄音,取得真實時長和句段時間戳,再安排畫面。用戶錄音需透過可用轉錄工具或使用者提供的 SRT/JSON 獲得文字與時間;沒有可靠時間戳時不能聲稱已完成逐句對齊。發現時長衝突先確認,不靜默填充、裁切或變速。將真實區間導入鏡頭表,保留口播停頓和重點,不強行對齊音樂小節。超過 2 分鐘按 references/long-form.md 分章製作,保留章節快取。
句段只提供同步範圍,鏡頭和主體運動可以連續跨句。關鍵變化需要詞級同步時,用真實詞時間或人工標註錨點,透過 narration.js 查詢,讓畫面與音效引用同一事件;只有句級時間時維持句級同步,不偽造逐字時點。製作過程中用 preview.mjs 帶聲音預覽拖動與逐幀檢查;預覽只驅動同一個 render(t),不進入正式渲染。
- 時間點全部寫進
timeline.js,頁面和score.mjs都從這裡 import。鏡頭表寫進SHOTS(驗收時按鏡頭報運動),刻意的停留寫進HOLDS(比如落版[[b(36), DUR]]),要留呼吸的重拍寫進DROPS,驗收工具會讀它們。轉場要對拍時,用revealOn(拍點, 轉場時長, 揭開點)倒推起點,讓新畫面露出來的那一幀落在拍上。 - 逐個鏡頭做。每個鏡頭渲開頭、中段、結尾 3 張靜幀;關鍵狀態變化和鏡頭接縫另看連續小樣,檢查主體是否憑空重置、動作速度是否突變、鏡頭是否中斷。靜幀好看不能替代運動檢查,快速動作用
inspect.mjs strip看連續幀。 - 跑確定性檢查
render.mjs <slug> --determinism,不通過就先修。 - 片長 30 秒以上或渲染慢的,先出低清小樣:
--size 960x540 --out out/proxy.mp4。 - 出正片:先在
build.sh頂部按 brief 設好FPS、SIZE、AUDIO、LOOP,再sh <slug>/build.sh。它會構建配樂,先跑確定性檢查(不過不出片),再渲染,接著跑文字框景檢查(只出審片材料,不擋構建),最後帶著同一份規格跑技術檢查(時長取timeline.js的DUR)。--subframes、--dpr、--grain作為參數加在後面,按風格需要加。這些參數都會成倍增加耗時,開渲前先報預計時間。
混合音軌用 AUDIO=file AUDIO_FILE=audio/final.wav sh build.sh;舊的 synth/tone/layer/none 構建方式繼續可用。長片使用 build-long.mjs 持久分章構建,詳見 references/long-form.md。
硬規則:
- 畫面只由 t 決定:不用
Math.random、Date.now、rAF、計時器、CSS 動畫,幀和幀之間不儲存狀態。 - 字體和素材全部載入完,再設定
READY = true;字體放進專案自托管。 - 佈局從
stageSize()返回的寬高推導,不寫死畫素。
第 5 步:BGM、音效與混音
看 references/sound.md。BGM 和音效分別按確認的來源製作,允許使用者配樂 + AI 音效等組合。下表是 AI 合成的引擎選擇,不能用引擎預設值覆蓋已確認的素材來源。聲音方向(對標、律動、和聲、配器、曲線)在 brief 裡就定好:
| 檔 | 用什麼 | 適合 |
|---|---|---|
| 第 1 檔 · 內建合成 | score.mjs,Node 裡的合成器(鼓、手鼓、貝斯、鋪底、撥弦、馬林巴 / 鋼片 / 卡林巴、風琴、人聲鋪底、FM、環境底噪、音效、側鏈、殘響、lo-fi 處理),零依賴 | 電子、UI、晶片音樂、氛圍、lo-fi、手作與玩具、大多數動效片 |
| 第 2 檔 · Tone.js | score.tone.js,在無頭瀏覽器裡用 Tone.js 離線渲染:取樣樂器(audio.mjs samples salamander 下載 CC BY 鋼琴)、卷積殘響、更豐富的合成器和效果 | 需要真實樂器、空間感、電影感的風格 |
| 外部曲子 | 使用者提供的音樂(自己的、授權的、AI 音樂服務生成的) | 使用者已有配樂 |
- 構建:
audio.mjs build <slug>/score.mjs或score.tone.js,都會輸出 −14 LUFS 的audio/music.wav。 - 使用者曲子:無口播時先跑
audio.mjs beats(有 librosa 時自動使用)對齊 timeline,再在 score 裡S.load()疊音效。有口播時只把音樂節拍作為參考,調整音樂和音效配合語音,不移動已確認的口播時間軸。 - 無聲:BGM、音效和口播均關閉時跳過;僅關閉 BGM 不代表整片無聲。
- 有口播:音樂減少主旋律、密集打擊和大動態;音效只保留有資訊作用的動作,避開關鍵詞與句首。保留獨立軌,透過
narration.mjs mix做人聲期間的避讓、統一響度和峰值處理。用真實句段時間戳核對畫面,聽感仍需用戶終審。
每次 build 之後都要對最終混音跑 audio.mjs check,看數值和圖;宿主支援試聽時再聽,不能把數值通過寫成「聽感已確認」。timeline.js 裡寫了 DROPS 時,它還會量出重拍前的凹陷和抬升,沒有呼吸就給 WARN。
第 6 步:驗收
技術檢查:由程式判定,失敗就不能交付。
node <skill>/scripts/inspect.mjs qa <slug>/out/final.mp4 --out <slug>/qa/final \
--expect-size 1920x1080 --expect-fps 30 --expect-duration 16 --audio required # 無聲片用 --audio none;循環片加 --loop
它檢查檔案能否解碼、尺寸、幀率、時長、幀數、音軌、黑幀、響度、真峰值,以及循環接縫(需要時)。只要有一項 FAIL,退出碼就是 1,必須修好。沒傳的規格項會列成 NOT CHECKED,這時不算驗收通過。build.sh 會自動帶上規格。渲染工具本身也會拒絕發布幀數不對的檔案。
審片:給人判斷用,不是程式判定。看抽幀圖、手機尺寸抽幀圖、凍結段(HOLDS 裡宣告過的會標成刻意停留,其餘要判斷是不是空拍)、切點、按鏡頭的運動和閃幀、文字框景的標記圖(qa/text-*.png)、音訊圖,按 references/review.md 的審片表逐項寫下觀察和最嚴重的 3 個問題,有數字和圖表的片子要核對內容與數字口徑。修完只重渲有問題的那一段,再出整片,過程記到 qa/review_log.md。宿主支援 sub-agent 時,再派一個沒參與製作的 agent 只看這些材料挑問題(review.md「獨立審片」)。
有口播時額外執行 narration.mjs check,核對句段時間覆蓋、音訊長度與確認規格;逐句審查原稿、畫面與語音是否一致,自動檢查不能代替聽感審片。長片逐章審片,並檢查拼接處的畫面、聲音和時間軸。
審片結論是給用戶的參考,不能代替用戶自己看片。不適用的項標「不適用」,比如無聲作品的音畫同步,不要硬給分數。
第 7 步:交付
告訴用戶:
out/final.mp4和out/poster.png的路徑(poster:render.mjs <slug> --poster <t>)。brief.md:完整的結構化提示詞、兩次確認記錄,可以複用,不含 API 憑證。- 有口播時附用戶原稿、句段時間軸和各軌來源;長片附章節 manifest 和斷點重建命令。
- 技術檢查結果(全部 PASS)、審片記錄裡還沒解決的問題、渲染用時。
- 怎麼重建(
sh build.sh)、怎麼只改一段。 - 第三方素材(字體、使用者素材、曲子)的來源和授權;事實類內容提醒使用者再核對一遍。
覆盤結論和複核證據保存在專案的 qa/review_log.md,與本次製作檔案一起交付。
底線(所有風格都要守)
- 需求與原稿:必填資訊經確認;影片不超過 20 分鐘;TTS 原稿必須來自使用者。時長衝突須確認,不擅自改稿、截斷或變速。
- 事實準確:產品功能、數字、名稱只來自使用者或可靠來源,不確定的標出來。
- 文字可讀:字號在手機尺寸下看得清,停留時間夠讀完(見 craft.md 第 7 節);文字不溢位、不重疊、不被遮擋。
- 素材有授權:logo、截圖、字體、曲子都要能用,並在交付時列出來。
- 技術正確:確定性渲染,技術檢查全部通過,沒有黑幀,結尾不能戛然而止(落版定格或無縫循環)。
- 風格一致:選定的風格規則從頭守到尾,不落入 brief 的禁止清單。
除此之外,鏡頭動多少、用不用彈簧、音效密度、節奏快慢,都按風格和內容來定(見 references/styles/ 和 craft.md)。
工具速查(S=<skill>/scripts)
| 目的 | 命令 |
|---|---|
| 裝依賴 / 查環境 / 自測 | sh $S/setup.sh · node $S/check-env.mjs · cd $S && npm test |
| 建專案 | sh $S/scaffold.sh <slug> [--audio synth|tone|layer|file|none] |
| 靜幀 + 拼圖 | node $S/render.mjs <slug> --still 0.5,3,7.2 --sheet · --range 0:15:1 --sheet |
| 三個方向 / 封面 | node $S/render.mjs <slug> --directions a,b,c --at 14.5,2,0 → qa/directions.png · --poster 14.5 → out/poster.png |
| 確定性 | node $S/render.mjs <slug> --determinism |
| 文字框景(審片材料) | node $S/render.mjs <slug> --text-check [--safe auto|none|T,R,B,L] → qa/text.json + 標記圖(build.sh 自動跑) |
| 拆參考片 | node $S/inspect.mjs grid <ref> --strips(剪點 + 節拍網格 + 轉場連續幀)· heat <ref>(每段的運動熱圖) |
| 小樣 / 正片 / 分段 | --size 960x540 --out out/proxy.mp4 · 正片 sh <slug>/build.sh --subframes 2 --grain 4(規格在 build.sh 頂部)· --start 6 --duration 3 --out out/seg.mp4 |
| 聲音 | node $S/audio.mjs build <slug>/score.mjs(或 score.tone.js)· samples salamander · beats <track> --out audio/beats.json · check audio/music.wav(讀 DROPS) |
| 口播 / 最終混音 | node $S/narration.mjs tts … · import … · mix … · check …(參數見 narration.md) |
| 長片重建 | node $S/build-long.mjs <slug>/chapters.json(參數見 long-form.md) |
| 帶聲音預覽 | node $S/preview.mjs <slug> --size 1920x1080 --fps 30(可加 --audio audio/final.wav;用法見 stack.md) |
| 驗收與審片材料 | node $S/inspect.mjs qa out/final.mp4 --expect-…(build.sh 自動帶)· sheet · phone · strip --at 4.2 · loop · motion(讀 SHOTS / HOLDS:按鏡頭的運動、跳變、閃幀) |
參考檔案(按需讀)
| 檔案 | 什麼時候讀 |
|---|---|
references/formats.md | 第 2 步:用途,比如宣傳短片、作品集、UI 動效、排版卡點、Logo、資料爆點、綠幕合成 |
references/styles/INDEX.md | 第 2 步:43 種風格的目錄、三方向規則、混搭規則;然後只讀選中的 styles/<slug>.md。自訂用 styles/_template.md |
references/craft.md | 第 2 和第 4 步:節奏、運動、轉場、鏡頭、排版、配色、質感、記憶點、預設味清單 |
references/brief-template.md | 寫 brief 時 |
references/stack.md | 第 4 步:頁面契約、確定性、各技術的坑、字體、素材、多畫幅、效能 |
references/recipes.md | 要現成寫法時 |
references/sound.md | 第 2 步(第 2 節:聲音方向)和第 5 步 |
references/review.md | 第 6 步:技術檢查說明、審片表、獨立審片、常見問題、交付清單 |
references/narration.md | 選擇 TTS、使用者口播、獨立 BGM/音效混音時 |
references/long-form.md | 超過 2 分鐘:章節規劃、持久快取、分段音訊與斷點續建 |