一鍵短影片(端到端編排)
輸入一個主題,自動產出一條短影片。本 SKILL 是編排層:把既有製作零件串成流水線—— 文案(video-script) → 逐句配圖(ai-image-gen)或片段(ai-video-gen) → 配音(tts-voiceover) → 字幕(auto-subtitle) → BGM(ai-music) → 合成(scripts/assemble.py)。 沉澱自 Pixelle-Video / MoneyPrinterTurbo 的自動短影片引擎思路。
輸入
- 主題 / 文案(必填)
- 可選:目標時長、風格、是否要配音/字幕/BGM、配圖用 AI 生圖還是使用者素材
- 畫幅確認硬門:使用者或上游任務未明確橫版/豎版(或 16:9/9:16/具體解析度)時,製作/付費調用前必須追問並等確認;不得從平台、Profile 或預設值靜默推斷,已明確則不重複問
輸出
成品短影片寫入 outputs/主題名/final.mp4;分鏡圖、配音、字幕和 storyboard 寫入 outputs/主題名/assets/。
執行步驟(按需裁剪,缺 API key 的環節自動降級或詢問)
-
寫腳本分鏡:用 video-script 把主題寫成口播文案,拆成 N 句(每句一個分鏡),每句配一個畫面描述。
-
生成畫面(每個分鏡一張圖/一段片):
- 有圖像 API key → ai-image-gen 逐句 text2img(按已確認畫幅)
- 要動態 → ai-video-gen text2video/image2video
- 使用者自帶素材 → 用 image-editing
pad到已確認畫幅 - 都沒有 → 按已確認畫幅選圖卡(豎版用 card-xiaohongshu/poster-hero,橫版用 card-quote)再 pad,避免畫幅錯配。
-
配音:tts-voiceover 把文案合成口播(同時出 SRT)。配了
VOICE_PROVIDER預設走閉源好嗓子(有情感、像真人),沒 key 才退 edge(機械)——想要口播不『生硬』務必配閉源 key。不需要配音才跳過。 -
字幕:用 TTS 附帶的 SRT,或對配音跑 auto-subtitle;也可讓 assemble 用各分鏡 caption 自動生成。
-
BGM:ai-music 生成,或用使用者提供的音樂。可選。
-
合成成片:把上面的素材寫成 storyboard JSON,調合成器:
python skills/openclaw/auto-short-video/scripts/assemble.py assemble \ --storyboard outputs/主題名/assets/storyboard.json \ -o outputs/主題名/final.mp4storyboard 結構(圖/片二選一,narration/bgm/subtitle 可選,缺 duration 時按配音均分):
{ "size": "<已確認尺寸,如1080x1920或1920x1080>", "image_motion": "ken-burns", "shots": [ {"image": "outputs/主題名/assets/shot1.png", "duration": 3, "caption": "第一句", "motion": "static"}, {"video": "outputs/主題名/assets/clip2.mp4", "caption": "第二句"} ], "narration": "outputs/主題名/assets/voice.mp3", "bgm": "outputs/主題名/assets/bgm.mp3", "subtitle": "outputs/主題名/assets/voice.srt" }image_motion設整條圖片預設運動,單鏡motion可覆寫:照片用ken-burns,含文字的 slide/圖表/介面必須用static(等比縮放 + 補邊,不裁切、不平移)。 合成器自動做:按image_motion生成靜幀或 Ken Burns、補邊到畫幅、拼接、配音+BGM 混音(BGM 自動壓低)、燒錄字幕。 -
交付:產出 final.mp4,附一句製作說明(用了哪些環節、哪些降級了)。
編排原則
- 零件可缺:缺圖像/影片/TTS API key 的環節自動降級(圖卡兜底 / 跳過配音),不阻斷整體,並如實告知使用者降級了什麼。
- 先出 Plan:涉及多個付費 API(生圖/生影片/生樂)時,先向使用者說明將調用哪些、大致耗時/花費,確認後再跑。
- 中間產物留檔:分鏡圖、配音、字幕和 storyboard 都寫進
outputs/主題名/assets/,方便單獨替換後重新合成。
Profile 感知
- 有 Profile:從
style.md取調性/視覺風格貫穿文案與配圖 prompt;platforms.md只用於給出畫幅/時長建議,畫幅仍須確認;preferences.md紅線過濾。 - 無 Profile:先確認橫版/豎版,再用通用口播風格。