style-lab 是做什麼的?
使用時機(完整觸發詞列表)
當使用者想要從參考影片(連結或檔案)或文字描述中建立、定義、複製、學習或訓練某種剪輯風格或外觀;建立風格板或風格指南;將參考素材轉換為可重複使用的風格;或者以訓練好的風格編輯一段 talking-head 或短格式影片片段,並在審查回合中修復時使用。也適用於:「讓我的影片看起來像這位創作者的作品」、「保存這個外觀讓每段影片都一致」、「剪輯看起來很通用 / 很 AI」。希伯來文:סגנון עריכה, ליצור סגנון, ללמד את Claude סגנון, בורד סגנון, לוח השראה, ריפרנסים, תערוך בסגנון, תוכנית עריכה, סבב הערות, סטייל לסרטונים。
סקיל = הוראות קבועות ל־Claude。 此技能是 Gabriel Gelman 的「影片與AI」課程技能之一(Apache-2.0 授權)。這是一項進階獎勵技能:假設 Claude Code 已安裝 ffmpeg 和 Python,並且在安裝 HyperFrames 時效果最佳。
語言:除非使用者以其他語言書寫,否則一律使用希伯來文與使用者溝通。在執行每個步驟之前,先用白話解釋該步驟(我們要做什麼、為什麼做、使用者現在該做什麼),一次只解釋一個步驟,並為步驟命名(例如「שלב A2: בורד הסגנון」)。使用者看到的所有頁面(風格板、計畫、審查室)都遵循課程設計:RTL 希伯來文、Karantina / Heebo 字型、白黑紫配色。
靈感來源:兩階段工作流程(從約 20 部參考影片和一個風格板訓練風格,然後按照人工制定的計畫進行剪輯)的靈感來自 Joseph 關於使用 Claude 編輯 talking-head 影片的 YouTube 影片(https://youtu.be/g9xoKm5DEeU)。此處未複製該影片的任何內容;風格板、計畫與審查頁面、腳本、規則和審查循環均為我們自己建立、重新構建,並在 13 個 Reels 批次上進行測試。
概念概述
參考影片教導 Claude 動畫背後的邏輯(何時發生、持續多久、如何移動);風格板則教導它設計(字型、顏色、大小、原因)。缺少任何一項,剪輯就會看起來很普通。人類的品味位於三個檢查點:風格板(階段 A)、編輯計畫(階段 B)和審查回合。Claude 負責其餘的繁重工作。如果您不了解什麼是好的風格,AI 只會幫助您更快地製作出糟糕的影片,因此每個規則都經過衡量,每個設計選擇都有其「原因」。
預設值(在開始時用一行說明,可依要求更改)
- 品牌: 課程品牌(
references/brand-defaults.md:標題使用 Karantina 700,內文使用 Heebo 並設定 -0.04em 字距,程式碼使用 Consolas,顏色為白 / 黑 / 紫)。保留參考影片的佈局、動態和結構;將其字型和顏色替換為品牌色。使用者可以保留參考影片自身的外觀作為風格,或將自己的品牌放入~/.claude/style-lab/brand.md。 - 建構引擎: HyperFrames(HTML 轉影片)。如果未安裝:請參考
references/tools-and-fallbacks.md。 - 轉錄: 本機 faster-whisper;希伯來文使用本機 ivrit-ai 模型。僅在使用者同意且需付費的情況下才使用雲端(RunPod)。
- 圖片 / 3D: 可選,僅在節奏需要時使用,且僅在使用者同意付費時才使用。
- 格式: 9:16,1080x1920,30 fps,除非使用者另有說明。切勿假設字幕語言:需詢問使用者(或無字幕)。 先檢查已安裝的項目(ffmpeg、Python、faster-whisper、Node + HyperFrames、Blender、影像模型),並說明您將使用哪些工具。缺少工具會阻止其對應的步驟:說明缺少哪個工具以及如何安裝;切勿靜默跳過步驟,未經同意切勿下載。
您的風格(多個命名風格並存)
每種風格都有一個使用者選擇的名稱(可使用希伯來文)、一個拉丁文 slug、一行描述、自己的風格包以及自己的風格技能 style-<slug>。所有風格都列在一個註冊表 ~/.claude/style-lab/styles.json 中,並使用 scripts/styles.py 管理:
python scripts/styles.py list # 您可以選擇的風格
python scripts/styles.py add <slug> --name "<name>" --pack <project>/styles/<slug> --description "..."
python scripts/styles.py show <slug or name>
python scripts/styles.py set <slug> name="<new name>" status=ready aliases="..." theme=light
python scripts/styles.py check # 檢查每個包和技能是否仍然存在
狀態:training 在階段 A 期間,ready 在 A5 之後(只有準備就緒的風格才能提供編輯),archived 則隱藏風格。remove 僅刪除註冊表條目,絕不刪除檔案。每種風格還會記錄 fonts / colors(brand 或 reference)和 theme(dark、light 或 both;單個影片仍可以是「另一種主題」)。
目前是哪個階段?「new style / ליצור סגנון / ללמד סגנון」→ 階段 A。「edit / make a video / תערוך」→ 階段 B。「change / rename / improve style X」→ 使用 styles.py set,若要更改規則則編輯該風格的 STYLE.md 和技能。
檔案儲存位置
<project>/styles/<slug>/ 風格包
refs/ sources.md 參考影片(僅限本地研究副本,絕不對外發布)
analysis/ 每部影片的逐字稿、聯絡表、筆記
board/ board.json board.html thumbs/
library/<V01-A06 title>/ still.png strip.jpg clip.mp4 notes.md (+ index.json)
animations.json 分解結果(作為函式庫腳本的輸入)
STYLE.md 編號規則、標記、類別、動態、音效、審查規則
kit/ 可選的、已測試過的建構引擎元件
<project>/edits/<clip>/ 每次編輯一個資料夾
raw/ words.json edit_ready.mp4 edit_ready.words.json plan.json plan.html
build/ assets/ renders/ revisions.md SOURCES.md
~/.claude/skills/style-<slug>/SKILL.md 產生的風格技能
~/.claude/style-lab/styles.json 註冊表
腳本(本地、免費):styles.py、transcribe_words.py、transcribe_cloud_ivrit.py(付費,可選)、cut_silences.py、verify_cut.py、word_edges.py、build_reference_library.py。
頁面:assets/board-template.html、assets/plan-template.html、assets/review-template.html。
階段 A:訓練風格(建立風格包)
A1. 收集參考資料
- 詢問要如何命名風格並提供一行描述;立即註冊(
styles.py add ...,狀態設為training)。詢問要使用品牌外觀(預設)還是參考影片自身的外觀。 - 詢問參考資料的位置。影片: 使用者提供他們有權下載的檔案或連結;目標約 20 部此風格中剪輯最佳的作品;少於約 12 部會導致函式庫內容薄弱(請告知使用者,若使用者仍想繼續則繼續)。將它們命名為
V01.mp4 …,並在refs/sources.md中列出每一個。它們保留在本地:絕不發布、上傳或放入 artifact。 - 僅有描述(無影片):訪談使用者(感覺、基礎、類型、動態、字幕、音效、禁止事項),將每個形容詞轉換為數字,並收集一些他們喜歡的靜止畫面或螢幕截圖。跳過 A3-A4 的框架工作;風格板顯示標記、規則和草圖以取代參考框架,函式庫則從空開始,並從已批准的編輯中增長。
A2. 風格板(訓練中最重要的部分)
- 分析每部參考影片:使用 ffmpeg 每 0.5 秒擷取畫面(或使用已安裝的影片分析工具)、製作聯絡表、分析音訊響度。閱讀這些資料。
- 提出類別(字幕系統、佈局、B-roll 類型、圖形、轉場、CTA……);風格自身的類別優先。
references/example-style-3d-paper.md展示了一個完整的範例。 - 選取 100-150 張靈感畫面,製作成 9:16 的縮圖(約 360 像素寬)放入
board/thumbs/,並為每個類別選取一張主畫面進行註解。 - 填寫
board.json(架構請參閱references/board-and-plan-spec.md):標記(字型、從畫面中選取的十六進位顏色、紋理、形狀、尺寸、佈局),以及每個類別的圖塊、一張附有 3-5 個可衡量標註的註解畫面,以及針對四個「為什麼」問題(設計、顏色、效果、動畫)的草稿答案。 - 從
assets/board-template.html建立board.html(取代 JSON 區塊),並將其作為 artifact 發布,同時將縮圖作為支援檔案。使用者重寫「為什麼」的答案,然後按下 העתקת ההערות לבורד 將其貼回。 - 檢查點 1:停下並等待。 套用使用者的註解,重新發布。在使用者確認風格板正確之前,不要開始 A3;錯誤的風格板會訓練出錯誤的風格。
A3. 分解
針對每部參考影片:逐詞轉錄(transcribe_words.py,語言來自使用者或設為 auto),以及逐畫面檢查,找出每個動畫並記錄三件事:
- 放置位置: 哪些詞觸發動畫、觸發後多久發生、哪種類型的台詞對應哪種場景(宣告 vs 描述、數字、人物、故事、爆點);
- 設計: 背景、紋理、字型配對與大小、顏色、線條處理、插圖、位置;
- 邏輯: 持續時間(以畫面數計算)、距離、緩動函數、鏡頭移動。以畫面為單位進行測量;切勿猜測。
然後與風格板進行核對(風格板 = 是什麼與為什麼;影片 = 何時發生以及如何移動);詢問使用者他們在哪裡不同意。將每個動畫寫入
animations.json(V<nn>-A<n>、開始/結束、關鍵畫面、標題、類別、場景類型、詞語、備註)。一次處理一部影片,邊處理邊儲存;若有多部影片,則將工作分配給子 agent(每部影片一個,使用相同的架構)。
A4. 參考函式庫
python scripts/build_reference_library.py styles/<slug>/animations.json --out styles/<slug>/library
每個動畫都成為一個資料夾(靜止畫面、標籤畫面條、剪輯片段、備註),加上 index.json。打開一些畫面條,修正 animations.json 中錯誤的邊界,然後使用 --force 重新執行。
A5. 打包風格
從 references/style-skill-template.md 撰寫 STYLE.md 和風格技能:編號的、可衡量的規則(以便計畫或備註可以引用「規則 7」);將標記映射到品牌上(保留參考影片的尺寸、比例和色彩紀律;記錄其原始值);每個類別包含設計、動態、放置位置和 2-3 個函式庫參考;規劃模式;聲音設定檔;一個「思考方式」章節;一個空的「審查回合規則」章節。從 references/craft-rules.md 中的通用規則開始撰寫每個風格,只寫出不同的部分。建議:將重複出現的部分(字幕、標題、說話者佈局、CTA)建構成 kit/ 中一個已測試的元件套件。將技能儲存到 ~/.claude/skills/style-<slug>/SKILL.md,然後執行 styles.py set <slug> status=ready board_url=<board artifact URL>。告知使用者該風格的名稱,並說明在新的工作階段中將會列出該風格。
階段 B:以訓練好的風格編輯影片片段
使用可用的最強模型和最高努力。
B0. 選擇風格
styles.py list。如果使用者已指定,則使用該風格;否則詢問,並將準備就緒的風格作為選項(若只有一個準備就緒的風格:告知使用者將使用哪一個)。載入 style-<slug> 並將選擇寫入 plan.json,以便每輪都使用相同的風格。
B1. 轉錄與剪輯
transcribe_words.py raw.mp4 --out words.json(希伯來文:--language he --model <ivrit-ai folder>)。- 顯示低信心的詞語(名字、數字、品牌);在開始規劃前修正它們。
- 如果有多個 take,與使用者一起選擇(
--keep keep.json),然後執行cut_silences.py raw.mp4 --words words.json --out edit_ready.mp4 --pad-ms 120(只有在刻意追求明快風格時才使用 30 毫秒)。連接處會加入 15 毫秒的音訊淡入淡出。 - 不使用 VAD 重新收聽每個連接處(
transcribe_words.py edit_ready.mp4 --start .. --end .. --no-vad --no-context),檢查詞尾(word_edges.py --at <t>),然後執行verify_cut.py。隱藏的重複和截斷的結尾在此處被發現,而非由影片擁有者發現。 此步驟之後的所有操作都使用edit_ready.mp4和edit_ready.words.json。
B2. 編輯計畫(自動顯示)
將腳本分割成節拍(每個節拍一個想法或一行台詞)。對於每個節拍,從風格的函式庫中選取三個設計,按照參考影片放置它們的方式進行放置,並標記其中一個為 ההמלצה שלי。每個選項包含:標題、類別、場景類型(פנים + כתוביות / שכבה מעל הפנים / סצנה מלאה)、具體描述、Ref V##-A##;每個節拍包含:為什麼它適合(引用參考影片和規則編號)以及一個鏡頭備註。使用 references/craft-rules.md §1(隱喻、真實事物在運作、將不可見變為可見、動作的參考、絕不重複)中的五個問題來設計每個節拍。從 assets/plan-template.html 建立 plan.html,發布時附上一個 540p 的代理影片作為 clip.mp4,並將選項的靜止畫面作為 thumbs/。
B3. 檢查點 2:人類規劃
使用者為每個節拍選擇一個設計或自行撰寫,然後按下 העתקת התוכנית 並將結果貼回。將規劃模式作為建議提供:以說話者作為開場;鉤子是一個強而有力的節拍;在臉部進行宣告,用視覺進行描述;人物 → 標註;故事 → B-roll;平衡場景類型。如果使用者給予完全控制權("אתה מחליט"),則自行選擇並告知使用者。
B4. 建構
- 對於每個被選中的設計,打開其函式庫資料夾,並寫下要複製的確切設計。
- 資產清單,每個項目包含來源(真實的 UI、官方標誌、工具製造商自己的展示片段、使用者的檔案、授權音樂/SFX、可選的生成圖像或 3D);顯示該清單;在下載前詢問。將每個來源記錄在
SOURCES.md中。 - 使用 HyperFrames(先載入其技能)或備用引擎進行建構:一個 1080x1920 的合成,以
edit_ready.mp4作為說話者音軌;套用風格標記;優先使用風格的套件。順序:先從詞語檔案為整個影片製作字幕,然後按計畫順序處理每個節拍。先建構 2 個節拍,拍攝快照,與風格的參考畫面進行比較,進行調整,然後再建構其餘部分。遵循references/craft-rules.md並檢查references/pitfalls.md。 - 驗證(0 錯誤),每 0.5 秒拍攝一次快照(在密集的節拍和 CTA 處每 0.2 秒拍攝一次),閱讀每個快照,修正。然後渲染一個草稿(低品質,包含音樂)並打開審查頁面。清楚地說明初稿大約完成了 60-70%。
B5. 審查回合
遵循 references/ 中的審查規則。