reelsmith 是做什麼的?
影片完全以程式碼從一份規格建構:腳本 → 計畫 → 核准 → 模板渲染 → 審查 → 匯出。
所有功能皆可離線免費使用;選用金鑰可解鎖更多功能。以下路徑(scripts/、templates/、references/)均相對於 Reelsmith 資料夾:位於此檔案旁,或在 Grok Bot 環境中為 /workspace/reelsmith/。
開始每次任務
python3 scripts/capabilities.py- 顯示哪些功能已開啟/關閉(絕不顯示金鑰)。簡要提及哪個免費金鑰可能有幫助(例如 Pexels 用於素材影片),但從不強制要求。- 收集:目標、受眾、平台、長度、品牌(
brand.json;若無,請參考references/brand-kit.md建立)、素材、音樂偏好、是否需要語音。僅詢問不明確的部分。 - 選擇模板(如下)或自訂建構。
路由任務
| 任務 | 使用 | 參考資料 |
|---|---|---|
| 產品發表影片、功能宣傳、推廣 | 模板 product-launch(音樂主導) | templates.md, music.md |
| 從照片製作活動精華 | event-recap | templates.md, stock-media.md |
| 客戶引言 / 評論 | testimonial | templates.md |
| 預告、「即將推出」、日期揭曉(可循環) | countdown-teaser | templates.md |
| 數據、報告亮點、里程碑 | stat-callout | templates.md |
| 演講/攤位/資訊站循環、動畫簡報 | slides-presentation(--loop) | templates.md |
| 教學、逐步引導、入門(含 YouTube 章節) | howto-tutorial | templates.md, youtube-publishing.md |
| 含字幕的旁白產品介紹 | feature-explainer(Remotion;render.sh) | remotion.md |
| 自訂動態片段、疊加、透明背景、GIF | 手動 HyperFrames | hyperframes.md, motion-design.md |
| 圖表/數學、Lottie、剪輯使用者素材、轉錄 | Manim, Lottie, auto-editor, parakeet | helpers.md |
| 腳本或旁白台詞 | 2-3 個選項 + script_lint.py | scriptwriting.md, voiceover.md |
| 字幕(SRT/VTT/ASS、燒錄) | captions.py | captions.md |
| 平台規格、安全區域、交付檔案 | export.py, presets.json | platform-specs.md, loudness-accessibility.md |
| AI 補充畫面、圖片、虛擬主播、AI 音樂(付費) | Fal / Higgsfield,先報價 | ai-generation.md |
授權:HyperFrames 為 Apache-2.0。Remotion 對個人及 3 人以下團隊免費;4 人以上公司需取得授權(若為商業用途,詢問一次)。音樂、素材、字型:皆已授權並標註出處(stock.py credit, credits.json)。
工作流程
- 腳本: 撰寫 2-3 個選項(開頭 3 秒內吸引注意,每個場景一個想法,結尾行動呼籲),約 2.5 字/秒;進行 lint 檢查。
- 計畫:
reelsmith.py sample TEMPLATE > content.json,填入內容,然後執行reelsmith.py render --template T --content content.json --brand brand.json --out OUT --dry-run。顯示分鏡表(場景、文字、旁白、秒數)、音樂 + 授權、語音(免費或已報價)、長寬比。 - 核准(務必執行) 在長時間渲染及任何付費生成之前。
- 草稿:
reelsmith.py render … --aspect 16x9,9x16,1x1 --music track.mp3|synth --vo auto --draft。 - 審查關卡:
review.py check VIDEO --out OUT/_review --preset P --job OUT/job.json;檢視 scenes.jpg、safe.jpg、phone.jpg;修正問題;傳送預覽;經使用者同意後,執行review.py approve。 - 最終版 + 匯出: 不使用
--draft渲染,然後執行export.py run VIDEO --preset reels,tiktok,youtube --review OUT/_review --out OUT/delivery(若未經核准則拒絕執行)。YouTube:youtube_prep.py(絕不自動上傳)。 - 交付: 附加檔案,每行列出(長寬比、長度、LUFS)、出處、AI 揭露;提供重新剪輯選項。
腳本(scripts/)
capabilities.py 功能開啟/關閉 | brand.py 驗證、打包、從標誌建立、從網站建立 | reelsmith.py 列出、範例、渲染、循環、接合 | script_lint.py | beats.py 網格、對齊、適配、合成 | stock.py 搜尋、擷取、標註出處(僅限 API 金鑰,--dry-run) | captions.py 建立/燒錄 | review.py 檢查、核准、狀態 | export.py 執行、疊加、列出、響度標準化 | youtube_prep.py | presets.json。
HyperFrames 設定與固定:references/hyperframes.md。Kokoro 需要 HYPERFRAMES_PYTHON=<venv>/bin/python。
規則
- 金鑰僅透過平台秘密提示以環境變數傳入;絕不顯示、記錄或寫入。設定
REELSMITH_IGNORE_KEYS=1可強制使用免費路徑。 - 付費語音/AI 僅在指定名稱、加上
--allow-paid參數、金鑰存在且使用者已核准報價時才能使用。使用者拒絕後即為最終決定。 - 素材僅透過官方 API 並使用金鑰取得;絕不進行爬取或直接連結;務必保留出處資訊。
- 真實引述、標誌與人物影像須經許可;虛擬主播與語音克隆需取得同意;揭露 AI 使用。
- 所有含語音的影片皆需加上字幕;文字須位於安全區域內;閃爍頻率不超過每秒 3 次;響度為 -14 LUFS,最大值不超過 -1 dBTP。
- Remotion 最終版:
export.py loudnorm(它不會自動正規化)。 - 絕不自動發布或上傳;僅為使用者準備好檔案。
故障排除
記憶體不足:--workers 2(HyperFrames)/ --concurrency=2(Remotion)。Chrome 問題:$HF doctor / npx remotion browser ensure。HyperFrames 空白畫面:時間軸未暫停/註冊,或素材路徑錯誤。無 librosa:節拍功能會回退至固定 BPM(傳入 --bpm)。無 Kokoro:使用 espeak-ng。401 錯誤:請使用者重新透過秘密提示提供金鑰。
需要詢問使用者的時機
計畫核准(務必);腳本選擇;語音選項;不明確的平台、長度、品牌或音樂;任何付費生成(附報價);使用人物臉孔或聲音的同意;最終審查核准;若為商業用途,Remotion 的使用人數。