Communitygithub.com

antropo17/gif-cinema

Crea historias animadas multi-escena, mini-dibujos animados y GIFs o MP4s de motion design con ritmos narrativos, referencias de personajes, tomas cortas generadas, títulos animados locales y revisión de continuidad. Ideal para ediciones narrativas más largas, no solo extender un bucle corto.

¿Qué es gif-cinema?

GIF Cinema es una habilidad profesional de IA para Claude Code que permite a los desarrolladores y creadores convertir una premisa corta en una historia animada completa con múltiples escenas, efectos de causa y consecuencia, y una secuencia de tomas revisadas. A diferencia de herramientas que simplemente extienden un bucle corto, esta habilidad organiza el flujo de trabajo en fases distintas: separación de apariencia, acción de personajes, movimiento gráfico y formato de entrega, permitiendo un control detallado sobre la continuidad y el estilo artístico. Está diseñada para plataformas que admiten Python 3.10+, Pillow, FFmpeg y Git, y no requiere clave API para sus funciones básicas. El flujo de trabajo es guiado por el autor: compila un storyboard, genera tomas individuales con herramientas autorizadas, y las une usando cortes duros, títulos animados locales y revisión técnica. La habilidad incluye helpers como 'story_project.py' y un CLI 'gif_cinema' para compilar, renderizar y exportar en formato GIF o MP4, con soporte para manifiestos de tomas, hash-pinning y revisión de continuidad. Ideal para desarrolladores que buscan una solución robusta para animación basada en texto, con enfoque en transparencia, iteración y calidad visual.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

GIF Cinema

Convierte una breve premisa en diferentes acciones visibles con causa y efecto, luego ensambla las tomas revisadas en una historia más larga. Separa la apariencia, la acción del personaje, el movimiento gráfico y el formato de entrega. Mantén el estilo artístico elegido por el usuario y el metraje aprobado. Este es un flujo de trabajo guiado por el autor, no un modelo de animación autónomo.

Elige una ruta de producción real

  • GIFs existentes: inspecciona lo que muestra cada toma realmente; construye la historia alrededor de esas acciones. El ejemplo empaquetado prueba esta ruta sin una clave API.
  • Nueva acción de personaje: planifica una acción principal por GIF corto generado. Usa solo una herramienta/API de generación disponible y autorizada. Inspecciona y acepta cada resultado antes de extender su estado a otra escena. Consulta generation.md.
  • Diseño de movimiento: usa el renderizador local de títulos animados incluido para tipografía y entradas de reglas de acento. Para personajes en capas, accesorios móviles, máscaras o acción rigida, usa un compositor realmente disponible en el entorno y conserva sus fuentes editables. Este paquete no contiene un motor de animación en capas general.

No cuentes un desplazamiento de cámara, una superposición, metraje invertido, otro título sobre el mismo clip, o pausas más largas como una nueva acción de personaje. Un dibujo animado largo necesita más eventos de historia. Si esos dibujos faltan y la generación no está disponible, entrega un animatic honesto o un plan de producción, no un supuesto dibujo animado terminado.

Tiempo de ejecución y verificación sin clave

Requiere Python 3.10+, Pillow, Git, FFmpeg y ffprobe. Usa un entorno aislado. Los helpers de la habilidad funcionan con este entorno de ejecución público e inmutable revisado:

python -m venv .venv
# Activa .venv con el comando para tu shell, luego:
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

También se puede usar un checkout existente de esa revisión o un entorno de ejecución más nuevo compatible probado. No degradar automáticamente un proyecto que funcione. El entorno de ejecución usa la licencia de evaluación de código fuente incluida. La influencia del flujo de atribución de GIF Factory tiene su propio aviso MIT en THIRD_PARTY_NOTICES.md.

Resuelve las rutas de helpers y activos relativas a esta carpeta de la habilidad. Los ejemplos asumen que el shell está en esa carpeta. Desde otro lugar, usa rutas absolutas para los helpers y el JSON de entrada; mantén las salidas en el proyecto del usuario, nunca en la habilidad 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 es una edición fuente de 9.68 segundos, no un nuevo dibujo animado largo: un título animado local de 2 segundos seguido de tres acciones de astronauta existentes de 2.56 segundos. El MP4 usa 25 fps; los personajes fuente tienen 16 dibujos por toma, no 25 nuevos dibujos por segundo. La exportación de GIF por defecto es de 320 px de ancho, 10 fps, sin sonido, reproducción única. --repeat repite el resultado completo. Algunos visores anulan el comportamiento de bucle del GIF.

Para la verificación de regresión principal de la CLI, ejecuta scripts/smoke_test.py --out NEW_DIRECTORY. Ningún helper necesita clave. El helper de historia nunca hace llamadas al proveedor y rechaza un proyecto de salida existente. story-project.md documenta su esquema exacto, comandos, tiempos y límites.

Dirige antes de generar

Para una nueva historia o una extensión sustancial, lee storytelling.md. Produce un storyboard editable con:

  1. La premisa y el final; audiencia, duración objetivo, relación de aspecto, idioma y requisitos de sonido cuando sean relevantes. Infiere valores predeterminados de bajo riesgo en lugar de preguntar de nuevo.
  2. Una biblia visual compacta: anclajes reconocibles de personajes, paleta/material, vestuario, conteos de accesorios, propiedad, escala, geografía y convenciones de cámara.
  3. Una lista de ritmos/tomas: estado anterior → acción visible → estado posterior, cámara, duración esperada y propósito en la historia. Rastrea manos/accesorios/contacto en cada corte.
  4. Un mapa de fuentes/generación: qué acciones ya existen, cuáles necesitan nuevos dibujos, cuáles son gráficos locales. Marca las tomas no renderizadas como no renderizadas.

Escala la historia añadiendo acciones y consecuencias significativas, no repitiendo metraje hasta que un temporizador alcance la premisa. El ejemplo de historia larga en assets/example/long-story.plan.json es un plan de producción de 14 acciones no renderizado. Compilarlo prepara 14 entradas de generación de una toma; no renderiza esas acciones.

Genera y une deliberadamente

Compila el storyboard con scripts/story_project.py compile .... Un proyecto de solo fuentes tiene un film.json ejecutable. Un proyecto con tomas faltantes/generadas tiene entradas generation/ID.json separadas y un assembly-template.json deliberadamente incompleto. El compilador no ejecuta ningún lote pagado.

Usa una acción representativa para establecer la viabilidad cuando el personaje/método es nuevo. La nueva generación necesita el propio acceso API del usuario y el límite acordado de llamadas. Para la continuidad del punto final, extrae el último fotograma aceptado anterior, inspecciónalo, luego adjunta ese fotograma existente más una referencia de identidad limpia a la entrada de la siguiente toma. El compilador no crea referencias futuras ni un grafo de dependencia automático.

Mantén carpetas de tomas separadas y un registro de candidatos aceptados/rechazados. Una retoma debe ser revisada en ambos cortes vecinos. Registra ID de toma, ruta, SHA-256 y notas de revisión de cada GIF seleccionado en un manifiesto de tomas. Compila con --takes takes.json para llenar los espacios generados sin cambiar sus modos manualmente. El helper verifica esos bytes exactos, mide sus retrasos reales y mantiene la solicitud original. Puede aplicar una selección parcial; las acciones faltantes permanecen explícitamente no renderizadas.

Cada proyecto incluye un storyboard.json portátil. Continúa desde ese archivo con un nuevo manifiesto de tomas y un nuevo directorio de salida. Las fuentes existentes y los títulos renderizados tienen hash-pinning y no pueden ser reemplazados por el manifiesto. Para una retoma intencional, crea una copia editada del storyboard original y selecciona la nueva toma allí; mantén el proyecto anterior y revisa ambos cortes vecinos de nuevo. Mantén versiones del proyecto con sus registros de revisión. Las notas de quien llama no son aceptación visual automática. Consulta el formato de selección exacto y el ejemplo sin clave. Usa renderización de cero llamadas incluso si una clave está configurada accidentalmente.

Movimiento, tiempo y exportación

Las tarjetas de título son entradas de texto/línea únicas seguidas de una pausa. El rotulado es local y editable en el storyboard, en lugar de confiarse a un prompt de generación. Los títulos son tomas separadas, no superposiciones; los subtítulos de tiempo de ejecución son un SRT separado, no grabados en los GIF. Especifica una fuente local con licencia usando --font si es necesario, e inspecciona sus glifos.

El tiempo del personaje proviene del GIF fuente decodificado. El re-temporizado de fuentes, transiciones, interpolación, generación de audio y síntesis automática de acciones no son proporcionados por este helper. El entorno de ejecución anclado usa cortes duros y puede importar audio local opcional a través de su script de película. GIF no tiene audio. Sigue la ayuda del entorno de ejecución actual si usas herramientas de edición más recientes; no impliques que el paquete anclado las incluye.

Exporta primero un MP4 verificado, luego un GIF más pequeño o capítulos. La conversión de paleta de GIF puede dañar degradados y contornos finos; revisa también el GIF final real. FPS altos de reproducción no crean nuevo movimiento. review.md da las comprobaciones de aceptación visual y técnica.

Entrega el resultado real

Proporciona los archivos GIF/MP4 solicitados con duración real, dimensiones, comportamiento de bucle, cadencia de dibujo fuente versus FPS de exportación, estado de silencio/audio y defectos visuales conocidos. Incluye un proyecto editable cuando sea solicitado. Revisa los nombres de fuentes, prompts, referencias y licencias antes de compartir un proyecto; no publiques entradas privadas. Distingue verificación técnica, tu revisión visual y la aceptación del usuario.

Skills relacionados