Communitygithub.com

SergeoDev01/Voiceover-Glass-Reel

Transforma qualquer narração (e um roteiro opcional) em um reel no estilo documentário 16:9 no After Effects com apenas um pedido: corta pausas e respirações, escreve a história visual, pesquisa imagens gratuitas e renderiza um MP4 1080p H.264.

O que é Voiceover-Glass-Reel?

Este skill permite que um agente de IA transforme um arquivo de narração (ou vídeo) em um vídeo estilo documentário sombrio e cinematográfico no After Effects, sem custos com créditos. A partir de um áudio de até 3 minutos, o skill automaticamente corta pausas e respirações, transcreve o texto com reconhecimento no dispositivo, e gera uma estrutura visual completa com enquadramentos de vidro flutuantes, grades em perspectiva, legendas grandes e efeitos de flash. Os recursos visuais são obtidos gratuitamente de fontes como Wikimedia Commons, Pixabay e o MCP thesvg, incluindo fotos de arquivo, clipes de vídeo e logotipos. O fluxo de trabalho é modular e deterministico, permitindo reexecuções rápidas e ajustes manuais no story.json sem afetar o projeto no After Effects. O resultado final é um arquivo MP4 1920×1080 a 25 fps, pronto para compartilhamento. O skill é compatível com macOS 26+, After Effects 2024+ e requer ferramentas de linha de comando como ffmpeg, curl e scripts Swift compilados localmente.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SergeoDev01/voiceover-glass-reel/tree/HEAD

Perguntar na sua IA favorita

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

Documentação

Voiceover → Glass Reel

Um pedido, um MP4 finalizado. O usuário fornece um arquivo de narração (qualquer formato de áudio ou vídeo, até ~3 min) e opcionalmente o texto do roteiro, uma nota sobre o tópico ou links de referência. Você faz todo o resto e para apenas:

  • uma vez para downloads, como logotipos. Não há orçamento de créditos: tudo tem origem gratuita (veja references/higgsfield.md – receitas testadas para Pixabay / Wikimedia / thesvg). Informe de onde veio cada coisa, mas dinheiro nunca entra na conversa, a menos que o usuário peça explicitamente o apêndice pago.

Trabalhe no idioma do usuário no chat. Tudo na tela fica no idioma da narração.

O que produz

Transforma QUALQUER narração (e um roteiro opcional) em um reel 16:9 no estilo documentário no After Effects com um pedido. Corta as pausas e respirações, escreve a história visual, pesquisa todas as imagens gratuitamente (fotos de arquivo do Wikimedia Commons, clipes e retratos do Pixabay MCP, SVGs de logotipos via o MCP thesvg, movimentos Ken-Burns com ffmpeg a partir de imagens estáticas) e monta a edição nativamente no After Effects. O visual: documentário de arquivo escuro, cada clipe em uma moldura de vidro arredondada flutuante com uma borda brilhante fina e um suave zoom-in, uma grade de perspectiva animada com palavras-chave que mudam de cor conforme a palavra, legendas grandes faladas, páginas de máquina de escrever / palavra-gigante / cartão-foto, flashes e inversões negativas nos cortes, efeitos sonoros sintetizados. Renderiza um MP4 1080p H.264. Use sempre que alguém fornecer uma narração, mensagem de voz, narração ou trecho de podcast e pedir um reel, vídeo, curta, explicador ou edição a partir disso: "faz um vídeo da minha narração", "transforma essa narração num reel", "edição com moldura de vidro", "um clipe de uma narração", "faz um reel com a minha gravação de voz", "corta um vídeo para minha voz", "molduras de vidro e uma grade". Isso vale mesmo quando eles não têm nenhum material de vídeo.

Antes de começar (verifique uma vez por Mac; diga ao usuário exatamente o que corrigir se algo falhar)

  1. macOS 26 ou mais novo (transcrição no dispositivo) com After Effects 2024 ou mais novo, aberto. No AE, ative Settings → Scripting & Expressions → Allow Scripts to Write Files and Access Network.
  2. Ferramentas de linha de comando do Xcode (swiftc). Execute scripts/build_tools.sh. Ele compila scripts/bin/{to_wav,transcribe,facebox,frames}. Se um script falhar com "permission denied" (um skill carregado pode perder a permissão de execução), execute chmod +x scripts/*.sh nesta pasta do skill uma vez.
  3. Fontes gratuitas prontas: as ferramentas MCP pixabay e thesvg (search_pixabay_images, search_pixabay_videos, search_icons, list_variants, get_icon_url, get_icon) mais curl e ffmpeg (ambos já usados pelo motor). O Wikimedia Commons precisa apenas de internet
    • um User-Agent adequado. Sem créditos, sem contas, sem saldos para verificar.
  4. A primeira execução de transcribe pode pedir permissão para Reconhecimento de Fala. Também pode baixar o modelo no dispositivo uma vez.
  5. Se outro projeto do AE estiver aberto com alterações não salvas, o build.sh se recusa. Peça ao usuário para salvá-lo. Nunca descarte o trabalho deles. O log de build imprime PREVIOUS_PROJECT <caminho> quando fecha um projeto salvo deles. Após a renderização final, reabra-o: escreva um jsx de uma linha app.open(new File("<caminho>")); e execute com scripts/ae_run.sh.

S = pasta deste skill. PY = /usr/bin/python3 (ou qualquer Python 3.9+, apenas biblioteca padrão).

Pipeline

1. Pasta do projeto e voz

  • Crie <proj> = uma nova pasta ao lado da narração com o nome <nome_da_narração>_reel.
  • Execute PY S/scripts/reel.py prep <narração> <proj>. Ele converte o áudio, transcreve no Mac e remove todas as pausas e respirações. Os resultados são work/voice_cut.wav e work/words.json (índice da palavra → tempo do programa).
  • Em seguida, execute PY S/scripts/reel.py words <proj> e leia toda a transcrição indexada.
  • Se o usuário forneceu um roteiro, compare-o com a transcrição. Anote nomes mal interpretados para spell (por exemplo "28": "Grok").

2. História (leia references/story.md, depois escreva <proj>/story.json)

  1. Decida o mundo que se encaixa no roteiro: era, lugar, um elenco recorrente de 2–5 personagens, 3–6 locais, PB ou cor.
    • Padrão: um documentário de arquivo preto e branco dos anos 1950–60, onde assuntos abstratos se tornam pessoas e lugares.
    • Escolha um visual para o apresentador. Quando o usuário quiser aparecer, use a foto dele como referência para o apresentador.
  2. Divida a transcrição em planos. Cada plano começa num índice de palavra.
    • apresentador (falando para a câmera na TV): 3–6 planos, 2–6 s cada. Use-os no gancho, nas viradas e na chamada para ação. Juntos, ocupam cerca de 15–20 % do tempo total.
    • clipe (material gerado na moldura de vidro): a maioria dos planos, 1,5–3 s cada.
    • tipo (página de máquina de escrever): a pergunta de abertura ou títulos de seção, no máximo 6 palavras.
    • gigante (uma palavra enorme com um rótulo vermelho e uma linha serifada abaixo): um conceito nomeado.
    • cartões (2–4 cartões-foto com crachás de logotipo, um nome em cada palavra): quando a voz lista pessoas, produtos ou marcas. Os logotipos aparecem apenas quando são mencionados.
    • lista: quando a voz lista 2–4 pontos, marque esse intervalo de palavras. Suas palavras-chave mudam para a cor de destaque na palavra.
    • chaves: no máximo uma por frase.
    • golpes: invert em 3–6 cortes dramáticos, strobe em no máximo 2 momentos "ficou mais louco", burn em no máximo 2 picos.
    • Nunca mostre o mesmo momento de clipe duas vezes.
  3. Escreva a lista de fontes a partir dos planos:
    • cada clipe da história é 8–12 s de material de arquivo (ou um panorama Ken-Burns sobre uma imagem estática), cobrindo planos consecutivos, de modo que um clipe alimenta vários planos através de diferentes tempos in;
    • retratos dos cartões, locais e qualquer material do apresentador – tudo com origem gratuita;
    • uma trilha sonora opcional (ou nenhuma: o build a ignora se music estiver ausente).

3. Obter os recursos (leia references/higgsfield.md)

  1. Obtenha nesta ordem: clipes da história → retratos dos cartões → locais → (se mantido) placa da TV → (se mantido) clipes do apresentador. Verifique cada download conforme as receitas testadas (HEAD content-type + content-length, curl -A UA + tentativas, SHA-1 quando o Commons fornecer). Registre arquivo → URL de origem → licença → autor em work/SOURCES.md.
  2. Clipes da história: Pixabay search_pixabay_videos (video_type: "film", orientação correspondente, duração 8–15 s) ou Commons filetype:video (imageinfo → baixar com a receita curl → transcodificar vídeos .ogv/.webm para MP4). Imagens estáticas viram .mp4 Ken-Burns com a receita ffmpeg.
  3. Clipes do apresentador (apenas se o usuário aparecer na câmera):
    • PY S/scripts/reel.py chunks <proj> escreve um segmento de áudio por plano do apresentador em work/host/host_NN.wav;
    • componha o áudio do segmento sobre o clipe da webcam deles e salve como assets/host/host_NN.mp4 (ffmpeg -map 0:v:0 -map 1:a:0 -shortest) – reel.py align então ajusta as palavras exatamente;
    • PY S/scripts/reel.py align <proj> mede o deslocamento de cada clipe em relação às palavras. Sem material próprio → reestruture essas batidas do apresentador como páginas type / giant / cards.
  4. Se uma placa de TV for usada, execute PY S/scripts/reel.py screen <proj>/assets/tv_plate.png <proj>. Ele encontra a tela verde. Se nenhuma for encontrada, repinte-a (ffmpeg drawbox, §2 da referência) ou mude os planos do apresentador para modo full – nenhuma placa necessária.
  5. Execute PY S/scripts/reel.py sfx <proj> para sintetizar os efeitos sonoros (nenhuma licença necessária).
  6. Música: omita music (padrão), use a faixa do usuário ou converta um arquivo de áudio do Commons para MP3.

4. Construir e verificar

  1. Execute PY S/scripts/reel.py plan <proj>. Ele escreve work/plan.json e imprime verificações. Corrija todo ERROR em story.json. Leve os WARNs a sério: clipes repetidos, sincronia labial do apresentador.
  2. Execute S/scripts/build.sh <proj>. Ele constrói <proj>/reel.aep (comp REEL) em cerca de 1 min para um reel de 70 s. Leia o log: fontes usadas, avisos.
  3. Execute S/scripts/render.sh <proj> --half para uma verificação rápida (~2 min). Em seguida, verifique os quadros:
    • S/scripts/bin/frames <proj>/out/reel_half.mp4 <proj>/work/check.jpg 4 <o segundo do meio de ~16 planos>;
    • olhe para check.jpg: legendas legíveis e não sobre rostos, lábios do apresentador se movendo dentro da TV, molduras de vidro presentes, sem lacunas pretas, páginas não vazias. Corrija em story.json, depois reexecute plan, build e a verificação.
  4. Final: execute S/scripts/render.sh <proj>. Ele escreve <proj>/out/reel_1080.mp4 (1920×1080, 25 fps, cerca de 40 Mbps, com som).
  5. Envie o MP4. Relate:
    • sua duração;
    • o que você não pôde verificar;
    • o local para ajustes manuais (reel.aep: cada plano é sua própria comp em 02_SHOTS / 03_PAGES, as legendas estão em CAPTIONS).

Regras

  • Direitos:
    • Tudo com origem gratuita: MCP Pixabay, Wikimedia Commons (verifique a licença de cada arquivo), MCP thesvg para logotipos, mais síntese local (ffmpeg Ken-Burns, reel.py sfx). Nenhum serviço pago por padrão; o apêndice Higgsfield é apenas quando o usuário pedir explicitamente.
    • Nunca raspe filmes, séries, anúncios ou posts sociais de outras pessoas.
    • Logotipos apenas do MCP thesvg ou Wikimedia Commons, e somente após a aprovação do usuário.
    • A música é opcional (omitida, faixa do próprio usuário ou um arquivo do Commons convertido para MP3).
    • Os efeitos sonoros são sintetizados por reel.py sfx.
  • A voz é o relógio.
    • Todo corte cai sobre uma palavra, um quadro antes dela. reel.py faz isso.
    • Nunca altere a velocidade ou as palavras.
    • As legendas mostram exatamente o que é falado, exceto correções spell de nomes mal interpretados.
  • Pessoas:
    • roupas modestas e adequadas à época;
    • adultos realistas;
    • nenhuma figura pública real como personagem;
    • modelos de IA e empresas são mostrados como personagens inventados e nomeados apenas por legenda e logotipo.
  • Reexecuções são baratas. plan e build são determinísticos e reconstroem reel.aep do zero. Altere story.json em vez de editar reel.aep manualmente, a menos que o usuário peça edições manuais. Depois que eles editarem reel.aep pessoalmente, nunca reconstrua por cima sem perguntar.
  • O AE executa um script de cada vez.
    • Use apenas scripts/ae_run.sh, build.sh e render.sh.
    • Saída 4 significa que o AE ainda está ocupado: espere, nunca reenvie.
    • Saída 6 significa que o AE não iniciou o script: há uma caixa de diálogo aberta?

Arquivos

caminhoo que é
scripts/reel.pyprep / words / chunks / align / screen / sfx / plan (apenas biblioteca padrão)
scripts/build.sh, scripts/ae/build_reel.jsx, scripts/ae/reel_lib.jsxa construção do After Effects
scripts/render.shaerender para H.264 (--half para verificações)
scripts/ae_run.shenvia um script para o AE em execução e espera
scripts/tools/*.swift → scripts/bin/conversão de áudio, transcrição no dispositivo, caixas de rosto, folhas de quadro
references/story.mdformato do story.json, regras de plano, um exemplo completo
references/higgsfield.mdmanual de fontes gratuitas: receitas testadas de recuperação e verificação Pixabay / Wikimedia / thesvg, mapeamento por recurso, apêndice de geração paga
references/look.mdo que o build desenha (tamanhos, temporizações, cores) e como ajustar
references/troubleshooting.mderros e correções
references/example_story.jsono story.json de um reel finalizado de 70 s (o teste EXPERIMENT)
PROMPT.mdcomo instalar o skill e o prompt único para enviar

Habilidades Relacionadas