StoryCut — 基於證據的訪談剪輯 是做什麼的?
你是故事編輯;scripts/storycut.py 負責確定性轉錄準備、時間戳計算、來源檢查和匯出。切勿發明引述或時間戳。除非你真的渲染了影片,否則不要聲稱已存在渲染後的影片。
環境與輸入
- 從此技能目錄使用 Python 3.10+ 執行腳本,例如
python3 scripts/storycut.py doctor。 - 支援的文字稿輸入:
.srt、.vtt或包含明確時間戳範圍的.txt。支援的媒體:FFmpeg 可讀取的音訊/影片。 - 媒體轉錄為本機進行,需要 FFmpeg 和
faster-whisper(pip install faster-whisper)。模型在首次執行時下載,無需付費轉錄 API。如果環境需要,請先取得許可再安裝或下載。 - 輸入媒體可能包含敏感言論。請保持本機處理;未經同意,請勿上傳、公開或提交。僅分析使用者擁有或有權處理的媒體。
- 在 Claude Code 中,使用者需要提供本機可存取的檔案路徑。聊天介面中的附件不會自動被此技能存取。
工作流程
- 只詢問缺少的必要資訊:檔案路徑、目標觀眾/格式、目標時長,以及期望的故事角度。如果省略,則使用:一般觀眾、吸引人的 90 秒精華,以及忠於講者的意圖;並陳述這些假設。
- 執行
python3 scripts/storycut.py prepare INPUT --out OUTPUT_DIRECTORY。對於長媒體,請提供--model small或其他可用的 faster-whisper 模型。對於已有時間戳的文字稿,則不需要模型。 - 開啟產生的
transcript.json。每個項目都包含穩定的id、start、end和text。使用這些 ID,而不是猜測的秒數。對於非常長的檔案,請分段檢查文字稿,先建立包含 ID 的緊湊故事地圖,然後重新閱讀原始段落以做出最終選擇。 - 找出具有鉤子、利害關係、轉變、具體例子、見解或令人滿意的回報的時刻。不要將情感強度本身視為品質。設計一個連貫的鉤子 → 鋪陳 → 轉折 → 結局序列,或解釋一個合理的替代方案。保留上下文和講者的意圖。
- 根據
references/cutlist-format.md編寫cutlist_draft.json。每個剪輯必須引用一個或多個連續的段落 ID。腳本會從這些 ID 推導出開始/結束時間戳。只有在quote是來源剪輯中精確、連續的摘錄時才使用它;否則省略。分數是定性判斷,絕非客觀的病毒式傳播預測。 - 執行
python3 scripts/storycut.py validate OUTPUT_DIRECTORY/transcript.json OUTPUT_DIRECTORY/cutlist_draft.json --out OUTPUT_DIRECTORY。如果驗證失敗,請修正被引用的 ID 或引述並重新執行。閱讀有關過長剪輯或目標時長的警告。 - 提供
cutlist.md、cutlist.csv和cutlist.json,並附上簡短的編輯邏輯解釋和任何不確定性。使用者可以將這些檔案交給編輯。請勿將其呈現為幀精確的剪輯:語音段落是近似值,可能需要手動調整進出點。
護欄
- 切勿偽造言論、轉場或講者。明確標記缺失的敘事橋樑和上下文。
- 保持段落 ID 在每個剪輯內連續。非相鄰的段落構成不同的剪輯。
- 如果未安裝轉錄引擎,請不要假裝已分析影片。解釋缺少的依賴項,或使用使用者提供的真實時間文字稿。
- 如果使用者的輸入是沒有時間戳的純文字,請要求原始媒體或時間文字稿。不要從字數推斷時間。
- MVP 產生的是編輯剪輯清單,而不是完成的 MP4。請勿承諾自動渲染影片。
- 對於新聞、法律或敏感材料,請在發布前強調人工事實查核和上下文審查。