Communitygithub.com

antropo17/gif-cinema

Crie histórias animadas multi-cena, mini-desenhos animados e GIFs ou MP4s com design em movimento, incluindo batidas narrativas, referências de personagens, takes gerados curtos, títulos animados locais e revisão de continuidade. Ideal para edições narrativas mais longas, não apenas para estender um loop curto.

O que é gif-cinema?

O GIF Cinema é uma habilidade especializada para agentes de IA, como Claude Code, que transforma um briefing em uma sequência de ações visuais distintas com causa e efeito, montando cenas revisadas em uma história mais longa. Ela separa aparência, ação de personagem, movimento gráfico e formato de entrega, respeitando o estilo de arte escolhido pelo usuário e as filmagens aprovadas. Este é um fluxo de trabalho guiado pelo autor, não um modelo de animação autônomo. A habilidade suporta três rotas de produção: uso de GIFs existentes, geração de novas ações de personagem com ferramentas/APIs autorizadas, e design em movimento com um renderizador de títulos animado local. O runtime requer Python 3.10+, Pillow, Git, FFmpeg e ffprobe, e inclui verificações sem chave de API para funcionalidades básicas. O processo envolve a criação de um storyboard editável, compilação com scripts locais, geração deliberada de takes com limites de chamadas definidos pelo usuário, e exportação para MP4/GIF com revisão visual e técnica. A habilidade enfatiza a transparência: cada take é inspecionado e aceito antes de avançar, e projetos incompletos são entregues como planos honestos de produção, não como animações finalizadas falsas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/antropos17/chatgpt-gif-cinema/tree/HEAD/.agents/skills/gif-cinema

Perguntar na sua IA favorita

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

Documentação

GIF Cinema

Transforme um briefing em diferentes ações visíveis com causa e efeito e, em seguida, monte cenas revisadas em uma história mais longa. Separe aparência, ação do personagem, movimento gráfico e formato de entrega. Mantenha o estilo de arte escolhido pelo usuário e as filmagens aprovadas. Este é um fluxo de trabalho guiado pelo autor, não um modelo de animação autônomo.

Escolha uma rota de produção real

  • GIFs existentes: inspecione o que cada take realmente mostra; construa a história em torno dessas ações. O exemplo incluído testa esta rota sem uma chave de API.
  • Nova ação de personagem: planeje uma ação principal por GIF gerado curto. Use apenas uma ferramenta/API de geração disponível e autorizada. Inspecione e aceite cada resultado antes de extender seu estado para outra cena. Consulte generation.md.
  • Design em movimento: use o renderizador de título animado local incluído para tipografia e entradas de regras de destaque. Para personagens em camadas, adereços móveis, máscaras ou ação com rigging, use um compositor realmente disponível no ambiente e preserve suas fontes editáveis. Este pacote não contém um mecanismo de animação em camadas geral.

Não considere deriva de câmera, uma sobreposição, filmagem invertida, outra legenda no mesmo clipe ou seguradas mais longas como uma nova ação de personagem. Um desenho animado longo precisa de eventos adicionais da história. Se esses desenhos estiverem faltando e a geração estiver indisponível, entregue um animatic honesto ou plano de produção, não um desenho animado finalizado reivindicado.

Runtime e verificação sem chave

Requer Python 3.10+, Pillow, Git, FFmpeg e ffprobe. Use um ambiente isolado. Os auxiliares da habilidade funcionam com este runtime público imutável e revisado:

python -m venv .venv
# Ative .venv com o comando do seu shell, depois:
python -m pip install "gif-cinema @ git+https://github.com/antropos17/chatgpt-gif-cinema.git@fa82b13366a9ae94a4ece730ec6b2d065cd9a060"
python -m gif_cinema --help
ffmpeg -version
ffprobe -version

Um checkout existente dessa revisão ou um runtime mais novo testado e compatível também é utilizável. Não faça downgrade de um projeto funcional automaticamente. O runtime usa a licença de avaliação de código-fonte incluída LICENSE. A influência do fluxo de trabalho atribuído do GIF Factory tem seu próprio aviso MIT em THIRD_PARTY_NOTICES.md.

Resolva caminhos de auxiliares e ativos em relação a esta pasta da habilidade. Os exemplos abaixo presumem que o shell está nessa pasta. De outros lugares, use caminhos absolutos para os auxiliares e JSON de entrada; mantenha as saídas no projeto do usuário, nunca na habilidade instalada.

python scripts/story_project.py compile assets/example/storyboard.json --out output/story-project
python -m gif_cinema render output/story-project/film.json --dry-run --max-api-calls 0
python -m gif_cinema render output/story-project/film.json --execute --max-api-calls 0 --out output/story-render
python scripts/story_project.py export-gif output/story-render/film.mp4 --out output/story.gif

Esta é uma edição de fonte de 9,68 segundos, não um novo desenho animado longo: um título animado local de 2 segundos seguido por três ações de astronauta existentes de 2,56 segundos. O MP4 usa 25 fps; os personagens fonte têm 16 desenhos por take, não 25 novos desenhos por segundo. A exportação de GIF padrão é 320 px de largura, 10 fps, silencioso, reprodução única. --repeat loop de todo o resultado. Alguns visualizadores substituem o comportamento de loop do GIF.

Para a verificação de regressão da CLI principal, execute scripts/smoke_test.py --out NEW_DIRECTORY. Nenhum auxiliar precisa de chave. O auxiliar de história nunca faz chamadas de provedor e recusa um projeto de saída existente. story-project.md documenta seu esquema exato, comandos, temporização e limites.

Direto antes de gerar

Para uma nova história ou uma extensão substancial, leia storytelling.md. Produza um storyboard editável com:

  1. A premissa e o final; público, duração alvo, proporção de tela, idioma e requisitos de som quando relevantes. Infira padrões de baixo risco em vez de perguntar novamente.
  2. Uma bíblia visual compacta: âncoras de personagem reconhecíveis, paleta/material, figurino, contagens de adereços, propriedade, escala, geografia e convenções de câmera.
  3. Uma lista de batidas/cenas: estado anterior → ação visível → estado posterior, câmera, duração esperada e propósito na história. Rastreie mãos/adereços/contato em cada corte.
  4. Um mapa de fonte/geração: quais ações já existem, quais precisam de novos desenhos, quais são gráficos locais. Marque cenas não renderizadas como não renderizadas.

Dimensione a história adicionando ações e consequências significativas, não repetindo filmagens até que um temporizador atinja o briefing. O exemplo de história longa em assets/example/long-story.plan.json é um plano de produção de 14 ações não renderizado. Compilá-lo prepara 14 entradas de geração de um take; não renderiza essas ações.

Gere e junte deliberadamente

Compile o storyboard com scripts/story_project.py compile .... Um projeto apenas com fontes tem um film.json executável. Um projeto com cenas faltando/geradas tem entradas generation/ID.json separadas e um assembly-template.json deliberadamente incompleto. Nenhum lote pago é executado pelo compilador.

Use uma ação representativa para estabelecer viabilidade quando o personagem/método é novo. Nova geração precisa do próprio acesso à API do usuário e do limite de chamadas acordado. Para continuidade do endpoint, extraia o último quadro aceito anterior, inspecione-o e, em seguida, anexe esse quadro existente mais uma referência de identidade limpa à entrada do próximo take. O compilador não cria referências futuras ou um gráfico de dependência automático.

Mantenha pastas de takes separadas e um registro de candidatos aceitos/rejeitados. Uma refilmagem deve ser revisada em ambas as juntas vizinhas. Registre o ID do take, caminho, SHA-256 e notas de revisão de cada GIF selecionado em um manifesto de takes. Compile com --takes takes.json para preencher slots gerados sem alterar manualmente seus modos. O auxiliar verifica esses bytes exatos, mede seus atrasos reais e mantém a solicitação original. Ele pode aplicar uma seleção parcial; ações faltantes permanecem explicitamente não renderizadas.

Cada projeto inclui um storyboard.json portátil. Continue desse arquivo com um novo manifesto de takes e um novo diretório de saída. Fontes existentes e títulos renderizados são fixados por hash e não podem ser substituídos pelo manifesto. Para uma refilmagem intencional, crie uma cópia editada do storyboard original e selecione o novo take lá; mantenha o projeto anterior e revise ambos os cortes vizinhos novamente. Mantenha versões do projeto com seus registros de revisão. Notas do chamador não são aceitação visual automática. Consulte o formato de seleção exato e exemplo sem chave. Use renderização com zero chamadas mesmo quando uma chave estiver configurada.

Movimento, temporização e exportação

Cartões de título são entradas de texto/linha únicas seguidas por uma espera. A letra é local e editável no storyboard, em vez de confiada a um prompt de geração. Títulos são cenas separadas, não sobreposições; legendas de runtime são um SRT separado, não gravadas em GIFs. Especifique uma fonte local licenciada com --font se necessário, e inspecione seus glifos.

A temporização do personagem vem do GIF fonte decodificado. Re-temporização de fonte, transições, interpolação, geração de áudio e síntese automática de ação não são fornecidas por este auxiliar. O runtime fixo usa cortes secos e pode importar áudio local opcional através de seu script de filme. GIF não tem áudio. Siga a ajuda do runtime atual se estiver usando ferramentas de edição mais recentes; não implique que o pacote fixo as inclui.

Exporte um MP4 verificado primeiro, depois um GIF menor ou capítulos. A conversão de paleta do GIF pode danificar gradientes e contornos finos; revise também o GIF final real. Alto FPS de reprodução não cria novo movimento. review.md fornece as verificações de aceitação visual e técnica.

Entregue o resultado real

Forneça os arquivos GIF/MP4 solicitados com duração real, dimensões, comportamento de loop, cadência de desenho da fonte versus FPS de exportação, status de áudio/silêncio e falhas visuais conhecidas. Inclua um projeto editável quando solicitado. Revise nomes de fonte, prompts, referências e licenciamento antes de compartilhar um projeto; não publique entradas privadas. Distinga verificação técnica, sua revisão visual e aceitação do usuário.

Habilidades Relacionadas