Communitygithub.com

ZJU-REAL/Easel

將一句話主題自動轉換為成品短影片:串聯文案→配圖/AI影片→配音→字幕→BGM→合成,把Easel製作層零件編排成一條『一鍵出片』流水線。**單條影片、口播/資訊向,畫面預設逐句配圖 + Ken Burns 緩動,需要動態時才逐段圖生影片**。當使用者說一鍵生成影片、自動做短影片、主題生成影片、幫我做條影片、口播影片一條龍、自動出片、短影片一鍵生成時使用。**有劇情/角色/對白/反轉/多集的短劇改用 short-drama(每鏡強制圖生影片、不用靜態圖冒充);只寫腳本用 video-script;只生成單個片段用 ai-video-gen。**

Easel 是什麼?

Easel 是一個專為短影片創作設計的 AI 編排技能,能夠將使用者輸入的主題或文案自動轉化為完整的成品短影片。它串聯了多個 AI 製作零件,包括文案生成、配圖與 AI 影片生成、語音配音、字幕製作、背景音樂以及最終合成,形成一條『一鍵出片』的自動化流水線。該技能支援單條口播或資訊類影片,預設採用逐句配圖搭配 Ken Burns 緩動效果,僅在需要動態場景時才逐段使用圖生影片。Easel 適用於 Cursor、Claude Code 等支援 SKILL.md 的 AI 代理平台,使用者只需提供一個簡單的主題或文案,即可獲得存入 outputs/主題名/final.mp4 的成品影片。其設計遵循零件可缺、先出計畫的原則,依 API 金鑰可用性自動降級,例如無圖像 API 時會用圖卡兜底,確保流程不中斷。此外,它會感知使用者 Profile 中的風格偏好,並強制要求確認影片畫幅(橫版/豎版),避免靜默推斷,從而提供更符合需求的輸出。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ZJU-REAL/Easel/tree/HEAD/skills/openclaw/auto-short-video

在你喜歡的 AI 中提問

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

說明文件

一鍵短影片(端到端編排)

輸入一個主題,自動產出一條短影片。本 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 的環節自動降級或詢問)

  1. 寫腳本分鏡:用 video-script 把主題寫成口播文案,拆成 N 句(每句一個分鏡),每句配一個畫面描述。

  2. 生成畫面(每個分鏡一張圖/一段片):

    • 有圖像 API key → ai-image-gen 逐句 text2img(按已確認畫幅)
    • 要動態 → ai-video-gen text2video/image2video
    • 使用者自帶素材 → 用 image-editing pad 到已確認畫幅
    • 都沒有 → 按已確認畫幅選圖卡(豎版用 card-xiaohongshu/poster-hero,橫版用 card-quote)再 pad,避免畫幅錯配。
  3. 配音:tts-voiceover 把文案合成口播(同時出 SRT)。配了 VOICE_PROVIDER 預設走閉源好嗓子(有情感、像真人),沒 key 才退 edge(機械)——想要口播不『生硬』務必配閉源 key。不需要配音才跳過。

  4. 字幕:用 TTS 附帶的 SRT,或對配音跑 auto-subtitle;也可讓 assemble 用各分鏡 caption 自動生成。

  5. BGM:ai-music 生成,或用使用者提供的音樂。可選。

  6. 合成成片:把上面的素材寫成 storyboard JSON,調合成器:

    python skills/openclaw/auto-short-video/scripts/assemble.py assemble \
      --storyboard outputs/主題名/assets/storyboard.json \
      -o outputs/主題名/final.mp4
    

    storyboard 結構(圖/片二選一,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 自動壓低)、燒錄字幕。

  7. 交付:產出 final.mp4,附一句製作說明(用了哪些環節、哪些降級了)。

編排原則

  • 零件可缺:缺圖像/影片/TTS API key 的環節自動降級(圖卡兜底 / 跳過配音),不阻斷整體,並如實告知使用者降級了什麼。
  • 先出 Plan:涉及多個付費 API(生圖/生影片/生樂)時,先向使用者說明將調用哪些、大致耗時/花費,確認後再跑。
  • 中間產物留檔:分鏡圖、配音、字幕和 storyboard 都寫進 outputs/主題名/assets/,方便單獨替換後重新合成。

Profile 感知

  • 有 Profile:從 style.md 取調性/視覺風格貫穿文案與配圖 prompt;platforms.md 只用於給出畫幅/時長建議,畫幅仍須確認;preferences.md 紅線過濾。
  • 無 Profile:先確認橫版/豎版,再用通用口播風格。

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

ZJU-REAL/Easel

AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI 兼容)异步生成视频,用户自备 API key。当用户说 AI 视频生成、文生视频、图生视频、AI 生成视频、AI 短视频、让图片动起来、数字人视频、生成一段视频 时使用。与 video-strategy(选型/策略)、video-editing(剪辑处理)、clipify(切片)区别:本 SKILL 是从 0 用 AI 生成新视频。

ZJU-REAL/Easel

通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成 mp3”“调音量/响度”“提取音轨/扒音频”“拼接音频”“淡入淡出”“加速/减速音频”“变速不变调”时使用。与 audio-denoise 的区别:audio-denoise 专做降噪,audio-editing 做除降噪外的通用音频操作(也内置 denoise 作为兜底)。

ZJU-REAL/Easel

自动字幕 / 语音转字幕:把音频或视频里的语音识别成字幕文件(SRT/ASS/TXT/JSON),可选把字幕烧录进视频。当用户说自动字幕、语音转字幕、视频加字幕、上字幕、转录、听写、字幕文件、生成字幕、烧字幕时使用。

ZJU-REAL/Easel

音乐卡点视频 / 踩点视频:检测背景音乐的节拍,让图片或片段在节拍点上切换,配推进/白闪特效,做出燃系'卡点'短视频。当用户说 卡点视频、踩点视频、音乐卡点、节奏卡点、按音乐切换、鼓点视频、踩节奏、beat 卡点、图片卡点、卡点混剪 时使用。基于 shared/scripts/beatsync.py(librosa 节拍检测)。与 slideshow-video 区别:slideshow 每图固定时长、柔和转场,本 SKILL 切换点由音乐节拍决定、硬切踩点带特效。

ZJU-REAL/Easel

Easel clipify: long English talk → punchline cuts → optional 16:9→9:16 face-pan/split → opus word-by-word ASS burn. Ships scripts + assets/preview.png. Part of 1.6k★ Easel suite.

ZJU-REAL/Easel

>- 通用图像处理加工:改尺寸/缩放、裁剪、补边适配平台尺寸、格式转换(png/jpg/webp)、 压缩到目标大小、加文字或图片水印、圆角、多图拼接、生成缩略图、读图片信息。 基于 image_ops.py 确定性处理。 使用时机:用户说"改尺寸"、"缩放图片"、"裁剪"、"压缩图片"、"加水印"、"转格式"、 "圆角"、"拼图/多图联排"、"缩略图"、"适配小红书/朋友圈尺寸"、"把图 pad 成 1:1"。 和 card-*(卡片类)的区别:card-* 是"HTML 设计→渲染出图", image-editing 只加工已有图片,不负责视觉设计。

ZJU-REAL/Easel

多角色对话配音:按 cast 和逐行对白为不同角色分配音色与情绪,合成多声线音轨和带角色名字幕。 当用户说“多角色/双人/剧本/对话配音、多人对白、不同角色不同声音、有声剧配音”时使用。 单一公共音色用 tts-voiceover;克隆本人音色用 voice-clone;整部短剧制作由 short-drama 编排。

ZJU-REAL/Easel

Easel video-highlights: CN/livestream highlight extract + stable static vertical reframe (sibling to clipify).

ZJU-REAL/Easel

>- 视频制作策略与工具选型:AI 视频生成模型对比、视频脚本结构设计、制作流程规划,覆盖产品演示/解说/社媒短视频场景。 当用户说"视频怎么做""视频选型""用什么工具做视频""视频制作流程""视频策略""视频系列规划"时使用。 和 video-script 的区别:video-strategy 做内容规划与工具选型,video-script 写具体某条视频的脚本。

相關技能