Video DNA
將一個資料夾的素材,轉變為一部讓人感覺是由親臨現場的人剪輯而成的影片。保留其 DNA,絕不重複使用模板:每部影片都根據素材中實際發生的情況,獲得自己的主題。
使用使用者的語言回覆。除非另有說明,否則字幕和畫面上的文字使用素材的語言。
開始使用
- 執行
python scripts/doctor.py來查看此環境能做些什麼。如果缺少任何項目,或者您身在雲端沙箱中,請參閱references/environments.md。 - 查看工作資料夾,然後閱讀
references/brief.md並蒐集簡報。僅詢問請求與素材未能回答的問題。 - 閱讀
references/formats.md,並使用最符合請求的配方。如果沒有素材,請遵循references/brief.md中的「無素材」步驟。 - 在建立時間軸之前閱讀
references/pipeline.md,並在任務需要核心腳本以外的工具時閱讀references/tools.md。
工作流程
按順序執行。在步驟 5 之前,不要渲染任何內容。
- 簡報。 確定格式、方向、長度、節奏、動態強度、視覺識別和音訊。請參閱
references/brief.md。為整部影片使用其選擇。 - 清點。 列出剪輯片段、照片、音樂和標誌(如果有的話)。使用
scripts/contact_sheet.py製作聯絡表並查看它們。使用scripts/transcribe.py轉錄語音,優先處理最短、最密集的片段。真實的台詞通常是最有趣的素材。 - 故事。 按照實際發生的順序寫下內容,包含最好的真實台詞以及說這些話的人是誰。如果沒有被告知,請詢問人物是誰。
- 主題。 提出 2-3 個新主題,每個主題包含 2 個基於真實時刻的具體笑點。推薦一個,優先選擇素材已經暗示的主題。然後停下來,讓使用者選擇。請參閱
references/themes.md。 - 音樂。 為每個段落提出一首曲目,並附上目標檔名,請使用者將檔案放入資料夾。像
2_chorus_0m45s.mp3這樣的名稱表示「從 0:45 開始」。切勿下載商業音樂,即使被要求。提供生成的音效和無音樂版本作為替代。 - 先取樣。 對於任何超過約 45 秒的內容,先渲染一個短片章節,讓使用者判斷方向。然後再建構其餘部分。
- 檢查。 執行
scripts/qa.py,查看擷取的影格,並瀏覽references/qa-checklist.md。在交付前修復發現的問題。 - 交付。 請參閱下面的「完成影片存放位置」。在有用時,包含無音樂版本、可直接貼上的
references/copy.md文字,以及誠實報告。
完成影片存放位置
scripts/doctor.py 會報告環境。每部影片請按以下方式完成:
- Claude Code: 將完成的影片直接寫入使用者的資料夾,位於工作資料夾內的
output/中,除非使用者指定了其他位置。提供完整路徑。使用者永遠不應自行在_work/中尋找。 - Claude 應用程式: 將完成的影片直接作為檔案交付在聊天中,使用者可以從對話中開啟和下載。將它們複製到輸出資料夾(存在時為
/mnt/user-data/outputs),並在可用時使用檔案共享工具。不要停在沙箱路徑,並且除非檔案無法交付,否則不要縮小或分割檔案。
DNA
- 一個主題,完全投入。 從第一影格到最後影格,使用相同的字體、顏色、動畫和聲音。每個圖形都屬於該主題的世界。
- 每個圖形都承載一個來自此素材的真實笑話或真實事實。 不得有裝飾性或通用性的內容。一個標示真實設備上真實數值的標籤,勝過任何庫存字幕。
- 回顧。 早些時候鋪墊某事,並在後期回報。來自開頭的某句台詞在結尾處再次出現。
- 在前 2-3 秒內用最強烈的時刻吸引觀眾,然後以屬於該主題的方式回到開頭。
- 節奏。 在節拍上剪輯,在笑點處進行推鏡放大,使用動態轉場,在衝擊時晃動,加快無聊片段的速度。保留完整的口語台詞。
- 所有語音都有字幕,逐字顯示,並為主題設計樣式。僅在畫面上對粗話進行審查處理。
- 聲音設計。 每個圖形都有自己的聲音。音樂根據段落改變,曲目的重大高潮落在關鍵時刻,並且音樂在語音下方降低音量。
- 清晰勝過密集。 如果一個笑話需要觀眾缺乏的上下文,就刪除它。對於初次觀看的觀眾,必須清楚明白:什麼、在哪裡、何時以及多少。
真實性規則
- 絕不捏造事實。任何推斷、近似或說明性的內容都必須列出以供確認:日期、角色、數字、獎項、身高、誰說了什麼。
- 列出不確定的轉錄台詞,讓使用者確認。
transcribe.py會標記低信心詞彙。 - 可能被解讀為真實結果的說明性數字必須被標記,或刪除。
- 不要將話語塞進真實人物的嘴裡作為引述。當書面笑話以字幕形式呈現時是可以的。
- 在包含他人的尷尬時刻之前,以及在未經模糊處理地顯示陌生人臉部之前,先詢問。
- 逐字保留贊助商和資助者的官方文字。如果這些文字與他們的標誌不符,請詢問而非編輯。
- 檢查 QR 碼的目標位置,如果它是可公開編輯的文件,請警告使用者。
處理修正
精確套用反饋,保持其他一切不變。將時間軸作為數據保留,這樣一個變更只會重新渲染受影響的片段。當為了保持在長度限制內而必須刪除某些內容時,說明刪除了什麼。
誠實報告
您無法即時聆聽音訊或觀看影片。每次都以直白的語言說明這一點:
- 您驗證了什麼(擷取的影格、時長、音量、QR 碼解碼);
- 使用者必須用耳朵和眼睛判斷什麼(節拍同步、字幕時機、混音平衡);
- 您刪除了什麼,以及您無法按請求執行什麼;
- 平台是否可能因為商業音樂而將影片靜音。
捆綁檔案
| 檔案 | 用途 |
|---|---|
scripts/doctor.py | 檢查工具和依賴項 |
scripts/contact_sheet.py | 用於檢視素材和渲染結果的帶時間戳影格網格 |
scripts/transcribe.py | 附有低信心標記的逐字轉錄 |
scripts/captions.py | 逐字 ASS 字幕,映射到時間軸上 |
scripts/beats.py | 曲目的節奏、節拍時間和最強重拍 |
scripts/sfx.py | 生成無版權的音效 |
scripts/music.py | 生成簡單的原創晶片音樂或脈衝音樂背景音軌,可循環播放 |
scripts/setup_tools.py | 按設定檔檢查並安裝可選工具,並保存 Whisper 模型 |
scripts/toolbox.py | 場景偵測、剪影、人臉、QR 碼、字體、HTML 場景、分離音軌、旁白、音量、時間軸匯出 |
scripts/render.py | 將時間軸 JSON 渲染為最終 MP4,可選無音樂版本 |
scripts/qa.py | 時長、格式、大小、音量、ASS 和 QR 碼檢查 |
scripts/fit_size.py | 壓縮到目標大小,或分割以便傳輸 |
references/brief.md | 開始時要問的問題,以及空資料夾的處理方式 |
references/formats.md | 各類影片的配方 |
references/themes.md | 如何找到主題,附有實例 |
references/pipeline.md | 時間軸格式、渲染規則、ASS 動畫配方 |
references/tools.md | 哪個工具用於哪種需求,包含 Whisper 後端 |
references/environments.md | Claude Code 和 Claude 應用程式的差異 |
references/qa-checklist.md | 交付前檢查清單 |
references/copy.md | 帖子字幕和可分享的訊息 |