ink_history_video 是給 Claude Code 等 AI Agent 使用的 Skill。對 Agent 說「製作水墨歷史短片」並給它一個主題,它會照固定流程完成一支宣紙底色、墨色濃淡、只點綴少量朱紅的歷史或文化短片。
✍️代寫旁白稿與分鏡
先查證史實再寫稿,用表格列出每一幕的畫面、題字、印章與配樂情緒,確認後才開始製作。
🎙️Gemini TTS 逐句配音
一句一句生成旁白;免費額度用完會自動改用其他 TTS 模型,並回報每句用了哪個模型。
🔇自動清理旁白
清除 TTS 開頭和結尾的雜訊突波、壓短過長停頓、統一音量,並依每句實際長度排出每幕時間與字幕。
🖌️程式繪製水墨畫面
山巒皴紋、霧氣、海浪、墨暈出場與換場、直書題字、朱紅印章,都由 Python 程式一格一格畫出來。
🎵五聲音階配樂
程式合成古琴、古箏感的撥弦與低沉長音,高潮加低鼓、哀傷轉稀疏,旁白出現時自動壓低。
🎬初版快、確定版精
初版用單次快速壓縮方便修改;說「確定版」後才做兩階段壓縮,把 1080p 影片控制在 20MB 內。
這個 Skill 的流程與程式範本,就是製作這支 3 分 45 秒短片時整理出來的。
徒步南下:山巒皴紋、霧氣與隊伍
片尾:直書題字、生卒年與印章
📋1. 收件主題・聲音・規格
🛑2. 旁白稿與分鏡等你確認
🎙️3. 逐句配音Gemini TTS
🎵4. 時間軸與配樂去爆音・壓低
🖼️5. 畫面與截圖每幕先檢查
⚡6. 初版輸出快速壓縮
🔁7. 依回饋修改局部重算
🛑8. 確定版兩階段壓縮
Skill 也內建這次累積的 18 條檢查規則,例如:直書文字每個字固定起點才會排成一直線、船頭與神轎要朝向行進方向、封面截圖要避開墨暈轉場、交付時誠實說明 AI 聽不到聲音、需要你試聽確認。
需要的環境
| 項目 | 說明 |
| AI Agent | 支援 Skill 的 Agent,例如 Claude Code |
| Python 3 | 需安裝 numpy、pillow、scipy、google-genai |
| ffmpeg | 負責影片壓縮與輸出 |
| 標楷體 | 範本讀取 Windows 的 C:/Windows/Fonts/kaiu.ttf;其他系統需改成可用的楷體字型 |
| Gemini API 金鑰 | 用於 TTS 配音;只在對話中提供,執行時以環境變數傳入,不寫進任何檔案 |
三步驟開始
- 下載並解壓縮:把 zip 裡的
ink_history_video 資料夾放到 ~/.claude/skills/(Windows 為 C:\Users\你的帳號\.claude\skills\)。
- 安裝套件:在終端機執行下方指令。
- 開新對話說出關鍵字:例如「製作水墨歷史短片:主題是○○的由來」,Agent 就會照流程先給你旁白稿與分鏡。
pip install numpy pillow scipy google-genai
觸發關鍵字:製作水墨動畫水墨短片水墨歷史短片製作歷史短片
| 檔案 | 用途 |
SKILL.md | 觸發關鍵字、標準流程與不可違反的規則 |
references/lessons.md | 渲染原理(墨/朱紅雙通道合成)、共用繪圖元件與 18 條檢查規則 |
references/script_example.json | 旁白稿與分鏡的資料格式範例(白沙屯) |
scripts/tts.py | 逐句配音,多模型自動備援,可單句重做 |
scripts/build.py | 旁白處理、時間軸、配樂、水墨渲染,以及初版/確定版輸出 |
⚠️ build.py 裡各幕的畫面是白沙屯專屬範例,換主題時 Agent 會依新分鏡改寫;山、浪、人物、題字、印章等共用元件可以直接沿用。
可以做水墨以外的畫風嗎?
這個 Skill 限定水墨風:宣紙底色、墨色濃淡,朱紅只用在火光、太陽、梅花、印章與香火紅點。
一定要用 Gemini TTS 嗎?會不會收費?
範本使用 Gemini TTS。免費方案每個 TTS 模型每天約可呼叫 10 次,一支 3 分鐘短片約 25~30 句,額度用完時會自動改用其他 TTS 模型,但音色可能略有不同;需要統一音色時可等額度重置或使用付費金鑰。
做一支 3 分鐘的短片要多久?
以白沙屯短片為例:旁白生成約 20 分鐘;8 核心 CPU 渲染約 3~4 分鐘;確定版兩階段壓縮約 10 分鐘,初版快速壓縮只需 1~2 分鐘。實際時間會隨電腦效能與片長而不同。
畫面裡的人物圖是怎麼來的?
大部分畫面由程式繪製。需要細緻的人物或神像時,可以用 AI 生成透明背景的水墨風圖片,程式會把它拆成墨色與朱紅兩層融進畫面。