艺术犯爆款短视频复刻工作流 v6.1
便携包路徑
把「包含本 SKILL.md 的目錄」作為 SKILL_DIR。本包已在 vendor/watch/ 內置拉片、字幕提取和 ASR 後端,命令範例中用下面的便攜路徑:
SKILL_DIR="<包含本 SKILL.md 的完整路徑>"
交付邊界
預設交付參考證據、商品事實、產品與視覺風格鎖、機器可讀復刻合約、逐秒腳本、人物設定、獨立分鏡圖、逐鏡頭運動計畫、依模型時長拆分的 Seedance 提示詞和生成前驗證報告。
除非使用者明確要求,否則不得生成影片、消耗積分、導出成片或發布。使用者明確要求完整製作時,先通過生成前門禁,再完整讀取 VidMuse 完整製作分支;沒有真實證據支援的內容標記為「創作推演」。
最小輸入
- 對標來源二選一:一個參考影片的本地完整路徑/公開連結,或明確寫「智能參考歷史爆款庫」。
- 商品截圖或詳情資料;實物商品必須有足以鎖定外形、比例、顏色、材質、結構和 Logo 的清晰產品圖。只有卡券/權益頁時不得虛構未展示的實物角度。
- 風格參考圖或可作為風格證據的參考影片;沒有獨立風格圖時,明確以原片為風格源,不得憑空補成通用「高級感」。
- 復刻模式與節拍密度;使用者未指定且不同選擇會改變結果時,只詢問一次。
預設規格:9:16、中文普通話、每個生成片段 1 至 15 秒。寫 AI 表時人物、分鏡、音訊和商品素材總計最多 9 個附件。高保真視覺復刻預設跟隨原片完整時長;另外兩種模式在使用者未指定時預設 30 秒。不得為了湊兩段刪掉原片反轉。
內置爆款向量案例庫(智能參考模式)
本技能的 knowledge_base/index.sqlite3 是安裝即用的種子庫:只包含正式專案案例,不包含私人聊天、API Key、Cookie 或原影片。它使用本地固定 2048 維中文字元與機制標籤雜湊向量,檢索不呼叫付費 Embedding 服務。
使用者只提供卡券/商品,或明確要求從歷史爆款中智能選對標時,必須先檢索本地向量庫,不得靠印象隨意挑案例。首次安裝後直接檢索,無需先建庫:
python3 "${SKILL_DIR}/scripts/viral_library.py" search \
"<完整創作需求>" \
--top-k 5 \
--out "<專案目錄>/00_historical_match.md"
把商品、人群、使用場景、視覺世界、人物關係、目標情緒、節拍密度和已確認權益合成一段完整查詢,不只輸入商品名。搜尋結果會給出案例 ID;需要讀取該案例在庫記憶體檔的完整文字時執行:
python3 "${SKILL_DIR}/scripts/viral_library.py" show "<case_id>" \
--out "<專案目錄>/00_historical_case.md"
對新影片完成拉片、腳本、分鏡或復盤並放入工作區 outputs/ 後,重新整理使用者本地索引。該索引預設合併內置種子庫,搜尋時優先使用它:
python3 "${SKILL_DIR}/scripts/viral_library.py" build \
--workspace "<爆款影片工作區完整路徑>"
後續檢索時加 --workspace "<爆款影片工作區完整路徑>",即可檢索「內置案例 + 使用者新案例」合併庫。
預設不索引私人 Codex 聊天。只有使用者明確要求建立純本地私有庫時才可加 --include-chats;含聊天的資料庫不得對外分發。
檢索報告必須同時給出:一個主對標、一個可複用生產模板、最多兩個候選參考、命中機制、可追溯的分析/腳本/提示詞/分鏡路徑、原影片當前是否可用,以及本次必須吸取的失敗教訓。執行規則:
decision=insufficient_match時停止強行套模板,改為請求新參考影片或只做原創機制推演。quality_status=blocked的案例不得複用其腳本、提示詞或分鏡;若存在可信原片分析,只能複用reference_analysis_only,同時讀取其 QC 復盤作為負面門禁。quality_status=unknown不等於成功,只表示歷史材料沒有發布級結論;進入本次創作後仍須通過所有質量門禁。- 種子庫不攜帶原影片或原機器資產;只能引用庫記憶體檔的時間碼、雜湊、分析、腳本和失敗教訓,不得聲稱本輪重新觀看了原影片。
- 使用者本地庫即使顯式包含歷史聊天,聊天權重仍低於工作區正式產物,不得替代拉片證據。
- 檢索只負責選機制和資產,不直接拼接舊腳本。仍須進入階段三的創意競爭、商品刪除測試、逐拍桌讀和 schema v4 故事合約。
使用者提供了新參考影片時,仍可用該庫檢索相似案例與失敗教訓作為輔助,但主參考身份、時長和 SHA-256 必須以本輪真實讀取的新影片為準。
階段零:鎖定模式、視覺世界和素材身份
生成腳本或分鏡前先輸出:
本次模式:高保真視覺復刻 / 爆款機制遷移 / 商業混合復刻
節拍密度:跟隨原片 / 標準密度 / 高密度反轉
製作範圍:素材包 / AI 表交付 / 完整影片
運動類型:參考片主導 / 劇情表演 / 連續運動廣告
推斷理由:
視覺世界硬約束:
完整讀取 references/三種復刻模式.md。只能執行一種模式。使用者明確指定的媒介、IP 方向或畫面世界是全域硬約束,不因「允許替換人物/場景」而失效;例如歷史藝術化 CG 不得自行改成現代真人言情。
執行後端前回讀使用者本次提供的絕對路徑或 URL。禁止根據相似檔名選擇其他素材。
階段一:執行證據後端
後端契約見 references/backend_contract.md。先檢查阿里雲配置:
python3 "${SKILL_DIR}/scripts/configure_asr.py" --check
缺少配置時執行以下命令;Key 透過隱藏輸入讀取,禁止放進命令列、技能檔案或報告:
python3 "${SKILL_DIR}/scripts/configure_asr.py" \
--endpoint "<阿里雲業務空間 compatible-mode/v1 Endpoint>"
準備參考證據:
python3 "${SKILL_DIR}/scripts/prepare_reference.py" "<參考影片>" \
--out-dir "<專案目錄>"
該腳本必須完成:
- 本地素材絕對路徑、檔名、SHA-256、時長、畫幅和音影片參數鎖定。
- 全片關鍵幀抽取及前 3 秒 2fps 無去重密集抽幀。
- 額外生成全片固定 0.5 秒時間線;即使場景靜止也不得去重。
- 強制使用阿里雲業務空間,不走預設 Groq。
paraformer-v2與paraformer-v1分別轉寫並生成時間碼。- 雙模型文字不一致時標記「需複核」,不得直接當成角色對白。
先逐張查看 watch/timeline_0_5s/timeline_manifest.json 列出的全片固定 0.5 秒幀,再查看場景關鍵幀。必須在復刻合約記錄查看數量和最後時間戳;只看場景關鍵幀容易漏掉長停頓、尾段靜態表演和循環結尾。發現連續誤導、快速動作或空間反轉後,對每個反轉簇補跑:
python3 "${SKILL_DIR}/vendor/watch/scripts/watch.py" "<參考影片>" \
--detail balanced --start <起點> --end <終點> \
--fps 2 --no-dedup --resolution 1024 --no-whisper \
--out-dir "<專案目錄>/watch/reversal_<編號>"
本技能的「逐幀分析」指:全片固定 0.5 秒時間線逐張查看、場景關鍵幀逐張查看、前三秒和反轉簇密集抽幀逐張查看。watch 最高 2fps,不能聲稱已查看影片的每一個原始編碼幀。使用者明確要求 30fps 全幀審查時,必須說明需要單獨的全幀電腦視覺流程。
ASR 只證明識別到聲音,不自動證明說話人身份。對白必須用雙模型結果、可見字幕、口型和畫面動作共同校對;背景歌詞與角色對打分欄記錄。
階段一必須產出:
00_source_manifest.json與00_reference_evidence.md。- 影片時長、畫幅、抽幀數量、轉寫模型和轉寫狀態。
- 帶時間碼對白表;每句標記角色對白/歌詞/音效/需複核。
- 帶時間碼鏡頭表:景別、人物、動作、表情、視線、空間關係、運鏡和聲音。
- 前 3 秒逐秒證據、反轉簇逐秒資訊變化、品牌首次出現時間和結尾記憶點。
若原片的音樂、破風、撞擊、關機聲或循環聲是反轉的一部分,在聲音表中單列時間碼。需要把原聲交給影片模型時,使用 scripts/extract_reference_audio.py 截取原片單一混音軌;必須說明其中可能同時含音樂、對白和音效,不得聲稱已分離純音樂。
階段二:提取機制、事實表與產品/風格雙鎖
必須回答:第一秒為什麼停留、為什麼繼續看、初始誤判是什麼、何處改變權力/因果/道具含義/空間真相、商品為何成為劇情答案、最後 3 秒為何值得看完。
切鏡、換角度、重複爆炸或持續喊叫不算反轉。高密度反轉僅用於已測出的反轉簇;簇內每秒至少新增一個有效變量,每 2 至 3 秒升級一個層級,且後一變化由前一變化造成。
商品事實表至少包含商品名、售價、權益、適用門店、售賣期、可用期、核銷方式、限制和退款規則。每項標記素材來源與確認狀態。不得把資格券寫成免費商品,不得補寫看不清或未提供的價格、數量、日期和限制。
同時建立 02_visual_lock.md:
- 產品鎖:列出每張產品參考資產的相對路徑、SHA-256 和用途;逐項鎖定外形、比例、顏色、材質、結構和 Logo。沒有證據的側面、背面、接口、包裝文字等統一執行
do_not_invent。 - 風格鎖:從風格參考或原片提煉光線、色彩、構圖、鏡頭語言、人物、場景和材質質感,生成唯一
lock_id和一段可複用風格提示詞;每個 Clip 提示詞必須逐字帶入該提示詞和lock_id。 - 禁用項只記錄本次素材和使用者明確要求的衝突風格。原片本身是霓虹或賽博朋克時不得套用通用禁令。
這一步只鎖證據,不構思創意。產品參考資產必須複製進專案目錄並綁定雜湊;存在多個角度時分別標註用途,不能把 AI 推測圖冒充原始產品證據。
階段三:創意室競爭與桌讀准入
禁止看完參考片後直接寫逐秒腳本。先把參考片拆成機制 DNA:開場鉤子、觀眾問題、初始誤判、衝突發動機、反轉機制、情緒回報和結尾記憶點。這裡只繼承傳播機制,不抄表面台詞。
編劇輪先寫至少 5 套真正不同的故事概念;當使用者明確要求「高預算動態廣告」或 motion_profile=continuous_motion_ad 時寫 10 套。每套至少改變人物關係、衝突來源、人物選擇、商品介入、反轉方式或結局回扣中的兩項。每套都要寫一句話故事、衝突、人物選擇、可見後果、意外轉折、前置證據、商品戲劇作用和結尾兌現;連續運動廣告還要一行寫清「人物啟動→產品介入→環境變化→動作升級→高潮→產品收束」的 6 至 8 個連續動作節點。禁止用換詞或換裝偽造多方案。
編輯輪逐套評分:前 3 秒鉤子 20、因果 25、新鮮感 20、商品因果 15、參考機制繼承 10、AI 可生成性 10。連續運動廣告另做動態強度、視覺衝擊、運動連續、人物與產品關係、敘事完整和拆分可執行性比較,不改變合約 100 分主評分。入選方案必須總分不低於 85 且沒有硬否決;未入選方案必須寫明淘汰原因。編輯輪可以否決全部方案並要求重寫。以下任一項為硬否決:人物無動機轉向、商品清單式口播、商品移除後劇情仍成立、無鋪墊魔法、道具無來源、旁白替代關鍵動作、結尾口號代替劇情兌現;連續運動廣告還否決人物只擺拍/慢走、只換背景和用運鏡冒充主體動作。
把入選方案提升為 narrative_qc.story_chain 後做桌讀。逐個故事步驟回答:觀眾此刻追問什麼、本拍新增什麼、誰做了決定或反應、哪個可見動作推動下一拍、演員能否在分配秒數內自然完成。必須朗讀對白計時,並執行「刪除商品」測試;刪除商品後故事仍成立就退回創意室。所有桌讀問題清零前不得進入逐秒腳本。
把機制 DNA、5 套候選、逐項分數、硬否決、選擇/淘汰理由和桌讀結果寫入合約 creative_room。機器門禁只驗證證據和准入條件,不能宣稱發布前已經保證爆款;發布後的前三秒留存、完播和互動數據才驗證傳播結果。
階段四:原片節拍帳本、復刻合約和唯一映射
先把原片每一次因果、權力、道具含義、空間真相和循環關係寫成按時間排序的 Rxx 節拍帳本。高保真模式下,責問→誤判→攻擊→道具揭示→賠罪→二次誤操作→空間揭示→結尾循環等相鄰因果節點不得合併、換序或刪除;商品只能進入使用者明確允許替換的位置。
在 03_structure_mapping.md 頂部寫明模式、節拍密度、視覺世界硬約束、必須保留和允許替換。建立唯一鏈路:
R01(原片證據)→ S01(新片腳本)→ B01(分鏡檔案)→ P01(Seedance 段落)
每個新鏡頭必須填寫對標時間碼、新片時間碼、原片心理/視覺功能、必須保留、允許替換、分鏡檔案和提示詞段落。不得用「感覺一致」代替可驗收事實。
同時按 復刻合約 JSON 規範 建立 schema v4 的 08_replica_contract.json。先用 brief_alignment 鎖定使用者原始模式、原始時長、production_scope 和最終執行值;任何變更都必須取得使用者明確確認並記錄原因,禁止為了通過驗證靜默改約。合約必須覆蓋分析檔案中全部 Rxx,並把每個節拍綁定到唯一 Sxx、Pxx、分鏡檔案和 production_design.motion_beats。合約未完成前不得生圖或寫 AI 表。舊 schema v3 只允許複核歷史包,新專案不得繼續建立 v3。
合約使用 schema_version=4。先完成 creative_room 並選出通過 85 分和桌讀門檻的唯一方案,再完成 narrative_qc.story_chain 和分鏡:第一步必須是問題,中間必須有角色選擇與可見後果,最後一步必須回答開頭問題;每一步用 caused_by 連接更早步驟。商品至少承擔證據、籌碼、誘因、障礙或解決工具中的一種。預設 allows_unexplained_magic=false;若使用者明確指定奇幻世界,才可設為 true,並且每次超自然變化仍須由前一動作觸發。沒有人物選擇的「券突然生效、人群突然出現、慶典突然開始」一律視為因果斷裂,必須重寫。
同時填寫:
dialogue_requirements:每個非靜音 Clip 至少一條不可丟失關鍵句或關鍵詞。prop_continuity_requirements:關鍵道具的出現、交接/使用和結果事件。director_requirements:結尾記憶點與人物「起點→轉折→結果」表演弧。finale_policy:只能選story_action或source_fact_card。前者要求結尾動作/反應在最後 3 秒可見;後者只允許劇情答案先兌現,再用使用者提供的真實事實圖收尾,並鎖定源檔案與起止時間。production_design:記錄產品參考資產及雜湊、六項不變特徵、風格鎖、音樂狀態、運動類型,以及每個 Pxx 的起始狀態→人物動作→產品動作→環境反應→運鏡→速度變化→結束狀態→轉場觸發→音樂卡點。
每個運動節拍用 handoff_in/handoff_out 串成從 START 到 END 的唯一鏈,並用 product_visibility=visible/withheld_for_reveal 區分真實露出與劇情延遲揭示;只有 visible 節拍強制在提示詞綁定產品資產。動態鏡頭必須通過「刪除運鏡後,人物或環境仍有明顯運動」測試;有意靜止只允許原片證據、開場短暫蓄力或結尾產品落版,並寫明原因。複雜動作必須綁定起始、中間、結束至少三張關鍵幀。連續運動廣告至少有三次不同等級的動態升級,最高等級不低於 4。
依模式執行:
- 高保真視覺復刻:保留鏡頭順序、時長比例、景別、機位、運鏡、動作方向、轉場、場景結構和光色。
- 爆款機制遷移:保留停留點、誤判路徑、權力變化、反轉層級、因果升級和結尾記憶點,不要求逐鏡畫面相似。
- 商業混合復刻:0 至 3 秒重構商業衝突;3 秒後恢復原片鏡頭順序、時長比例和視覺節拍。
不得額外套用其他模式的驗收規則。
階段五:按原片因果鏈寫逐秒腳本並動態分段
先完成整條逐秒腳本,再在不切斷台詞和反轉因果的位置拆成若干 Clip。每段必須 1 至 15 秒,從 0 秒連續覆蓋目標時長。每段最多 3 個可執行單元;劇情片最多 2 個說話單元和 1 行主商品事實。每個時間單元必須使用可解析的 Markdown 表格,時間列可在前三列,格式為 起點-終點,並寫清 Sxx/Pxx、景別、運鏡、人物左右/前後站位、身體與視線方向、說話人與對象、手部和身體動作、表情起點/變化/結果、普通話對白、嘴型同步、連續性錨點和聲音。
腳本完成後立即執行自動解析,不再人工自報口播秒數、漢字數和節拍數:
python3 "${SKILL_DIR}/scripts/analyze_script.py" \
"<專案目錄>" --out "<專案目錄>/07_script_analysis.json"
程式按 4.2 字/秒計算最低口播時長;劇情對白最多佔 Clip 的 60%,蒙太奇旁白最多 75%,古詩朗讀最多 92%。它還會拒絕超載單元、過多說話輪次、商品清單式對白、未經允許的前三成商品前置和無解釋魔法。出現錯誤時不得生圖。
商品硬賣原則上不得出現在前 30%。商品在中後段透過已確認權益解決劇情問題;原片本身用商品作第一秒鉤子時,只有使用者明確要求且商品事實完整才允許前置。結尾預設必須有動作、群體反應或二次反轉。只有 finale_policy.type=source_fact_card 時,才允許在劇情問題已經可見解決後,用 1 至 2 秒真實商品/權益原圖收尾,最長不得超過 2.5 秒;禁止用 AI 重繪圖或未綁定源檔案的靜態海報代替劇情兌現。
階段六:人物設定與獨立分鏡圖
在第一次生圖前完整讀取當前 Codex 環境已安裝的 imagegen 技能說明,預設使用內置 image_gen,不擅自切換 CLI/API。
- 先生成統一人物設定圖:正面、側面、背面和關鍵表情。
- 將人物設定作為所有劇情圖的身份參考。
- 每個分鏡單獨調用一次生圖;禁止用九宮格、漫畫分欄或拼貼代替獨立分鏡。
- 每張圖保存到專案目錄,並逐張檢查人物、場景、道具、動作方向、說話對象、除白名單外無字幕/二維碼/無關文字及 9:16 尺寸。
- 相鄰
Clip的尾幀/首幀必須複用同一檔案或像素一致的副本;人物位置、姿勢、朝向、道具、時間和光線保持一致。 - 使用者指定扇面、招牌、包裝等必須出現準確文字時,只允許該白名單文字;在生圖提示詞中逐字寫明、生成後用
view_image真實查看,確認不鏡像、不錯字,再寫入合約的visual_text_requirements。此時禁止繼續使用「畫面無任何文字」這種衝突限制。 - 複雜動作分別生成起始、中間和結束關鍵幀;參考資產只鎖身份、產品和狀態,不得把人物姿勢鎖死。關鍵幀只作為影片模型輸入,不得直接當成最終動態鏡頭。
每張分鏡必須綁定鏡頭 ID、時間點、對標時間碼、畫面目的、景別/機位/構圖、動作三態和生圖提示詞。
階段七:Seedance 提示詞
每個片段輸出一個可整段複製的程式碼區塊,包含畫幅、精確時長、產品鎖、風格 lock_id 與完整可複用風格提示詞、參考圖作用、逐秒鏡頭、動作、對白對象、普通話嘴型同步、首尾連續性和負面限制。
提示詞開頭必須逐個列出本段實際附件檔名和作用;正文每個 Pxx 再次寫對應分鏡檔名。不得只寫「參考附件」。如果使用原片音樂或音效,合約必須分別記錄原片截取區間和目標片使用區間,提示詞必須寫音訊檔名、目標開始/結束時間和「不換其他音樂」。「原片同段 BGM」不能代替檔名。
除合約白名單指定文字外,畫面不得生成字幕、英文、二維碼和無關資訊。高保真和商業混合模式依鏡頭 ID 寫明順序、時長、機位、運鏡、動作方向和轉場;機制遷移的高密度檔先給逐秒節拍表,再以相同順序寫入提示詞。
每個 Pxx 必須逐項複述合約中的運動鏈:起始狀態、人物連續動作、產品運動、環境反應、攝影機空間運動、速度變化、結束狀態、動作觸發轉場和音樂卡點。單鏡頭只設一個主要人物動作和一個主要攝影機運動;人物動作複雜時簡化運鏡,運鏡複雜時簡化人物動作。禁止用攝影機推拉、數位縮放、背景替換或快速切換冒充動態事件。
階段八:可選 AI 表交付
只有使用者明確要求寫入 AI 表時才執行。先使用釘釘技能讀取真實 Base、子表、欄位和目標紀錄,把自動影片、公式、成本和生成結果欄位加入合約 aitable_handoff.protected_field_ids。寫入只允許提示詞和附件欄位;每條紀錄人物圖、分鏡圖、音訊和商品素材合計最多 9 個附件,必須先為人物圖和音訊預留名額,再決定分鏡數量。更新附件時先回讀當前附件並做完整保留式替換,禁止只提交新增檔案導致舊附件丟失。每條紀錄寫後必須回讀:提示詞引用、附件檔名/數量、受保護欄位的原值都要保持;不得順手點擊生成按鈕。使用者明確要求生成後,逐條回讀 紀錄 ID→Clip ID→結果檔案/連結→實際時長→解析度→完成狀態,下載後只能按合約的 Clip 時間順序合片,不能按下載時間或表格行位置排序。
階段九:驗證後交付
使用 templates/生成前質檢表.md 完成內容質檢,再執行生成前總門禁:
python3 "${SKILL_DIR}/scripts/run_quality_gate.py" \
"<專案目錄>" --stage pre-generation \
--out "<專案目錄>/07_quality_gate_pre_generation.json"
只有 decision=allow_generation 才能生圖或寫 AI 表。總門禁同時執行合約/資產驗證和自動腳本分析;失敗時給出應退回的層級。--legacy 只能檢查舊包,不能作為新專案交付依據。
使用者明確要求使用 VidMuse 完成生成、剪輯和導出時,只有在這裡取得 allow_generation 後才進入 VidMuse 完整製作分支。該分支必須先即時讀取帳號、積分、可用模型和生成參數,再計算包含問題鏡頭重生額度的預算;不得僅根據本文或歷史記錄假定模型名、價格、時長和時間線能力。沒有明確生成請求時在此停止。
使用者提供生成成片後,再執行結構驗收:
先為 AI 表返回的分段影片建立 09_delivery_manifest.json,只按合約順序登記 clip_id 和實際檔案:
{"outputs":[{"clip_id":"clip01","file":"renders/clip01.mp4"}]}
生成後清單格式見生成後質量清單規範。必須準備 AI 表片段清單、候選 ASR 清單和 Watch 導演證據;合片前執行:
python3 "${SKILL_DIR}/scripts/run_quality_gate.py" \
"<專案目錄>" --stage pre-stitch \
--delivery-manifest "<專案目錄>/09_delivery_manifest.json" \
--asr-manifest "<專案目錄>/10_asr_manifest.json" \
--director-manifest "<專案目錄>/11_director_qc.json" \
--out "<專案目錄>/12_quality_gate_pre_stitch.json"
只有 decision=allow_stitch 才能合片。它會拒絕缺段、錯序、重複片段、時長誤差、非 9:16、無音軌、關鍵口播丟失、故事步驟不可見、表演弧缺失、道具無來源、連續性失敗、結尾記憶點缺失、硬否決項或導演評分低於 85。
高保真成片再執行參考片結構驗收:
python3 "${SKILL_DIR}/scripts/validate_render.py" \
"<原片>" "<成片>" --out "<專案目錄>/質檢/render"
成片總時長、鏡頭變化密度、音訊中位能量或音訊低分位動態未達門檻時,直接判定「未對齊」,不得因為主劇情事件出現就稱為高保真。低分位動態用於發現總體音量尚可、但爆炸、打擊、轉場音樂等關鍵區間實際缺失的情況。隨後查看腳本生成的全部 0.5 秒幀,並用候選 ASR 逐字核對合約中的對白。
不論模式,AI 表返回的每個片段還要單獨核對實際時長與合約片段時長(誤差不超過 0.5 秒)、人物/道具連續性、narrative_qc 中的每一步因果和片段順序;任何一項失敗都只算「生成結果」,不得合片或發布。
合片後必須對最終 MP4 本身重新執行 prepare_reference.py,把雙模型 ASR 和固定 0.5 秒時間線寫入獨立質檢目錄;不得把分段 ASR 手工複製後冒充最終合片 ASR。按生成後質量清單規範建立 13_final_manifest.json,其中最終影片、ASR 證據檔案和真實事實圖都必須用 SHA-256 綁定。然後對所有模式執行:
python3 "${SKILL_DIR}/scripts/run_quality_gate.py" \
"<專案目錄>" --stage pre-publish \
--delivery-manifest "<專案目錄>/09_delivery_manifest.json" \
--asr-manifest "<專案目錄>/10_asr_manifest.json" \
--director-manifest "<專案目錄>/11_director_qc.json" \
--final-manifest "<專案目錄>/13_final_manifest.json" \
--out "<專案目錄>/14_quality_gate_pre_publish.json"
只有 decision=allow_publish 才能稱為「可發布」。最終門禁會真實回讀合片時長、畫幅、音軌和雜湊,從 ASR 證據檔案載入至少兩個不同模型的結果,並驗證事實卡在成片中的像素相似度。雙模型不一致時,必須由真實聽過成片音軌的人填寫複核人、時間、確認的對白 ID 和原因;模型或 ASR 結果本身不得把 human_audio_qc 標成通過。高保真模式還須附加 --render-validation,作為原片結構對齊的額外門禁。
標準交付目錄
outputs/<專案名>/
├── 00_source_manifest.json
├── 00_reference_evidence.md
├── 01_reference_analysis.md
├── 02_product_facts.md
├── 02_visual_lock.md
├── 03_structure_mapping.md
├── 04_script.md
├── 05_seedance_prompts.md
├── 06_pre_generation_qc.md
├── 07_script_analysis.json
├── 07_quality_gate_pre_generation.json
├── 08_replica_contract.json
├── 09_delivery_manifest.json(生成後)
├── 10_asr_manifest.json(生成後)
├── 11_director_qc.json(生成後)
├── 12_quality_gate_pre_stitch.json(生成後)
├── 13_final_manifest.json(合片後)
├── 14_quality_gate_pre_publish.json(合片後)
├── asr/
├── audio/(需要原片音樂或音效時)
├── watch/
├── character/character_sheet.png
└── storyboard/(每段獨立 PNG;寫 AI 表時須為人物圖、音訊等預留總附件 9 個以內的名額)
調用模板見 templates/調用模板.md。
成片復盤邊界
使用者之後提供成片時,先執行最終 MP4 的雙模型 ASR 和 pre-publish 總門禁;高保真模式再執行 validate_render.py。然後確認目標是「對應關係核對」還是「質量評價」。對應關係核對比較原片固定時間線、腳本、分鏡、提示詞、成片時間碼和候選 ASR;不用品質形容詞替代鏡頭鏈路證據。單幀表情誇張不等於表演對齊,必須檢查表情的起點、變化和結果;出現新道具時必須看到取出、交接或變形動作。