Communitygithub.com

make-video

Cria um vídeo social finalizado (YouTube Short, Instagram Reel ou vídeo longo do YouTube) com custo zero usando Remotion e ferramentas de IA locais, a partir de uma ideia de uma linha até um MP4 verificado.

O que é make-video?

Esta skill transforma uma simples ideia em um vídeo MP4 completo e verificado, utilizando apenas ferramentas gratuitas e locais, sem necessidade de API keys ou serviços pagos. Ela cobre todo o pipeline: roteirização, geração de voz com Chatterbox (e clonagem opcional da voz do usuário), legendas sincronizadas com palavras via Whisper, música e efeitos sonoros gerados como código com FluidSynth, renderização e uma porta de verificação automática de qualidade. O usuário pode solicitar a criação de vídeos para plataformas como YouTube Shorts, Instagram Reels, vídeos de formato longo, stories ou vídeos explicativos. A execução é totalmente local em macOS (Apple Silicon), garantindo privacidade e custo zero. O pipeline é gerenciado por um script (`make-story.sh`) que executa as etapas sequencialmente, e o projeto gerado inclui regras próprias (em `AGENTS.md`) para manter a consistência visual e de animação.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TheNoumanDev/zero-dollar-studio/tree/main/plugins/make-video/skills/make-video

Perguntar na sua IA favorita

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

Documentação

O que make-video faz?

Transforma uma ideia em um MP4 renderizado e verificado usando apenas ferramentas gratuitas e locais. Um projeto feito a partir desta skill tem suas próprias regras em AGENTS.md, então siga-as (pureza de animação, useScale, sec(), estrutura de pastas).

0. Configurar um projeto de vídeo (uma vez)

Se a pasta atual não possui tools/make-story.sh, ainda não é um projeto de vídeo:

  1. Verifique a máquina antes de qualquer coisa: uname -sm (precisa ser Darwin arm64), node --version (20+), brew --version, df -h ~ (cerca de 8 GB livres). Em outro SO, diga o que não funcionará (Chatterbox e o verificador de takes rodam na GPU da Apple) antes de prosseguir. Se Node ou Homebrew estiver faltando, forneça ao usuário o comando de instalação e aguarde.

  2. Informe ao usuário o que será baixado e aguarde sua aprovação. Nunca inicie os downloads sem ela. Mostre esta tabela (tudo gratuito, das fontes oficiais):

    DownloadTamanhoUsado paraOnde vai
    pacotes npm (Remotion etc.)~500 MBrenderizaçãonode_modules/
    ffmpeg, uv, FluidSynth (Homebrew, apenas se ausentes)~150 MBferramentas de áudio/vídeoHomebrew
    pacotes Python (PyTorch, Chatterbox…)~1.5 GBvoz, QA.venv/
    soundfont GeneralUser GS~30 MBmúsicatools/soundfonts/
    pesos do Chatterbox~3 GBa vozcache do Hugging Face (~/.cache/huggingface), compartilhado por todos os projetos
    Whisper small.en~590 MBlegendastools/models/
    Whisper large-v3-turbo (verificador de takes opcional)~1.6 GBregrava linhas pouco clarascache do Hugging Face

    Total cerca de 6 GB e 10-20 minutos. Ofereça a opção mais leve: SKIP_TAKE_CHECK=1 pula o verificador de takes (4.4 GB total). Pergunte onde criar o projeto (padrão ~/videos).

  3. Com a aprovação, copie a pasta template/ que está ao lado deste SKILL.md para o projeto, incluindo arquivos ocultos (cp -R <dir da skill>/template/. <dest>/), depois git init.

  4. Execute tools/setup.sh em segundo plano e mantenha o usuário informado: diga em qual etapa está (imprime linhas ▶) e, durante o download grande, o progresso (du -shL ~/.cache/huggingface/hub/models--ResembleAI--chatterbox, alvo ~3 GB). É seguro reexecutar: etapas concluídas são puladas e downloads interrompidos são retomados. Se um download travar (tamanho não aumenta por 5 minutos), pare-o e execute a configuração novamente. Se falhar, leia o erro, corrija a causa (ferramenta ausente, espaço em disco, rede) e reexecute; não contorne um modelo faltante.

  5. Prove que funciona: tools/make-story.sh stories/fridge-drama FridgeDrama cria o exemplo de 33 s (três vegetais discutem em uma geladeira) em cerca de 4 minutos. Mostre ao usuário out/FridgeDrama.mp4, então pergunte o que ele quer criar.

As ferramentas encontram os modelos por conta própria (Chatterbox e o verificador de takes do cache do Hugging Face, legendas de tools/models/), então nada precisa ser configurado após a instalação. Um segundo projeto reutiliza os pesos em cache, então sua configuração é muito mais rápida.

1. Fixar o briefing (pergunte apenas se estiver faltando)

CampoPadrão
Plataforma / formatoReel/Short: 1080×1920, 30 fps · YouTube: 1920×1080, 30 fps · Post de feed: 1080×1350
DuraçãoReel/Short: 15-45 s · YouTube: 3-10 min
TipoHistória (personagens falam, então use §3B) ou Motion graphics (texto, dados, diagramas, então use §3A)
Tópico + único aprendizadoA única coisa que o espectador deve lembrar
ÁudioVoz (Chatterbox), música + SFX (tools/music.py), ou apenas música
VozVoz embutida do Chatterbox, ou um clone da gravação do próprio usuário (§3B). Nunca clone alguém sem seu consentimento.

2. Escreva o roteiro antes de qualquer código

Orçamento de duração: a fala em inglês no ritmo do Chatterbox tem cerca de 2.6 palavras/s. Duração alvo ≈ palavras ÷ 2.6 + Σ pausas + encerramento. Verifique antes de gerar. (Fridge Drama: 62 palavras + 6.4 s pausas + 3 s encerramento = 33 s.)

Regras de ritmo para formato vertical curto:

  • Gancho na tela e audível a partir do quadro 0. Os primeiros 1.5 s determinam a retenção, e o quadro 0 geralmente é a miniatura, então nunca comece com um quadro vazio ou esmaecendo.
  • Cada linha ≤ 12 palavras. Legendas mostram ≤ 3 palavras por vez.
  • Algo se move a cada segundo.
  • Zona segura para 1080×1920: nada importante acima de y=220 ou abaixo de y=1540 (interface da plataforma), e nada à direita de x≈940 abaixo de y≈1000: os botões de like/comentar/compartilham ficam na borda direita (tools/qa.py --layout falha nisso). Coloque um apresentador no canto inferior esquerdo.
  • Termine com um payoff ou punchline, seguido de um cartão de call-to-action de 2-3 s.

Modelo de vídeo explicativo (

Habilidades Relacionadas