Communitygithub.com

ZJU-REAL/Easel

Um tema → vídeo curto finalizado: encadeia automaticamente roteiro → imagens/vídeos AI → narração → legendas → BGM → montagem, transformando as peças da camada de produção do Easel em uma linha de montagem 'um clique para gerar vídeo'. Para vídeos únicos, narração ou informativos, com imagens por frase padrão + Ken Burns suave, e vídeo gerado por segmento apenas quando necessário. Ative com comandos como 'gerar vídeo com um clique', 'criar vídeo curto automaticamente', 'gerar vídeo a partir de um tema', 'faça um vídeo para mim', 'narração completa', 'produção automática', 'vídeo curto com um clique'. Para dramas com enredo/personagens/diálogos/reviravoltas/múltiplos episódios, use short-drama (cada quadro força vídeo gerado, sem usar imagens estáticas); para apenas roteiro, use video-script; para apenas um clipe isolado, use ai-video-gen.

O que é Easel?

Este skill, ZJU-REAL/Easel, é um orquestrador de ponta a ponta para produção automatizada de vídeos curtos a partir de um tema ou roteiro. Ele integra múltiplos sub-skills em uma pipeline sequencial: escrita de roteiro com storyboard (video-script), geração de imagens ou clipes de vídeo por quadro (ai-image-gen / ai-video-gen), narração em voz (tts-voiceover), legendas (auto-subtitle), música de fundo (ai-music) e montagem final (assemble.py). Suportado por plataformas como Claude Code, Cursor e Codex, o skill oferece um fluxo flexível onde cada etapa pode ser opcional ou degradada automaticamente se faltarem chaves de API, garantindo que a produção nunca pare. Ideal para vídeos de narração ou informativos, ele usa imagens estáticas com efeito Ken Burns por padrão, mas gera vídeos dinâmicos quadro a quadro quando necessário — tudo configurável via storyboard JSON. O skill também respeita perfis de usuário para estilo e proporção de tela, mas sempre confirma a orientação (retrato/paisagem) antes de qualquer chamada paga, evitando suposições silenciosas. O resultado final é um vídeo MP4 completo, com todos os assets intermediários salvos para ajustes posteriores.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Vídeo Curto com Um Clique (Orquestração Ponta a Ponta)

Insira um tema e produza automaticamente um vídeo curto. Este SKILL é a camada de orquestração: conecta as peças de produção existentes em uma linha de montagem — Roteiro (video-script) → Imagem por frase (ai-image-gen) ou clipe (ai-video-gen) → Narração (tts-voiceover) → Legendas (auto-subtitle) → BGM (ai-music) → Montagem (scripts/assemble.py). Inspirado no motor de vídeo curto automático do Pixelle-Video / MoneyPrinterTurbo.

Entrada

  • Tema / Roteiro (obrigatório)
  • Opcional: duração alvo, estilo, se deseja narração/legendas/BGM, se as imagens serão geradas por AI ou素材 do usuário
  • Regra rígida de proporção: se o usuário ou tarefa upstream não especificar orientação retrato/paisagem (ou 16:9/9:16/resolução específica), deve-se perguntar e aguardar confirmação antes de qualquer chamada de produção/pagamento; não inferir silenciosamente da plataforma, perfil ou valor padrão. Se já especificado, não repetir.

Saída

O vídeo curto final é salvo em outputs/nome-do-tema/final.mp4; storyboard, imagens, narração e legendas em outputs/nome-do-tema/assets/.

Etapas de Execução (ajustáveis conforme necessário; etapas sem chave de API são automaticamente degradadas ou perguntam)

  1. Escrever Roteiro e Storyboard: Use video-script para transformar o tema em um roteiro de narração, dividido em N frases (cada frase um quadro), com uma descrição de cena para cada quadro.

  2. Gerar Cenas (uma imagem ou clipe por quadro):

    • Com chave de API de imagem → ai-image-gen text2img por frase (na proporção confirmada)
    • Se necessário movimento → ai-video-gen text2video/image2video
    • Com素材 do usuário → Use image-editing pad para a proporção confirmada
    • Sem nenhum → Selecione cartões de imagem na proporção confirmada (retrato: card-xiaohongshu/poster-hero; paisagem: card-quote) e aplique pad, evitando incompatibilidade de proporção.
  3. Narração: tts-voiceover sintetiza o roteiro em narração (gerando também SRT). Se VOICE_PROVIDER estiver configurado, usa voz premium fechada por padrão (com emoção, mais realista); sem chave, cai para edge (robótico) — para narração não 'artificial', configure uma chave fechada. Pule se não precisar de narração.

  4. Legendas: Use o SRT anexado do TTS, ou execute auto-subtitle na narração; também pode deixar o assemble gerar automaticamente a partir das legendas de cada quadro.

  5. BGM: ai-music gera, ou use música fornecida pelo usuário. Opcional.

  6. Montagem Final: Escreva os assets em um storyboard JSON e chame o montador:

    python skills/openclaw/auto-short-video/scripts/assemble.py assemble \
      --storyboard outputs/nome-do-tema/assets/storyboard.json \
      -o outputs/nome-do-tema/final.mp4
    

    Estrutura do storyboard (escolha entre imagem/vídeo; narração/bgm/legendas opcionais; se duration faltar, distribui uniformemente pela narração):

    {
      "size": "<dimensão confirmada, ex. 1080x1920 ou 1920x1080>",
      "image_motion": "ken-burns",
      "shots": [
        {"image": "outputs/nome-do-tema/assets/shot1.png", "duration": 3, "caption": "Primeira frase", "motion": "static"},
        {"video": "outputs/nome-do-tema/assets/clip2.mp4", "caption": "Segunda frase"}
      ],
      "narration": "outputs/nome-do-tema/assets/voice.mp3",
      "bgm": "outputs/nome-do-tema/assets/bgm.mp3",
      "subtitle": "outputs/nome-do-tema/assets/voice.srt"
    }
    

    image_motion define o movimento padrão para imagens de toda a linha; motion por quadro pode sobrescrever: fotos usam ken-burns, slides/gráficos/interfaces com texto DEVEM usar static (redimensionamento proporcional + preenchimento de bordas, sem cortes ou deslocamentos). O montador automaticamente: gera quadros estáticos ou Ken Burns conforme image_motion, preenche bordas para a proporção, concatena, mixa narração+BGM (BGM automaticamente reduzido) e queima legendas.

  7. Entrega: Produz o final.mp4 e anexa uma nota explicativa (quais etapas foram usadas, quais foram degradadas).

Princípios de Orquestração

  • Peças podem faltar: Etapas sem chave de API de imagem/vídeo/TTS são automaticamente degradadas (cartões de imagem como fallback / pular narração), sem bloquear o todo, e informa honestamente ao usuário o que foi degradado.
  • Plano primeiro: Quando envolver várias APIs pagas (geração de imagem/vídeo/música), informe ao usuário quais serão chamadas, custo aproximado/tempo estimado, e aguarde confirmação antes de executar.
  • Manter assets intermediários: Storyboard, imagens, narração e legendas são salvos em outputs/nome-do-tema/assets/, facilitando substituição individual e remontagem.

Sensibilidade ao Perfil

  • Com perfil: Extraia tom/estilo visual de style.md para permear o roteiro e prompts de imagem; platforms.md usado apenas para sugestões de proporção/duração, mas a proporção ainda deve ser confirmada; preferences.md aplica filtros de barreira.
  • Sem perfil: Confirme orientação retrato/paisagem primeiro, depois use estilo de narração genérico.

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

Habilidades Relacionadas