Communitygithub.com

carousel-mp4

Cria um carrossel exatamente como a skill instagram-carousel, mas entrega uma animação MP4 no estilo After Effects (texto letra por letra, transições, movimentos de câmera entre slides, Ken Burns, efeitos sonoros variados e música livre de direitos do Openverse) em vez dos PNGs.

O que é carousel-mp4?

Esta skill transforma um carrossel de imagens estáticas (gerado pela skill `instagram-carousel`) em um vídeo MP4 animado, ideal para postagens no Instagram, Reels, YouTube ou sites. Ela reutiliza a estrutura e o fluxo de trabalho do carrossel base, mas, em vez de exportar imagens PNG, produz uma animação no estilo motion graphics, com movimentos de câmera entre slides, texto aparecendo letra por letra, efeitos Ken Burns, transições variadas e trilha sonora personalizável (efeitos embutidos, sons do Openverse ou arquivos do usuário). A skill suporta orientações vertical (9:16 para Reels/Stories ou 4:5 para feed) e horizontal (16:9), e permite estilos de animação predefinidos (slides) ou mais dinâmicos (motion graphics). O usuário pode ajustar a coreografia da animação via atributos HTML (`data-anim`, `data-delay`) e verificar o resultado com stills antes da renderização final. A renderização usa Chrome com GSAP e WebCodecs, dispensando ffmpeg, e é rápida o suficiente para ser executada em segundo plano. O resultado final é um arquivo MP4 (H.264 + AAC) pronto para publicação, junto com a legenda e notas sobre os sons utilizados.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Yupzao/instagram-carousel-skill/tree/main/skills/carousel-mp4

Perguntar na sua IA favorita

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

Documentação

Carrossel → MP4 animado

Esta skill reutiliza a skill instagram-carousel (ela deve estar instalada em ~/.claude/skills/instagram-carousel; chamada de <ic> abaixo). O resultado final é um MP4, não os PNGs.

Fluxo de trabalho

  1. Faça o carrossel como de costume: siga os passos 1 a 4 de <ic>/SKILL.md (brief, arquétipo, sistema visual, roteiro e HTML). Todas as regras se aplicam: continuidade entre slides, novas fontes, paleta 2+1 e revisão de design.
    • Sempre pergunte a orientação antes de projetar, mesmo quando a solicitação não a mencionar (pergunta de múltipla escolha):

      • Vertical: Reels/Stories 9:16 (1080×1920, --reels) ou feed 4:5 (1080×1350, sem flag);
      • Horizontal: 16:9 (1920×1080, --landscape), para YouTube, um site ou telas.

      A orientação muda toda a composição (grade, tamanhos, zona segura), portanto, nunca a escolha por padrão. Horizontal só funciona no modo motion graphics.

    • Pergunte também o estilo: slides (a coreografia automática: movimento de câmera entre slides) ou motion graphics (tipografia cinética e transições variadas, para não parecer slides). Se o usuário disser que o resultado "parece slides" ou pedir algo mais dinâmico, use motion graphics. Veja references/motion.md.

    • E o som: efeitos internos (padrão), efeitos Openverse, música Openverse, arquivos do usuário ou nenhum som.

  2. Leia <ic>/references/video.md: coreografia, controle da animação com data-anim/data-delay, som e verificações.
  3. Ajuste a coreografia no HTML, se necessário. A animação é automática, mas data-anim e data-delay permitem ajustar os momentos-chave.
  4. Verifique com stills antes do vídeo completo (rápido):
    node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 --stills=0.6,1.5,3,4.2,6
    
    Abra os JPEGs em <output>/carousel-stills/ e confirme que nada está cortado, sobreposto ou invisível ao final de cada entrada.
  5. Som (opcional, veja video.md › Som):
    • Openverse: node <ic>/scripts/sounds.mjs search "whoosh" --type=sfx. Mostre as opções ao usuário e, com a permissão dele, execute node <ic>/scripts/sounds.mjs download <id> <output>/sounds/whoosh-1.mp3.
    • Os nomes dos arquivos definem o uso: whoosh* (transições), pop* (adesivos/pílulas), hit* (títulos). Use vários por tipo (whoosh-1.mp3, whoosh-2.mp3…) para que as transições não soem sempre iguais; eles se alternam sem repetições consecutivas. A música vai separadamente.
    • Sem arquivos, os efeitos internos já variam por conta própria (5 whooshes, 3 pops, 3 hits, com tom e duração aleatórios).
  6. Renderize o MP4:
    node <ic>/scripts/video.mjs <output>/carousel.html <output>/carousel.mp4 [--reels] [--sfx=<output>/sounds] [--music=<output>/sounds/music.mp3]
    
    Não precisa de ffmpeg: usa Chrome (GSAP + WebCodecs). Cerca de 30–60 s para 20–30 s de vídeo. Execute em segundo plano se for longo.
  7. Entregue:
    • carousel.mp4 (H.264 + AAC, pronto para Instagram/Reels)
    • caption.txt (legenda, hashtags, palavras-chave)
    • uma nota: duração, formato, sons usados (e de onde vêm, de sounds/sound-sources.txt) e placeholders ainda a substituir

Não entregue os PNGs a menos que o usuário os solicite. Se solicitar, use render.mjs como na skill base.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas