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:
- 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.
- 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.
- 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.
- 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.