拼貼影片工作室
將製作過程導向為可恢復的專案。將創意意圖保留在 project.json 中,產出結果保留在 state.json 中,供應商執行記錄在 JSONL 清單檔案中,而最終的輸出則存放在 media/、qa/、reports/ 和 exports/ 資料夾中。
路由請求
在詢問使用者已提供的資訊之前,請先閱讀對話並檢查任何提供的專案目錄。
| 使用者意圖 | 動作 |
|---|---|
| 開始、製作、建立 | 初始化並草擬故事 |
| 繼續、恢復、下一步 | 執行 project_ops.py next 並執行其單一動作 |
| 狀態、卡住、失敗 | 執行 studio.py status --verbose,然後診斷最小的單位 |
| 儲存、檢查點 | 建立一個不可變的專案/狀態檢查點 |
| 返回、還原 | 列出檢查點;僅還原使用者選擇的那一個 |
| 稽核、檢查、準備發布 | 執行技術品質保證,然後進行人工創意審查 |
| 報告、封裝、交接 | 生成基於事實的報告與可攜式封存檔案 |
| 新增或變更供應商 | 閱讀後端合約並實作適配器 |
如果沒有現有的專案或可用的簡報,僅詢問想法/來源、目標時長和語言。除非使用者或目標平台已經指定了畫面比例,否則使用 --aspect auto。在第一次節拍圖審查中顯示解析後的畫面比例及其原因。
選擇輸入模式
topic:根據想法建立敘述和視覺元素。footage:重新風格化現有的表演影片,同時保留時間與原始音訊。photo:將一張真實的人像或產品照片錨定到生成的場景中。
絕不改變原始照片或素材。
初始化
定位到此技能目錄,然後執行:
python scripts/studio.py doctor
python scripts/studio.py init <project-dir> --mode topic \
--topic "<主題>" --duration 30 --aspect auto --language zh
閱讀:
- production-standard-v6.md 優先於每個新的組合製作;它強制要求正式的 Remotion 影片、製作溯源、全片多樣性、響應式指導、動作證明以及專案範圍的構圖證明;
- production-protocol-v5.md 優先於每個新的製作;它綁定了情境、故事板、來源家族、供應商花費、時間、修訂、證明以及執行時無效化;
- story-system.md 在編寫節拍之前;
- visual-system.md 在編寫主題或提示之前;
- layered-motion.md 當需要獨立移動圖層或決定性視差時;
- advanced-layer-primitives.md 在創作已註冊的來源家族、姿勢序列、持續可見性、循環條帶或種子動機欄位之前;
- editorial-composition.md 在創作遞迴群組、可編輯文字/資料圖形、攝影機耦合視差或響應式導演計畫之前;
- semantic-contracts.md 在生成具名身份、空間拓撲、機制說明或資訊圖形之前;
- quality-gates.md 在接受裁切或編譯場景之前;
- responsive-direction.md 當交付超過一種畫面比例時;
- provider-lifecycle.md 在付費生成、拒絕、恢復、取代或故意重複使用成品之前;
- production-profiles.md 在付費生成之前;它定義了草稿/平衡/全深度層級、精確嘗試預算、成品指紋以及品質保證無效化;
- directed-motion.md 在為組合級分層鏡頭製作動畫之前;它定義了主要動作、物理原因、三階段時間、密度和停頓;
- motion-audit.md 當添加跟隨圖層、接觸鎖定,或是在交付前檢查變換跳躍時;
- smooth-keyframes.md 在為人物或物體製作動畫時,當流暢播放比解剖學真實性更重要時;
- articulated-rigs.md 當人物、動物或機構需要連接的肩膀、手肘、翅膀、輪子或鉸鏈運動時;
- locomotion.md 在將已綁定角色的根部移動到畫面中之前;它定義了交替固定腳以及全身行走循環審查;
- production-standard.md 用於組合級紙張動畫、創作姿勢、自然語音和社群影片交付品質;
- production-closure.md 用於 Remotion 編輯器、精確的敘述主導幀、語義執行、已註冊的深度堆疊和三種證明類型;
- voice-continuity.md 在編寫、生成或批准旁白之前;
- delivery-qa.md 在渲染或診斷卡頓運動、凍結鏡頭尾部或最終混音音量之前;
- aspect-direction.md 在鎖定橫向或直向之前;
- project-schema.md 在編輯檔案或後端時;
- operations.md 在恢復、復原或執行作業時;
- replicate-backend.md 用於隨附的生產後端;
- acceptance.md 在宣稱完成之前。
閘門 1 — 批准故事
填寫 creative.arc、beats 和 shots。
在批准之前,編譯剛好三個情境,批准一個確切的封頂值,並編譯節奏故事板:
首先記錄版本化的樣式卡、畫面比例和視差導入決策:
python scripts/intake.py choose --aspect <16:9|9:16|1:1> \
--style <style-id> --parallax <none|restrained|cinematic> \
--note "<人工決策>" --output <project-dir>/build/intake-decision.json
python scripts/production_protocol.py scenarios project.json \
--output build/scenarios.json
python scripts/production_protocol.py approve build/scenarios.json <profile> \
--note "<人工決策>" --output build/scenario-decision.json
python scripts/production_protocol.py storyboard project.json \
build/scenarios.json build/scenario-decision.json \
--output build/storyboard.json
將選定的封頂值複製到 production.approved_visual_attempt_cap。設定檔既是上限也是執行下限。不要自動動用復原儲備。
- 讓開場在三秒內能理解。
- 每個節拍給出一個主張或情感轉折。
- 為身份、拓撲、機制和資訊圖形主張宣告語義合約。
- 每個事實主張在呈現該主張的節拍內都有一個證明時刻。
- 每個場景至少有三個連續節奏階段以及建立、動作/高峰和最終證明時刻;最終階段保持在標準化後的
0.82或之後。 - 將關鍵聲音和視覺動作綁定到事件目錄中的同一個證明 ID。
- 從揭示、比較、穿越、解釋、強調、改變時間或改變地點中設定
transition_intent;讓編譯器選擇一致的機制。 - 偏好情境加細節:每個敘述節拍兩個不同的鏡頭。
- 保持普通製作鏡頭在 3 到 6 秒之間。
- 編寫具體的
element_motion;不要使用「讓它動態化」。 - 對於導演分層工作,添加
shot.direction.primary_action、physical_cause和motion_density。一個鏡頭有一個可讀的主要動作。 - 對於素材,設定節拍的
start_s和end_s。 - 對於照片,定義
source.anchor_policy。
執行:
python scripts/studio.py validate <project-dir> --stage story
向使用者展示節拍圖。不要在批准之前生成媒體。批准後:
python scripts/studio.py approve <project-dir> --gate story --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "story approved"
閘門 2 — 批准視覺方向
在 creative.candidate_themes 下建立剛好三個候選方案。讓它們在媒介、調色板、字體、紋理、構圖和動作特性上有所不同。
python scripts/studio.py jobs <project-dir> --stage styles
在同一個代表性節拍上執行每個預覽並註冊每個結果。將所有三個一起顯示。在使用者選擇後:
python scripts/studio.py choose-theme <project-dir> <theme-id>
python scripts/studio.py approve <project-dir> --gate style --note "user approved"
python scripts/project_ops.py checkpoint <project-dir> --note "visual direction approved"
絕不暗中替換不支援的畫面比例。
製作媒體
對於每個階段:
python scripts/studio.py jobs <project-dir> --stage images
python scripts/job_runner.py <project-dir> --stage images \
--adapter <adapter.py> --dry-run
python scripts/job_runner.py <project-dir> --stage images \
--adapter <adapter.py> --retries 1
新的主題和照片專案預設使用決定性分層運動。僅當使用者明確重視模型創建的變形勝過可編輯性和可重複性時,才使用生成式圖像轉影片;對 motion、voice 和 music 重複媒體階段。
當請求需要獨立移動的紙張物件、可編輯視差或明確的前景/中景/背景控制時,將 motion.pipeline 設定為 layered,然後執行:
python scripts/studio.py jobs <project-dir> --stage layers
python scripts/job_runner.py <project-dir> --stage layers --adapter <layer-aware-adapter.py>
python scripts/studio.py jobs <project-dir> --stage motion
python scripts/job_runner.py <project-dir> --stage motion --adapter <layer-aware-adapter.py>
閱讀 layered-motion.md 以了解透明 PNG 和 layers.json 合約。不要將帶有全幀縮放或平移的扁平關鍵影格表示為多圖層運動。為了順暢交付,所有新生產專案預設為 30 fps。保持 motion.frame_conversion: "auto",以便低於目標的供應商片段會進行運動插值,而不是用重複影格填充。對內部關鍵影格使用連續曲線,用 phase_s 交錯循環物件,並檢查 MP4 而不是低影格率的 GIF。當慢速移動顯示一個像素的步進時,使用 2 倍超取樣。素材模式跳過 images 和 layers;保留原始音訊的素材跳過 voice。
對於主機端圖像工具創建的媒體,在生成之前保留呼叫,並在之後完成或拒絕該確切嘗試:
python scripts/external_media.py reserve <project-dir> image:<source-id> \
--provider <provider> --model <model> --prompt "<確切生產提示>"
python scripts/external_media.py complete <project-dir> <attempt-id> <output-file>
python scripts/external_media.py reject <project-dir> <attempt-id> \
--reason "<審查失敗>"
不要將未註冊的主機輸出直接複製到圖層套件中。組合製作只接受供應商生成、使用者提供、已授權、委託製作或指紋連結的衍生來源。placeholder: true 始終會阻擋交付。
對於編輯工作,創作一個遞迴組合並編譯單獨的導演計劃:
python scripts/editorial_contract.py composition.json \
--kind composition --output result/manifests
python scripts/asset_quality.py result/manifests/composition-9x16.json \
--mode composition
不要將橫向佈局裁剪成直向。透過節點覆寫來重新放置標題、主題、資料、註釋和背景紙張。為每個畫面比例驗證安全區域和可編輯文字適應性。當內容必須保持精確和可編輯時,使用本地向量/文字/圖表原始元素。對結構化路徑、曲線、標籤和標記使用 data-svg。為註釋提供明確的排除區域;編譯器必須在所有註釋中找到無碰撞的位置,否則停止。
對於持續的水平移動,創作一個 looping-environment 並執行 world_motion.py。需要遠景/地面條帶、增加深度速度、螢幕/世界參與者錨點、近圖層遮擋、三個畫面比例計劃、接縫證據以及已簽名的攝影機補償軌跡。閱讀 production-standard-v6.md 和 production-protocol-v5.md。
在供應商使用之前宣告耦合的 source_packages。相對後方/主體/前方運動需要一個完整的已註冊家族以及 16:9、9:16 和 1:1 的揭示包絡。使用 registered_family.py 推導它;絕不生成或替換孤立成員。在色度移除之前觀察未觸動的供應商原生關鍵平面,並保留其來源、政策和觀察指紋。
在真實的 Remotion 工作區中檢查和編輯相同的清單:
cd workspace
npm ci
npm run dev
Player 必須保留遞迴群組、深度、關鍵影格、編輯點、狀態序列、持續可見性、短暫強調、循環條帶、種子動機欄位、證明時刻、視聽提示綁定以及選定的導演計劃。在發布前使用 npm run build 和 npm run render 進行驗證。
對於精緻作品,將 motion.directed_motion 設定為 true 並遵循 directed-motion.md。不要為了滿足配額而對每個圖層進行動畫。宣告主要圖層、物理原因、預期/動作/穩定階段,以及任何有意的閱讀暫停。臉部、地板、地平線或桌子通常應該保持穩定,而證據在移動。當預期和穩定需要不同的時間時,使用每個關鍵影格到達的 ease。
使用 follow 附加輪子、鉸接零件、火焰、服裝和其他有動機的次要回應;僅繼承它們物理共享的父屬性。宣告 direction.secondary_responses,並使用 direction.contacts 鎖定已固定或已著陸的屬性。執行...