Communitygithub.com

ZJU-REAL/Easel

한 줄 주제 → 완성된 짧은 동영상: 대본→이미지/AI 영상→더빙→자막→BGM→합성을 자동으로 연결해 Easel 제작 레이어를 '원클릭 출시' 파이프라인으로 구성합니다. **단일 동영상, 구술/정보 중심, 화면은 기본적으로 문장별 이미지 + Ken Burns 완만한 움직임, 역동성이 필요할 때만 구간별 이미지-투-비디오**.

Easel란 무엇인가요?

Easel은 하나의 주제 입력만으로 완성된 짧은 동영상을 자동 생성하는 AI 에이전트 기술입니다. 이 기술은 복잡한 동영상 제작 과정을 대본 작성(video-script), 이미지 생성(ai-image-gen) 또는 동영상 생성(ai-video-gen), 더빙(tts-voiceover), 자막(auto-subtitle), 배경 음악(ai-music) 및 최종 합성(scripts/assemble.py)이라는 일련의 조립식 단계로 분해하여 마치 컨베이어 벨트처럼 자동화합니다. Pixelle-Video 및 MoneyPrinterTurbo의 자동 짧은 동영상 엔진에서 영감을 받아 제작되었으며, Claude Code, Cursor, Codex와 같은 주요 AI 코딩 도구에서 실행되도록 설계되었습니다. 사용자가 주제, 선택적으로 목표 길이, 스타일, 오디오/자막/BGM 사용 여부를 입력하면 Easel은 일련의 단계를 실행합니다. 먼저 'video-script' 기술을 사용하여 오디오 대본을 작성하고 각 문장에 대한 장면 설명을 만듭니다. 그런 다음 이미지 생성(ai-image-gen) 또는 동영상 생성(ai-video-gen)을 호출하여 각 장면에 대한 시각적 요소를 생성하며, 사용자가 제공한 자산을 사용할 수도 있습니다. 다음으로 음성 해설(tts-voiceover)을 합성하고 자막(auto-subtitle)을 생성하며, 배경 음악(ai-music)을 선택합니다. 마지막으로 assemble.py 스크립트가 모든 것을 단일, 재생 준비가 된 MP4 파일로 결합합니다. 가장 중요한 것은 Easel이 누락된 API 키에 대해 지능적으로 저하되어 전체 프로세스를 차단하지 않고도 생성된 비디오를 계속 제공한다는 것입니다. 이 기술은 비디오 생성의 모든 측면을 처리하여 상당한 시간과 노력을 절약하므로 구술, 뉴스 및 정보성 짧은 동영상을 원하는 콘텐츠 제작자에게 매우 유용합니다. 사용자 선호도와 플랫폼 특정 요구 사항을 존중하며, 프로필이 있는 경우 스타일 파일을 참조하고, 그렇지 않은 경우 표준 형식을 묻는 방식으로 이루어집니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ZJU-REAL/Easel/tree/HEAD/skills/openclaw/auto-short-video

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

원클릭 짧은 동영상 (엔드투엔드 오케스트레이션)

주제를 입력하면 자동으로 짧은 동영상이 생성됩니다. 이 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/특정 해상도)를 명확히 지정하지 않은 경우, 제작/결제 호출 전에 반드시 질문하고 확인을 기다려야 함. 플랫폼, 프로필 또는 기본값에서 자동으로 추론하지 않음. 이미 명시된 경우 반복 질문하지 않음.

출력

완성된 짧은 동영상은 outputs/주제명/final.mp4에 저장됩니다. 스토리보드 이미지, 더빙, 자막 및 storyboard는 outputs/주제명/assets/에 저장됩니다.

실행 단계 (필요에 따라 조정, API 키가 없는 단계는 자동으로 다운그레이드 또는 질문)

  1. 대본 및 스토리보드 작성: video-script를 사용하여 주제를 구술 대본으로 작성하고, N개의 문장(각 문장이 하나의 장면)으로 나눕니다. 각 문장에 대한 장면 설명을 추가합니다.

  2. 화면 생성 (각 장면당 하나의 이미지/클립):

    • 이미지 API 키 있음 → 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가 설정되면 기본적으로 폐쇄형 고품질 음성(감정 표현, 자연스러운 목소리) 사용. 키가 없으면 edge(기계 음성)로 대체. 구술이 '어색하지' 않게 하려면 반드시 폐쇄형 키를 설정하세요. 더빙이 필요 없으면 건너뜁니다.

  4. 자막: TTS에 포함된 SRT를 사용하거나, 더빙 대상으로 auto-subtitle 실행. 또는 assemble이 각 장면의 캡션을 사용하여 자동 생성하도록 할 수도 있습니다.

  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, 텍스트가 포함된 슬라이드/차트/인터페이스는 반드시 static(비율 유지 + 패딩, 자르기 또는 이동 없음)을 사용합니다. 합성기 자동 처리: image_motion에 따라 정적 프레임 또는 Ken Burns 생성, 화면 비율에 맞게 패딩, 편집, 더빙+BGM 믹싱(BGM 자동 볼륨 낮춤), 자막 하드코딩.

  7. 전달: final.mp4 생성. 제작 설명(사용된 단계, 다운그레이드된 단계)을 함께 제공합니다.

오케스트레이션 원칙

  • 요소 누락 가능: 이미지/비디오/TTS API 키가 없는 요소는 자동으로 다운그레이드(이미지 카드 대체 / 더빙 건너뛰기)되며 전체 프로세스를 차단하지 않고, 사용자에게 어떤 요소가 다운그레이드되었는지 정확히 알립니다.
  • 계획 먼저 제시: 여러 유료 API(이미지 생성/비디오 생성/음악 생성)가 관련된 경우, 먼저 사용자에게 호출할 API, 예상 시간/비용을 설명하고 확인 후 실행합니다.
  • 중간 산물 저장: 스토리보드 이미지, 더빙, 자막 및 storyboard는 outputs/주제명/assets/에 저장되어, 개별 교체 후 재합성이 용이합니다.

프로필 인식

  • 프로필 있음: style.md에서 톤/시각적 스타일을 가져와 대본과 이미지 프롬프트에 적용. platforms.md는 화면 비율/길이 제안에만 사용되며, 화면 비율은 여전히 확인 필요. preferences.md의 필터를 준수.
  • 프로필 없음: 먼저 가로/세로를 확인한 후, 일반 구술 스타일 사용.

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 写具体某条视频的脚本。

관련 스킬