Skip to content

About

Turn GPT-generated GIFs into short films. A Codex and Claude Code skill for reviewing cuts, reshooting scenes, and exporting MP4. Includes a no-key demo.

Topics

Resources

Security policy

Stars

5 stars

Watchers

1 watching

Forks

Latest commit

ย 

History

238 Commits

Folders and files

Repository files navigation

GIF Cinema

Turn existing GIFs into a film. Inspect every cut.

A local workshop for Codex and Claude Code. No API key needed for the bundled quickstart.

Try it ยท Exact-frame master ยท Agent skill ยท 100-character grid ยท Workflows

Lantern Echo: an anime traveler releases light into a star canopy, a courier greets her, and she bows. Click to download the full film with sound.

Lantern Echo โ€” 20.8 seconds, with sound. A traveler sends a light to a courier; it returns to her hands and lights the garden. New drawn actions, local RIFE inbetweens and authored effects. The looping preview is a silent 6.4-second excerpt.

Download the full film with sound (MP4) ยท Production & review ยท Still

Rebuild this film offline: after installing .[lossless] and FFmpeg, run python examples/lantern-echo/build.py --out output/lantern-echo. The source drawings, prepared motion atlases, effects and soundtrack are included; no new generations or model downloads are needed.

The native engine fragment recreates the catch, release and lantern payoff through sequence build, with performances, camera, effects and sound declared in JSON.

Make your first film

Three bundled GIFs โ†’ a 7.68-second MP4. No key, no paid requests.

You need Python 3.10+, Git, FFmpeg and ffprobe. Pillow installs with the package.

git clone https://github.com/antropos17/chatgpt-gif-cinema.git
cd chatgpt-gif-cinema
python -m venv .venv

Activate with source .venv/bin/activate on macOS/Linux, or .\.venv\Scripts\Activate.ps1 in Windows PowerShell. Then:

python -m pip install .
python -m gif_cinema doctor
python -m gif_cinema render examples/film.json --dry-run --max-api-calls 0
python -m gif_cinema render examples/film.json --execute --max-api-calls 0 --out output/my-first-film

Open output/my-first-film/film.mp4. The folder also includes a contact sheet, cut endpoints and a resumable manifest. Repeat the last command to verify reuse with zero new provider calls. What this example preserves.

Need exact decoded drawings and native GIF holds? Use the optional lossless film master. Ordinary MP4 export is a fixed-FPS, lossy viewing format.

Install the skill

Build the maintained 0.4.2 skill package from this checkout:

python tools/package_skill.py --out dist/gif-cinema.skill.zip

Extract its single gif-cinema folder into:

  • Codex: ~/.codex/skills/gif-cinema
  • Claude Code: ~/.claude/skills/gif-cinema

Follow the included installation check to install and verify its pinned Python runtime separately. The older skill-v0.1.1 GitHub Release is not this package.

Try this with your agent:

Use the gif-cinema skill to assemble the included astronaut story with zero API calls. Return the MP4, a small GIF, the editable project and a review of both cuts.

Anime pixel art

Already tried the film? Explore the full cast below, or browse methods and recipes. The full grid stays on this page by design; animated media across the README totals about 97 MB. On a slow connection, jump straight to setup or open a characterโ€™s Still link.

100 characters ยท 3 outfit studies ยท real GIF previews

Short 1.44โ€“1.92 s character studies, not finished 15-second scenes. Click to watch; โ€œMethod & limitsโ€ explains the remaining drift.

Fox knight ยท shield salute: drawn poses.
001 ยท Fox knight
shield salute ยท 1.92 s
Method & limits ยท Still
Dragon chef ยท offering basket: drawn poses.
002 ยท Dragon chef
offering basket ยท 1.92 s
Method & limits ยท Still
Raccoon courier ยท goggle salute: drawn poses.
003 ยท Raccoon courier
goggle salute ยท 1.92 s
Method & limits ยท Still
Coral astronaut ยท hand wave: drawn poses.
004 ยท Coral astronaut
hand wave ยท 1.92 s
Method & limits ยท Still
Violinist ยท bow gesture: drawn poses.
005 ยท Violinist
bow gesture ยท 1.92 s
Method & limits ยท Still
Blacksmith ยท hammer inspection: drawn poses.
006 ยท Blacksmith
hammer inspection ยท 1.92 s
Method & limits ยท Still
Herbalist ยท lavender offering: drawn poses.
007 ยท Herbalist
lavender offering ยท 1.92 s
Method & limits ยท Still
Magician ยท wand flourish: drawn poses.
008 ยท Magician
wand flourish ยท 1.92 s
Method & limits ยท Still
Baker ยท bread presentation: drawn poses.
009 ยท Baker
bread presentation ยท 1.92 s
Method & limits ยท Still
Lantern sailor ยท lantern lift: drawn poses.
010 ยท Lantern sailor
lantern lift ยท 1.92 s
Method & limits ยท Still
Botanist ยท plant inspection: drawn poses.
011 ยท Botanist
plant inspection ยท 1.92 s
Method & limits ยท Still
Dancer ยท arm flourish: drawn poses.
012 ยท Dancer
arm flourish ยท 1.92 s
Method & limits ยท Still
Mechanic ยท wrench inspection: drawn poses.
013 ยท Mechanic
wrench inspection ยท 1.92 s
Method & limits ยท Still
Detective ยท notebook idle: drawn poses.
014 ยท Detective
notebook idle ยท 1.92 s
Method & limits ยท Still
Potter ยท bowl inspection: drawn poses.
015 ยท Potter
bowl inspection ยท 1.92 s
Method & limits ยท Still
Tea merchant ยท presentation: drawn poses.
016 ยท Tea merchant
presentation ยท 1.92 s
Method & limits ยท Still
Silver knight ยท sword gesture: drawn poses.
017 ยท Silver knight
sword gesture ยท 1.92 s
Method & limits ยท Still
Cartographer ยท map study: drawn poses.
018 ยท Cartographer
map study ยท 1.92 s
Method & limits ยท Still
Aviator ยท goggles salute: drawn poses.
019 ยท Aviator
goggles salute ยท 1.92 s
Method & limits ยท Still
Polar traveler ยท scarf adjustment: drawn poses.
020 ยท Polar traveler
scarf adjustment ยท 1.92 s
Method & limits ยท Still
Professor ยท adjusts glasses: drawn poses.
021 ยท Professor
adjusts glasses ยท 1.92 s
Method & limits ยท Still
Mountain climber ยท strap gesture: drawn poses.
022 ยท Mountain climber
strap gesture ยท 1.92 s
Method & limits ยท Still
Forest courier ยท map gesture: drawn poses.
023 ยท Forest courier
map gesture ยท 1.92 s
Method & limits ยท Still
Innkeeper ยท welcome gesture: drawn poses.
024 ยท Innkeeper
welcome gesture ยท 1.92 s
Method & limits ยท Still
Astronomer ยท glasses adjustment: drawn poses.
025 ยท Astronomer
glasses adjustment ยท 1.92 s
Method & limits ยท Still
Fisherman ยท net lift: drawn poses.
026 ยท Fisherman
net lift ยท 1.92 s
Method & limits ยท Still
Trumpeter ยท subtle performance idle: drawn poses.
027 ยท Trumpeter
subtle performance idle ยท 1.92 s
Method & limits ยท Still
Toolbox mechanic ยท wrench lift: drawn poses.
028 ยท Toolbox mechanic
wrench lift ยท 1.92 s
Method & limits ยท Still
Martial artist ยท palm block: drawn poses.
029 ยท Martial artist
palm block ยท 1.92 s
Method & limits ยท Still
Bicycle courier ยท wave: drawn poses.
030 ยท Bicycle courier
wave ยท 1.92 s
Method & limits ยท Still
Conductor ยท salute: drawn poses.
031 ยท Conductor
salute ยท 1.92 s
Method & limits ยท Still
Gardener ยท wave: drawn poses.
032 ยท Gardener
wave ยท 1.92 s
Method & limits ยท Still
Pastry chef ยท presentation: drawn poses.
033 ยท Pastry chef
presentation ยท 1.92 s
Method & limits ยท Still
Armorer ยท hand gesture: drawn poses.
034 ยท Armorer
hand gesture ยท 1.92 s
Method & limits ยท Still
Archaeologist ยท brush inspection: drawn poses.
035 ยท Archaeologist
brush inspection ยท 1.92 s
Method & limits ยท Still
Rope sailor ยท salute: drawn poses.
036 ยท Rope sailor
salute ยท 1.92 s
Method & limits ยท Still
Moon wizard ยท conjuring gesture: drawn poses.
037 ยท Moon wizard
conjuring gesture ยท 1.92 s
Method & limits ยท Still
Falconer ยท greeting: drawn poses.
038 ยท Falconer
greeting ยท 1.92 s
Method & limits ยท Still
Beekeeper ยท honey presentation: drawn poses.
039 ยท Beekeeper
honey presentation ยท 1.92 s
Method & limits ยท Still
Mushroom picker ยท basket offering: drawn poses.
040 ยท Mushroom picker
basket offering ยท 1.92 s
Method & limits ยท Still
Ice sorceress ยท spell gesture: drawn poses.
041 ยท Ice sorceress
spell gesture ยท 1.92 s
Method & limits ยท Still
Pirate ยท compass gesture: drawn poses.
042 ยท Pirate
compass gesture ยท 1.92 s
Method & limits ยท Still
Quilter ยท showing quilt: drawn poses.
043 ยท Quilter
showing quilt ยท 1.92 s
Method & limits ยท Still
Drummer ยท alternating hands: drawn poses.
044 ยท Drummer
alternating hands ยท 1.92 s
Method & limits ยท Still
Lute player ยท strum gesture: drawn poses.
045 ยท Lute player
strum gesture ยท 1.92 s
Method & limits ยท Still
Cellist ยท bow stroke: drawn poses.
046 ยท Cellist
bow stroke ยท 1.92 s
Method & limits ยท Still
Stage technician ยท lamp adjustment: drawn poses.
047 ยท Stage technician
lamp adjustment ยท 1.92 s
Method & limits ยท Still
Flutist ยท finger gesture: drawn poses.
048 ยท Flutist
finger gesture ยท 1.92 s
Method & limits ยท Still
Calligrapher ยท collar gesture: drawn poses.
049 ยท Calligrapher
collar gesture ยท 1.92 s
Method & limits ยท Still
Cyclops robot ยท claw articulation: drawn poses.
050 ยท Cyclops robot
claw articulation ยท 1.92 s
Method & limits ยท Still
Penguin admiral ยท flipper wave: drawn poses.
051 ยท Penguin admiral
flipper wave ยท 1.92 s
Method & limits ยท Still
Lobster boxer ยท jab gestures: drawn poses.
052 ยท Lobster boxer
jab gestures ยท 1.92 s
Method & limits ยท Still
Wolf detective ยท lens inspection: drawn poses.
053 ยท Wolf detective
lens inspection ยท 1.92 s
Method & limits ยท Still
Shark mechanic ยท goggles adjustment: drawn poses.
054 ยท Shark mechanic
goggles adjustment ยท 1.92 s
Method & limits ยท Still
Raven queen ยท head tilt and blink: drawn poses.
055 ยท Raven queen
head tilt and blink ยท 1.92 s
Method & limits ยท Still
Moth witch ยท wing folding: drawn poses.
056 ยท Moth witch
wing folding ยท 1.92 s
Method & limits ยท Still
Axolotl alchemist ยท flask tilt: drawn poses.
057 ยท Axolotl alchemist
flask tilt ยท 1.92 s
Method & limits ยท Still
Jellyfish princess ยท cap pulse: drawn poses.
058 ยท Jellyfish princess
cap pulse ยท 1.92 s
Method & limits ยท Still
Steampunk librarian ยท reading and page flutter: drawn poses.
059 ยท Steampunk librarian
reading and page flutter ยท 1.92 s
Method & limits ยท Still
Rabbit samurai ยท ceremonial bow: drawn poses.
060 ยท Rabbit samurai
ceremonial bow ยท 1.92 s
Method & limits ยท Still
Dragon aviator ยท grounded wingbeats: drawn poses.
061 ยท Dragon aviator
grounded wingbeats ยท 1.92 s
Method & limits ยท Still
Slime bard ยท singing expression and strum: drawn poses.
062 ยท Slime bard
singing expression and strum ยท 1.92 s
Method & limits ยท Still
Horned gardener ยท watering: drawn poses.
063 ยท Horned gardener
watering ยท 1.92 s
Method & limits ยท Still
Moon knight ยท shield guard: drawn poses.
064 ยท Moon knight
shield guard ยท 1.92 s
Method & limits ยท Still
Mushroom druid ยท bell swing: drawn poses.
065 ยท Mushroom druid
bell swing ยท 1.92 s
Method & limits ยท Still
Cyber violinist ยท bow gesture: drawn poses.
066 ยท Cyber violinist
bow gesture ยท 1.92 s
Method & limits ยท Still
Bat courier ยท inspecting envelope: drawn poses.
067 ยท Bat courier
inspecting envelope ยท 1.92 s
Method & limits ยท Still
Robot wolf ยท head tilt and tail wag: drawn poses.
068 ยท Robot wolf
head tilt and tail wag ยท 1.92 s
Method & limits ยท Still
Owl cartographer ยท looking around: drawn poses.
069 ยท Owl cartographer
looking around ยท 1.92 s
Method & limits ยท Still
Red panda host ยท cooling tea: drawn poses.
070 ยท Red panda host
cooling tea ยท 1.92 s
Method & limits ยท Still
Crystal golem ยท opening palm: drawn poses.
071 ยท Crystal golem
opening palm ยท 1.92 s
Method & limits ยท Still
Polar bear smith ยท yawn: drawn poses.
072 ยท Polar bear smith
yawn ยท 1.92 s
Method & limits ยท Still
Chameleon rogue ยท wary glance: drawn poses.
073 ยท Chameleon rogue
wary glance ยท 1.92 s
Method & limits ยท Still
Bee honeykeeper ยท admiring jar: drawn poses.
074 ยท Bee honeykeeper
admiring jar ยท 1.92 s
Method & limits ยท Still
Turtle paladin ยท sleepy nod: drawn poses.
075 ยท Turtle paladin
sleepy nod ยท 1.92 s
Method & limits ยท Still
Snail postwoman ยท cherished letter: drawn poses.
076 ยท Snail postwoman
cherished letter ยท 1.92 s
Method & limits ยท Still
Salamander firefighter ยท nozzle drill: drawn poses.
077 ยท Salamander firefighter
nozzle drill ยท 1.92 s
Method & limits ยท Still
Vampire librarian ยท reading: drawn poses.
078 ยท Vampire librarian
reading ยท 1.92 s
Method & limits ยท Still
Phoenix drummer ยท stick flourish: drawn poses.
079 ยท Phoenix drummer
stick flourish ยท 1.92 s
Method & limits ยท Still
Lightning mage ยท palm spark: drawn poses.
080 ยท Lightning mage
palm spark ยท 1.92 s
Method & limits ยท Still
Rose duelist ยท flower scent: drawn poses.
081 ยท Rose duelist
flower scent ยท 1.92 s
Method & limits ยท Still
Beetle knight ยท shield guard: drawn poses.
082 ยท Beetle knight
shield guard ยท 1.92 s
Method & limits ยท Still
Star witch ยท wand sweep: drawn poses.
083 ยท Star witch
wand sweep ยท 1.92 s
Method & limits ยท Still
Whale conductor ยท downbeat: drawn poses.
084 ยท Whale conductor
downbeat ยท 1.92 s
Method & limits ยท Still
Ice elf archer ยท collar adjustment: drawn poses.
085 ยท Ice elf archer
collar adjustment ยท 1.92 s
Method & limits ยท Still
Cactus cowboy ยท hat tip: drawn poses.
086 ยท Cactus cowboy
hat tip ยท 1.92 s
Method & limits ยท Still
Fox shrine maiden ยท lantern lift: drawn poses.
087 ยท Fox shrine maiden
lantern lift ยท 1.92 s
Method & limits ยท Still
Ghost gardener ยท watering: drawn poses.
088 ยท Ghost gardener
watering ยท 1.92 s
Method & limits ยท Still
Roller postgirl ยท letter presentation: drawn poses.
089 ยท Roller postgirl
letter presentation ยท 1.92 s
Method & limits ยท Still
Clockwork ballerina ยท plie: drawn poses.
090 ยท Clockwork ballerina
plie ยท 1.44 s
Method & limits ยท Still
Lantern ranger ยท lookout: drawn poses.
091 ยท Lantern ranger
lookout ยท 1.92 s
Method & limits ยท Still
Painter ยท palette glance: drawn poses.
092 ยท Painter
palette glance ยท 1.92 s
Method & limits ยท Still
Clockmaker ยท watch inspection: drawn poses.
093 ยท Clockmaker
watch inspection ยท 1.92 s
Method & limits ยท Still
Giraffe astronomer ยท discovery gesture: drawn poses.
094 ยท Giraffe astronomer
discovery gesture ยท 1.92 s
Method & limits ยท Still
Desert dancer ยท wrist gesture: drawn poses.
095 ยท Desert dancer
wrist gesture ยท 1.92 s
Method & limits ยท Still
Rabbit baker ยท ear dip: drawn poses.
096 ยท Rabbit baker
ear dip ยท 1.92 s
Method & limits ยท Still
Octopus scientist ยท blink: drawn poses.
097 ยท Octopus scientist
blink ยท 1.92 s
Method & limits ยท Still
Glassworker ยท vase inspection: drawn poses.
098 ยท Glassworker
vase inspection ยท 1.92 s
Method & limits ยท Still
Sun priestess ยท bow: drawn poses.
099 ยท Sun priestess
bow ยท 1.92 s
Method & limits ยท Still
Solar priestess ยท blink: drawn poses.
100 ยท Solar priestess
blink ยท 1.92 s
Method & limits ยท Still
Cream jacket: drawn poses.
101 ยท Cream jacket
Outfit study ยท 2.56 s
Method & limits ยท Still
Jade traveler: drawn poses.
102 ยท Jade traveler
Outfit study ยท 2.56 s
Method & limits ยท Still
Coral festival: drawn poses.
103 ยท Coral festival
Outfit study ยท 2.56 s
Method & limits ยท Still

100 characters: 99 previews have 16 frames / 1.92 s; the clockwork ballerina has 12 frames / 1.44 s. These are short generated-pose previews with residual face, outline and prop drift, not 15-second films. Per-character limitations ยท Detailed catalog

The full GIF grid loads about 79 MB. Recovery provenance and available sources.

Outfit studies: each has 32 frames ยท 2.56 s ยท transparent. Hair, face and sleeves still jump at 15 โ†’ 16 and 31 โ†’ 0, not seamless loops. Static concept sheets are not counted as animations.

New character sources & method ยท Measured GIF facts ยท Outfit frames ยท Draft festival film

Earlier shared-stage experiments

Three outfits in one garden and two heroes are earlier composition tests, each 16 frames / 1.92 seconds. Separate outfit sources are shown above.

Sculptural loops

FORM / 01: porcelain arcs unfold around a copper sphere in an actual Blender-rendered six-second loop.

FORM / 01
Porcelain, copper, six seconds. Rendered in Blender EEVEE.
Watch MP4 ยท Open the .blend ยท Import into GIF Cinema

Blender scene + Python source included. Import the rendered GIF into Cinema. No model call or JavaScript animation.

Selected work

Stories, lettering and graphic layers. Open any preview for its source and recipe.

A Reply from the Stars: a local title and three existing astronaut takes, played once.
A Reply from the Stars
Three generated takes + local title ยท 9.70 s GIF
Story recipe ยท Storyboard
Chrome Trefoil: the original archived Blender EEVEE rotation, one 3.20-second loop.
Chrome Trefoil
Archived Blender EEVEE study ยท 3.20 s loop
Watch MP4 ยท Source & provenance
Three authored strokes reveal a heart, an underline and a sparkle. Local rendering, no generated artwork.
Draw, pause, finish
Editable stroke paths ยท 4.00 s play-once GIF
Draw-on workflow ยท Scene JSON
An existing astronaut action beside independently animated text and an accent line.
Action beside typography
Existing GIF + local graphic layers ยท 3.20 s
Composition workflow ยท Scene JSON

More examples & recipes ยท Original API take ยท Vertical motion ยท Review the source drawings

The astronaut cards reuse existing footage, with differences between takes. Graphics use the experimental layer renderer. Blender examples are standalone scenes, not a CLI rendering backend.

Choose a workflow

Make or inspect Start here
Connected actions on one shared stage, with persistent props Scene sequences
A short film with titles or illustrated story pages Storytelling skill
Independent text, shapes, strokes and existing GIF layers Layer renderer ยท GIF composition
Whole-image motion with editable timing Motion recipes
Exact GIF palette control and integer pixel-art scaling Pixel palettes
Explicit pose holds and continuity from accepted atlas drawings Authored pose tracks
A sprite atlas from accepted drawings Pack or slice sprites
Every frame, cut and loop seam Review player & checklist
Frame-accurate cuts, subtitle sidecars and a soundtrack Exact script montage
A portable collection with an offline gallery and ZIP Offline GIF factory

The factory combines existing GIFs and local layer scenes. From the installed checkout, build and verify the bundled collection:

python -m gif_cinema factory build factory.example.json --out output/my-collection
python -m gif_cinema factory verify output/my-collection

Open output/my-collection/index.html, or share collection.zip when you have the rights to its contents. The gallery is static HTML with native GIF playback, no scripts.

Before making new footage

  • Generation is optional. New model-generated takes need supported provider access, billing and an explicitly authorized request cap. The demo and local tools work without them. Generation guide.
  • Review the actual motion. Matching prompts, high playback FPS and successful checks do not establish character continuity or a clean loop. Missing actions stay unrendered until suitable footage exists.
  • Keep the edit reproducible. Preserve accepted source files, inspect neighboring cuts after a retake, and deliver the project with its receipts. Technical verification and artistic acceptance are separate.

Production guide ยท Script format ยท Verification status

Earlier films and finishing studies

The cat, dog and astronaut comparisons show native takes beside private local finishing, not included in the public CLI. The gallery previews loop a 2.24-second excerpt; linked films show the full action.

Chrome Trefoil above is one archived Blender EEVEE loop, not native API output. FORM / 01 review scope records the newer scene's technical checks and sampled visual review.

Rights and credits

Inspired by GIF Factory's visual catalog and separation of production methods. No upstream artwork, character assets or code are copied into this catalog. Attribution.

GIF Cinema is source-available, not an OSI open-source release. Personal non-commercial evaluation and research are permitted; commercial use, redistribution and hosting require permission. License ยท Support the workshop.

About

Turn GPT-generated GIFs into short films. A Codex and Claude Code skill for reviewing cuts, reshooting scenes, and exporting MP4. Includes a no-key demo.

Topics

Resources

Security policy

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages