Communitygithub.com

finance-video-script

撰寫、驗證與設計印尼語個人理財 faceless 影片腳本(語音旁白 + 全螢幕畫面),支援三種格式:A(角色故事)、B(編號步驟指南)、S(30-60 秒 Shorts/TikTok)。提供節拍表、逐節拍場景寫作、自動腳本檢查、頁面映射與匯出。

finance-video-script 是什麼?

這個 AI Agent 技能專為撰寫印尼語個人理財 faceless 影片腳本而設計。它涵蓋完整的製作流程:從收集創作簡報、建立專案、生成節拍表,到逐節拍撰寫場景 JSON、執行腳本檢查(包含結構、數字計算、無來源的主張、免責聲明以及與參考資料的相似度),最後自動映射視覺頁面並匯出成 Markdown 腳本、prompts.json 和 SRT 字幕。此技能適用於 Claude Code 或類似支援 CLI 的 AI 代理,透過 `vengine_cli.py` 腳本管理專案。其主要優勢在於強制遵循嚴格的寫作規則:所有數字必須手動計算、不得使用無來源的統計數據、不得直接抄襲參考影片,並且在格式 A(虛構故事)中必須標明「故事插圖」。支援六種視覺風格(如粘土動畫、扁平向量、3D 皮克斯等),可從簡單腳本一路生成到包含 TTS 語音、全螢幕 AI 圖像與 Ken Burns 動畫效果的完整 MP4 影片。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ferliand/finance-video-skill/tree/HEAD/skills/finance-video-script

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Finance Video Script

代理(你)負責撰寫腳本。腳本 scripts/vengine_cli.py 負責建立節拍框架、接收逐節拍的場景,並根據風格指南執行檢查。

涵蓋範圍

  • 包含:創作簡報(含視覺 style 選擇)→ 節拍表 → 逐節拍腳本(scenes.json)→ 檢查 → 視覺頁面映射(map-pages)→ 匯出(naskah.md、prompts.json、naskah.srt)→ 生成 全螢幕 AI 圖像資產(generate-images)→ 渲染完整的電影級 MP4 影片,附帶印尼語 TTS(render)。
  • 不包含:自動上傳到平台。

準備事項

  • Python 3.10+ 並執行 pip install pydantic pyyaml pillow edge-tts imageio-ffmpeg,或透過 uv run 執行(自動處理依賴)。
  • <skill-dir> = 存放此 SKILL.md 的資料夾。所有指令: python <skill-dir>/scripts/vengine_cli.py <指令> ...(在 Windows 上可使用 py 取代 python)。
  • 請在使用者的工作目錄中執行,而非在技能資料夾內。專案儲存在 ./video-projects/<slug>/ 中(可使用 --home DIR 或 VENGINE_HOME 環境變數更改)。

工作流程

  1. 收集創作簡報。 詢問不清楚的部分:主題、格式(A = 故事、B = 步驟指南、S = 30–60 秒短格式)、時長、視覺 style(預設:claymation、flat-vector、3d-pixar、anime-ghibli、cinematic-realistic、watercolor、comic-book、dark-moody,或自訂描述)、目標觀眾、關鍵數字,以及僅對格式 A 的角色(主角、對比角色、配角)。也詢問留言/訂閱呼籲以及可提及的金融工具。不要憑空捏造關鍵數字;數字必須來自使用者,或由你撰寫公式計算得出。
  2. 在撰寫任何內容之前,先閱讀 references/panduan-naskah.md。 那是風格、技巧以及數字/宣稱規則的權威來源。
  3. 建立專案。 執行 init <slug> --topic "..." --format A|B|S --minutes N --style <style>,與使用者一起填寫 brief.yaml,然後執行 build <slug>(建立故事聖經和節拍表)。
  4. 逐節拍撰寫(重複直到所有節拍完成):
    1. 執行 beat <slug> 顯示下一個節拍的任務:簡報、角色、前三個場景、內容要點、目標字數/場景以及標籤要求。
    2. 將場景 JSON 寫入 video-projects/<slug>/draft/<beat>.json。為每個場景填入英文的 image_prompt(因為所有場景都以全螢幕渲染)。
    3. 執行 add <slug> --beat <id> --file video-projects/<slug>/draft/<id>.json。
    4. 如果有錯誤,節拍不會被儲存。根據錯誤訊息修正 JSON 後再次執行 add。如果節拍在儲存後需要重寫,加上 --replace。除非使用者要求,否則不要使用 --force。
  5. 檢查。 執行 status <slug> 查看進度,lint <slug> 進行完整檢查。錯誤必須為零才能將腳本標記為最終版;警告則需與使用者一起閱讀並決定處理方式。
  6. 映射視覺頁面。 執行 map-pages <slug> 以自動按照 references/design-video.md 目錄映射 page_type 和 props。
  7. 匯出。 執行 export <slug> 產生:
    • video-projects/<slug>/out/naskah.md(按幕編排的規範腳本)
    • video-projects/<slug>/out/prompts.json(準備生成的所有場景全螢幕插圖提示,包含角色與風格)
    • video-projects/<slug>/out/naskah.srt(附時間戳的字幕)
  8. 生成全螢幕 AI 圖像資產。 執行 generate-images <slug>(可加 --style <style>、--scene <編號> 以重新生成單一場景,或 --force 覆蓋所有)來下載全螢幕 AI 圖像(Pollinations Flux)到 video-projects/<slug>/out/images/scene_XXX.png。
  9. 渲染 MP4 影片(可選/按需求)。 執行 render <slug>(可加 --voice id-ID-ArdiNeural 或 id-ID-GadisNeural,以及 --fps 12 用於 claymation 風格的定格動畫)來組合全螢幕背景圖片(含定格動畫/Ken Burns 效果、暈影、數字/重點句的玻璃形態疊加層、以及卡拉 OK 字幕)、印尼語語音旁白,產生 video-projects/<slug>/out/video.mp4。

場景 JSON 格式

{"scenes": [
  {"narration": "策略一:錢必須在一開始就分開。",
   "tags": ["SECTION"], "image_prompt": "clean modern workspace with warm morning sunlight beams", "characters": [], "mood": "warm", "notes": ""},
  {"narration": "如果你每天存兩萬印尼盾,一個月就能累積六十萬印尼盾。",
   "tags": ["CALC"], "image_prompt": "neatly stacked glass savings jars with glowing coins on wooden desk",
   "motion_prompt": "Stop-motion claymation, slow subtle push-in camera, soft ambient light flicker", "characters": [], "mood": "neutral",
   "notes": "20.000 x 30 = 600.000"}
]}
  • narration:準備好朗讀,15–35 個字。PUNCH 和 SECTION 場景最多 14 個字且應獨立成句。
  • tags:PUNCH、BRIDGE、SECTION、CTA、NUMBER、CALC。每個節拍的標籤要求來自 beat 的任務。
  • image_prompt:英文,圖中不應包含文字或數字;建議每個場景都填寫,以確保全螢幕背景符合上下文(若為 null,引擎會自動合成背景提示)。
  • end_image_prompt(可選):英文,用於場景有物件/光線變化轉場時的結束幀(例如按下燈開關從暗到亮;使用相同種子生成)。
  • motion_prompt(可選):每個場景的動態指令(例如 zoom_flicker、bobbing、switch_light 用於定格黏土動畫)。
  • characters:故事聖經中的角色 ID(例如 主角),而非名稱。
  • mood:tense、neutral、warm、uplift、melancholy。
  • notes:對於 CALC/NUMBER 場景,必須包含公式 A x B = C;同時寫明宣稱的來源。

不可違反的規則

  • 原創撰寫。不得複製或改寫參考影片或轉錄稿;僅可使用其結構和技巧。
  • 所有數字必須重新計算。通往目標數字的時間線必須明確且誠實。
  • 不得使用無來源的統計數據(「90% 的人...」),不得承諾結果。金融工具僅作為範例,且必須附帶免責聲明。
  • 虛構內容(格式 A)必須標示為「故事插圖」。
  • 不要手動修改 beats.json 或 scenes.json;請使用 add 指令,以確保驗證和場景重新編號正常運作。

問題排除

  • 模組 'pydantic' 未安裝 → 執行 pip install pydantic pyyaml 或使用 uv run。
  • 專案 ... 未找到 → 檢查工作目錄;專案位於執行指令的資料夾下的 ./video-projects/,或 --home 指定的位置。
  • 檢查 mirip_referensi → 將參考轉錄稿作為 .txt 檔案放在 ./references/ 中(或使用 --refs DIR);用你自己的話改寫被報告的部分。
  • 檢查 total_kata → 在偏離目標過多的節拍中增加或減少場景(參考 status),然後執行 add --replace。

相關技能