Viral Video Distiller Pro
將影片變成可稽核的證據包、可閱讀的蒸餾報告和可直接執行的原創結構遷移方案。核心原則是:先取證、後分析;事實和推斷分層;沒有證據就明確降級。
觸發與意圖路由
優先保證「一句話使用」,不要要求使用者複述證據等級、切鏡演算法、時間軸覆蓋率或校驗規則。
自動觸發
滿足任一項即進入本 Skill:
- 文字包含「分析/拆解/拉片/復刻/仿拍/模仿/研究」以及「影片/短影片/抖音/TikTok/Reels/小紅書/B站/YouTube/口播」等影片語意。
- 輸入包含可識別的影片平台 URL,例如
douyin.com、v.douyin.com、tiktok.com、xiaohongshu.com、xhslink.com、bilibili.com、b23.tv、youtube.com、youtu.be、instagram.com/reel。 - 輸入包含本地影片路徑或附件,副檔名為
.mp4、.mov、.mkv、.webm、.m4v、.avi、.flv、.ts。 - 使用者只提供影片連結/影片檔案但沒有動詞:預設理解為「分析這條影片」;先預檢,不要求補一段長提示詞。
不觸發或轉交
- 僅分析 PDF、Word、網頁文章、圖片或音訊,且沒有影片分析意圖。
- 僅要求播放、上傳、壓縮、轉碼、下載或刪除影片,不需要內容拆解。
- 只想快速總結影片內容且明確不要鉤子、鏡頭、互動或生產腳本時,使用普通影片總結能力。
「分析」與「復刻」的預設行為
- 「分析/拆解/拉片」:直接生成完整蒸餾生產包。
- 「復刻/仿拍」:先自動完成原片分析;若使用者已經給出新主題/受眾,繼續生成原創遷移腳本。
- 使用者說「復刻」但沒有新主題:分析不中斷,先交付原片蒸餾與可替換槽位;只在生成具體新稿確實需要主題時,詢問一個簡短問題。
- 禁止要求使用者確認鏡頭、證據等級、演算法閾值、評分權重或報告欄位,這些是 Skill 內部責任。
推薦使用者提示詞:幫我分析復刻這條抖音影片:<連結>。
適用輸入
- 本地
.mp4、.mov、.mkv、.webm。 - 抖音公開連結;僅分析使用者有權獲取和研究的內容。
- 可選補充:平台資料截圖/JSON、目標受眾、新主題、帳號定位。
如果只有文字、音訊或關鍵幀,可以做局部分析,但不得聲稱完成全量影片蒸餾。將無法驗證的模組寫成 N/A。
必須交付
最終目錄既是報告包,也是可繼續剪輯和稽核的生產資產包:
- 九個核心檔案:
蒸餾報告.md、evidence.json、transcript.json、逐字稿.md、逐秒時間軸.csv、復刻生產腳本.md、剪映執行清單.md、素材清單.md、品質自檢報告.md。 - 生產資產:
source_video.mp4、關鍵幀/、音訊與轉寫/、分鏡檔案/、復刻SOP.md。
.venv、模型快取、__pycache__、下載暫存檔案等可重建執行垃圾放到交付目錄外的 work/。影片、幀、音訊、轉寫、分鏡和 SOP 屬於可複核過程資產,必須交付。
執行流程
1. 預檢與授權邊界
執行:
python3 scripts/preflight.py "<本地路徑或連結>"
- 本地檔案不存在時先確認路徑。
- 抖音連結執行
download_douyin.py:先嘗試yt-dlp;若提示 fresh cookies、登入/驗證碼失敗,或環境沒有yt-dlp,腳本自動請求分享頁 HTML、提取受限的抖音/位元組影片 CDN 候選、下載並用ffprobe驗證。兩條路徑都失敗後才要求使用者提供本地影片。 - 分享頁 fallback 不得列印、儲存或寫入報告中的完整簽名 CDN URL、Cookie、鑑權參數;不得繞過登入、驗證碼、付費或私密內容存取控制。只處理使用者有權分析的公開分享連結。
- 不要僅根據標題、封面或網頁簡介生成逐秒報告。
2. 建立工作與交付目錄
python3 scripts/scaffold_delivery.py <輸出目錄> --source "<來源>"
將 assets/templates/蒸餾報告.md 作為報告正文範本。
輸出目錄儲存生產資產;在同級 work/ 或系統暫存目錄建立執行環境與快取,不得在輸出目錄建立 .venv。
3. 提取確定性證據
本地影片執行:
python3 scripts/extract_evidence.py <影片> <工作目錄/evidence>
工具會提取媒體元資料、16kHz 單聲道分析音軌、靜音區間、場景候選切點和 1fps 關鍵幀。將原影片標準化複製為 source_video.mp4,關鍵幀儲存到 關鍵幀/,分析音軌與 ASR 原始結果儲存到 音訊與轉寫/。完整閱讀 references/automated-visual-analysis.md:透過多訊號自動確認切鏡,低置信度結果自動降為疑似切鏡或內部視覺事件。分析過程不要求人工參與,也不得把單一場景閾值結果稱為真實鏡頭。
3a. 獲取帶時間戳的口播轉寫(ASR)
優先執行 Whisper(small 模型,跨平台,支援中文):
python3 scripts/run_asr_whisper.py <影片或音訊> <交付目錄> [--model small] [--language zh]
- 首次使用自動下載模型(small 約 460MB,快取在本機),並需安裝依賴:
pip install openai-whisper(或faster-whisper)。 - 腳本輸出帶起止時間戳的轉寫,合併進
evidence/raw_evidence.json(analysis_mode.asr="A"、speech_metrics、ev-asr證據項),並生成transcript.json、逐字稿.md與音訊與轉寫/asr_raw.json。 - ASR 原文不可變:每段保留
raw_text;可靠校正寫入normalized_text,並在corrections[]登記原詞、修正詞、依據和置信度。沒有可靠依據時不校正。 - 無 whisper 且無法安裝時:對應模組標 N/A,不得偽造語速;有其他 ASR 工具時按其輸出合併,同樣註冊
ev-asr並標實際等級。
若環境有 OCR 能力,生成字幕觀察並合併進證據登記簿;若沒有,將對應模組標 N/A 或使用直接多模態觀察標 B。不要為了完整而編造。
4. 構建統一證據包
完整閱讀 references/evidence-schema.md 與 references/analysis-protocol.md。把 raw_evidence.json 合併為交付目錄的 evidence.json:
- 每項觀察註冊唯一證據 ID。
- 所有結論引用
evidence_ids。 - C 級推斷寫
rationale,並說明替代解釋。 - 交付前寫入
delivery_metrics.evidence_item_count = len(evidence_items);《品質自檢報告》引用該值,不得手工加總。 - 使用「外部資料/官方專案/交叉印證」等措辭時,將來源登記到
external_sources[](id/title/url/accessed_at/grade),相關結論透過external_source_ids引用;未登記時刪除該措辭,不得暗示已查證。 逐秒時間軸.csv必須每秒一行且連續覆蓋至少 95%;分別填寫visual_evidence_ids、audio_evidence_ids、subtitle_evidence_ids和各模態置信度。視覺事實只能引用幀、OCR 或直接多模態觀察,ASR 不能單獨支撐視覺描述;音訊、字幕同理。每行至少引用一條跨度不超過 15 秒且與該秒重疊的時間鄰近證據。空白、黑場、靜音也要佔一行並寫明狀態。- Hook 固定覆蓋 0.000–3.000 秒,不能借用 3 秒後的資訊。
5. 分析爆款機制
按以下順序分析,避免先有結論再找證據:
- 首幀、首句、字幕、聲音、承諾和資訊差。
- ASR 停頓 + 語意轉折 + 鏡頭候選切點的段落邊界。
- 有完整 ASR 才計算中文字元/分鐘、語意停頓和重音;沒有 ASR 時精確口播指標為 N/A。聲學停頓、BGM、音效和響度獨立分析。
- 候選切點、自動確認切鏡、疑似切鏡、字幕重新整理和內部視覺事件分別報告;綜合視覺重新整理率說明去重口徑。
- 字幕位置、佔屏、行數、顏色、關鍵詞強調、出現/退出動畫。OCR/關鍵幀覆蓋不足 95% 時,只能寫「取樣點觀察到一致/基本一致」,禁止寫「全片嚴格同步」。
- 互動原句、時間戳、目標動作和留言機制。
- 結尾五動作:按讚、追蹤、收藏、下期預告、開放式問題。
- 按固定八維權重自動計算評分、覆蓋率和缺失維度;不得手填總分。評分基於證據,不因使用者稱其為爆款而預設高分。
- 每個核心段生成「事實→機制→觀眾反應→遷移公式」專家洞察;禁止只描述畫面。
6. 生成結構遷移生產包
完整閱讀 references/report-contract.md,按範本填寫《蒸餾報告.md》。隨後輸出:
「一句話結論」先在 evidence.json.executive_summary 填滿八個槽位,再組合成一個緊湊段落。工具鏈只能作為 C 級推斷,並同時列出依據和替代解釋;沒有平台資料時使用「傳播機制」,不要直接斷言「爆款原因」。
若工具鏈僅為 C 級推斷,復刻生產腳本.md 只能給工具無關流程或明確標註的候選實作,不得把推斷的軟體名升級成確定依賴、版本、安裝命令或 CLI。只有實際執行驗證並在 toolchain_inference.execution_verified=true 登記驗證證據後,才可給確定命令。
復刻生產腳本.md:時間、功能槽位、原創口播、畫面、字幕、音效、互動目的。分鏡檔案/分鏡表.csv:固定欄位time_range,shot_function,normalized_visual_text,normalized_spoken_text,asset_ids,evidence_ids,confidence。口播使用transcript.json.normalized_text,螢幕文字保留原始 OCR 證據並另做標準化,不得把明顯辨識雜訊直接交給剪輯;剪輯工程或 EDL/XML 也放入此目錄。復刻SOP.md:主題遷移、腳本、分鏡、素材準備、剪輯、質檢到發布的順序化操作步驟。剪映執行清單.md:軌道、切點、字幕範本、關鍵幀、音量、匯出與發布前檢查。素材清單.md:素材角色、規格、來源/授權狀態、替代素材;不得直接复用原片資產。逐字稿.md與transcript.json:保留時間戳、說話人和置信度。品質自檢報告.md:記錄證據缺口、自動降級結果、門禁結果和低置信度清單;不要求人工複核後才能交付。
這裡的「一比一復刻」只指一比一映射結構槽位、節奏節點與鏡頭功能;台詞、例子、人物、品牌、音樂和畫面素材必須原創或已授權。
7. 執行生產門禁
python3 scripts/validate_delivery.py <交付目錄>
只有輸出 PASS 才能宣稱完整交付。失敗時按錯誤逐項修復,不得刪除規則繞過。
8. 分析完成後的漸進式復刻引導
分析包通過門禁後,不要只告知檔案路徑,也不要一次性要求使用者提交全部物料。複製 assets/templates/remake-brief.json 到交付目錄,並按下列順序每次只問一個當前必需問題;使用者回答後立即寫入 brief,再進入下一步:
先執行確定性編排腳本,讓後續步驟真實消費分析產物:
python3 scripts/create_remake_project.py init --analysis <分析交付目錄> --output <原創復刻工程目錄>
腳本會讀取報告、復刻生產腳本、SOP、時間軸、標準化分鏡、素材與剪映清單,生成 remake-context.json 並返回唯一的 next_field/question。每次收到使用者答案後執行:
python3 scripts/create_remake_project.py set --output <原創復刻工程目錄> --field <next_field> --value "<使用者答案>"
- 新主題:先問「你想把這個結構遷移到什麼主題?」這是唯一無可靠預設值的必答項。
- 目標受眾:根據主題推薦一個受眾並讓使用者確認;使用者已有帳號定位時直接沿用。
- 時長與畫幅:根據參考片和發布平台給推薦值,例如抖音預設
60 秒、9:16;將兩個強相關參數放在同一次確認中。 - 呈現方式:從真人口播、錄屏講解、PPT/文字動畫、純素材混剪中推薦一種,只要求使用者確認或改選。
- 結尾動作:根據帳號階段推薦關注、收藏、評論問題或私域領取中的一個主 CTA。
- 可用素材:最後才詢問使用者是否有頭像、Logo、錄屏、圖片、配音或品牌色。沒有素材時不要阻塞,提供 TTS + 原創佔位圖形 + 純文字動畫的降級方案。
每一步先展示「已確認內容 + 當前只需回答的問題」。使用者說「你決定/預設即可」時採用推薦值繼續,不重複追問。資訊足夠後自動生成原創復刻工程包:原創口播稿、SRT、標準化分鏡、素材缺口表、剪映執行清單、發布文案和 render-manifest.json。
當腳本返回 status=ready 後執行:
python3 scripts/create_remake_project.py build --output <原創復刻工程目錄>
隨後 Agent 必須讀取 生成任務.md、remake-context.json 和 remake-brief.json,填充工程包中的原創內容;不得把腳本生成的佔位骨架冒充完成稿。
目前 Skill 的「一鍵生成」邊界是:一鍵生成可執行復刻工程包,不承諾直接輸出 MP4。只有執行時具備並實際驗證 Remotion、剪映草稿或其他渲染後端時,才能把 render_backend 改為對應後端並宣稱生成成片。
分析完成後的第一條引導固定為:
分析已經完成。下一步我可以帶你把它遷移成一條原創影片,我們一次只確認一項。先告訴我:你想用這套結構講什麼新主題?
降級矩陣
| 可用證據 | 可完成 | 必須標 N/A |
|---|---|---|
| 影片 + FFmpeg + ASR + OCR | 全量分析 | 無法驗證的平台資料 |
| 影片 + FFmpeg + Whisper ASR | 媒體、音訊候選、鏡頭候選、視覺觀察、口播與詞級時間戳 | OCR 指標 |
| 影片 + FFmpeg,無 ASR/OCR | 媒體、聲學停頓、鏡頭候選、視覺觀察 | 口播速度、語意節奏、重音、情緒曲線、口播評分與 OCR 指標;口播維度退出總分並重新歸一化 |
| 只有音訊/帶時間戳轉寫 | 口播、敘事、部分互動 | 鏡頭密度、視覺字幕包裝 |
| 只有文字 | 文案結構與候選互動 | 所有精確音畫指標 |
| 連結下載失敗 | 連結層可見資訊 | 逐秒影片分析;請求本地檔案 |
禁止事項
- 禁止捏造播放量、發布日期、ASR、字幕顏色、鏡頭數或工具鏈。
- 禁止把演算法候選切點直接當作自動確認切鏡。
- 禁止要求人工確認或把人工複核設為交付前置條件;低置信度結果必須自動降級。
- 禁止 ASR 缺失時估算精確語速、重音或語意停頓。
- 禁止 ASR 缺失時填寫口播語意節奏、情緒曲線或口播評分;必須標 N/A 並從綜合評分分母移除。
- 禁止用長區間表格冒充逐秒時間軸。
- 禁止用重複章節摘要鋪滿逐秒時間軸,或用全片證據冒充該秒的直接證據。
- 禁止用 ASR 證據支撐顏色、構圖、鏡頭、字幕樣式等視覺事實,或用單一綜合置信度掩蓋模態證據缺失。
- 禁止在稀疏 OCR/關鍵幀取樣下聲稱「全片字幕嚴格同步」。
- 禁止靜默改寫 ASR 原文;標準化文字必須保留
raw_text和corrections溯源。 - 禁止手工估算證據總數,或聲稱外部資料交叉印證卻不登記
external_sources。 - 禁止分鏡繼續使用已被
corrections修正的原始誤辨識詞;分鏡必須帶素材、證據與置信度欄位。 - 禁止把
.venv、模型快取或暫存下載檔案放入最終交付;也禁止刪除原影片、關鍵幀、分析音訊、轉寫、分鏡或復刻 SOP。 - 禁止把 C 級工具鏈推斷寫成確定依賴或未經執行驗證的安裝、初始化、渲染命令。
- 禁止輸出無法按固定權重複算的綜合評分。
- 禁止用「約」「推測」掩蓋無證據的精確數字。
- 禁止複製長段原台詞、品牌包裝、音樂或畫面素材。
- 禁止只輸出漂亮報告而缺少
evidence.json和校驗結果。 - 禁止
yt-dlp首次失敗就終止:抖音公開分享連結必須自動嘗試分享頁 CDN fallback;fallback 失敗後才請求本地檔案。 - 禁止記錄或回顯分享頁中的 Cookie、完整簽名 CDN URL 和鑑權查詢參數,也不得用 fallback 繞過存取控制。