數位人類影片 · 智能體技能
目標
接收一個主題或準備好的文案,產出一條豎屏 AI 數位人口播影片:腳本 -> MiniMax TTS -> HeyGen 數位人口型 -> FFmpeg 加字幕、標題、AI 標識、可選畫中畫/BGM -> MP4 + 發布文案。第一次只建立個人數位人 Look ID 和複製聲線 Voice ID,以後重複調用,不重複創建。提供 15 秒有成本的 HeyGen 預覽;預設需要用戶看過預覽才生產完整版。經用戶明確選擇自動批准,才連跑兩段。
安裝和檢查
- Skill 放到
~/.codex/skills/digital-human-video或~/.claude/skills/digital-human-video,確保SKILL.md在資料夾根目錄。 - Python 3.10+、
pip install -r requirements.txt、系統安裝ffmpeg/ffprobe(含libass和 H.264 encoder),中文字型可用時效果最佳。 - 複製
.env.example為.env,透過本地安全方式設定 Key;不要求用戶把 Key、本人照片/聲音貼在聊天中。永遠不要把.env納入 Git。 - 先執行:
python scripts/dhv.py doctor,再python scripts/dhv.py run --topic '...' --out ./outputs/example --dry-run。
操作流程(按順序)
- 確認許可和素材。 僅接受本人或擁有充分授權的真人人像/聲音,禁止未經同意複刻、冒充或誤導觀眾。對真人照片/影片及音訊分別核查授權;AI 合成影片保留明確標識。音樂、畫中畫素材必須有許可。
- 一次性建檔。 人聲樣本 30-60 秒乾淨錄音最佳(MiniMax 官方接受 10 秒到 5 分鐘,≤20MB,mp3/m4a/wav)。影片/照片在 HeyGen v3 上傳建 Avatar;照片建議正面高清,影片訓練可能涉及獨立的真人 consent/verification,必須完成,且訓練非同步。用
avatars查詢已訓練完成的 Look ID。提供MINIMAX_VOICE_ID、HEYGEN_AVATAR_ID給後續流水線。 - 先寫口播稿。 用戶沒給正文則 LLM 自動寫 3 秒鉤子 → 2~3 個論點 → 總結,明確受眾、平台和預計秒數。不能捏造不可驗證數據。編排/剪輯創意可以由 Claude Opus 5.5 處理,也可由 Codex 處理;模型負責腳本和排程,實際媒體處理由 FFmpeg 執行。
- 預覽。
run --mode preview:優先複用state.json和script.txt;對前約 55 字(近似 15 秒)合成音訊、驅動數位人,產出preview_final.mp4。不同語速時預覽秒數不保證嚴格為 15。 - 導演/剪輯方案。 如當前 Agent 為 Claude Opus 5.5 或可以委派給 Opus,將
script.txt、主題、品牌和素材清單交給它,讓它輸出edit-plan.json,嚴格符合examples/edit-plan.json的 JSON 鍵:headline、brand、key_points[{text,start,end}]、pip_start/end、subtitle_font_size、music_volume(0~0.3)。開始/結束時間必須在成片長度範圍內。--edit-plan讓 FFmpeg 執行重點文字卡片動畫/畫中畫時間軸、字幕樣式和 BGM 音量;沒有 Opus 時由 Codex/當前 Agent 生成同樣 JSON。模型只負責決策,不假裝自行渲染影片。 - 審查並執行。 用戶檢查口型、清晰度、版權、字幕、真實感。通過後
run --mode full --approve;已獲授權且明確選擇無人工審片時run --mode full --auto-approve自動生產兩段。不要未經授權直接發到社交平台。 - 校驗交付。 檢查
full_final.mp4時長、音畫、字幕、標題遮擋、音樂音量、AI 合成標識,並交付publish.md。對外發布前要求檢查事實與平台 AIGC 規則。
CLI 使用(在 Skill 根目錄)
# 初始化:自己的肖像及音訊,已知合法授權才允許使用 consent flag
python scripts/dhv.py avatar --file ./myself.mp4 --kind digital_twin --name 'My Presenter' --i-own-the-likeness
python scripts/dhv.py avatars # 訓練可能需要等待、補官方驗證
python scripts/dhv.py clone --file ./myvoice.wav --voice-id MyBrandVoice2026 --i-own-the-voice
# 預覽:預設由 MiniMax 文本模型寫稿;也可傳 --script-file bypass LLM
python scripts/dhv.py run --topic 'AI如何幫助企業減少重複流程' --out ./outputs/ai-workflow --mode preview --edit-plan ./examples/edit-plan.json
# 用戶審查通過後才跑全片
python scripts/dhv.py run --topic 'AI如何幫助企業減少重複流程' --out ./outputs/ai-workflow --mode full --approve
# 明確同意無人值守時,一條命令預覽 + 成片(API 影片調用按兩段分別計費)
python scripts/dhv.py run --topic '一分鐘講明白數位人' --out ./outputs/demo --mode full --auto-approve
# 可選素材
python scripts/dhv.py run --script-file ./script.txt --out ./outputs/manual --mode preview --music ./licensed-bgm.mp3 --broll ./owned-broll.mp4
Agent 的執行準則
- 不得將
--dry-run、單元測試通過描述為「HeyGen/MiniMax 真實跑通」。沒有有效付費 Key 和授權素材只能驗證離線渲染/請求格式。 - API 非同步調用超時,應展示
state.json中的video_id並複用,不要直接重建引發二次計費。 - 語音複製需 MiniMax 實名認證,若
voice_id7 天內未用於正式 TTS 可能失效;優先嘗試現有音色,不靜默重複製。 - 平台字幕檔案可能並非逐字精確;若未返回可用 SRT,工具會生成估時字幕並在
state.json標註approximate。交付前需複查,追求逐字精確建議額外接 ASR 對齊。 - 遇到影片大小/訓練政策/認證/額度限制,應報告具體錯誤,而不是聲稱已經全自動完成。
- 不會自動登入或向抖音、快手、影片號、小紅書、B站等直接發布,因為未接入各平台授權 API;只生成
publish.md待審核發布。 - 避免把 API Key、錄製原件、相似音色和原始生成資產提交公開代碼庫。
參照
- API 介面與地區配置詳見
references/api.md。 - 交付與排錯詳見
README.md。