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 โ 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.
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 .venvActivate 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-filmOpen 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.
Build the maintained 0.4.2 skill package from this checkout:
python tools/package_skill.py --out dist/gif-cinema.skill.zipExtract 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.
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.
|
001 ยท Fox knight shield salute ยท 1.92 s Method & limits ยท Still |
002 ยท Dragon chef offering basket ยท 1.92 s Method & limits ยท Still |
003 ยท Raccoon courier goggle salute ยท 1.92 s Method & limits ยท Still |
|
004 ยท Coral astronaut hand wave ยท 1.92 s Method & limits ยท Still |
005 ยท Violinist bow gesture ยท 1.92 s Method & limits ยท Still |
006 ยท Blacksmith hammer inspection ยท 1.92 s Method & limits ยท Still |
|
007 ยท Herbalist lavender offering ยท 1.92 s Method & limits ยท Still |
008 ยท Magician wand flourish ยท 1.92 s Method & limits ยท Still |
009 ยท Baker bread presentation ยท 1.92 s Method & limits ยท Still |
|
010 ยท Lantern sailor lantern lift ยท 1.92 s Method & limits ยท Still |
011 ยท Botanist plant inspection ยท 1.92 s Method & limits ยท Still |
012 ยท Dancer arm flourish ยท 1.92 s Method & limits ยท Still |
|
013 ยท Mechanic wrench inspection ยท 1.92 s Method & limits ยท Still |
014 ยท Detective notebook idle ยท 1.92 s Method & limits ยท Still |
015 ยท Potter bowl inspection ยท 1.92 s Method & limits ยท Still |
|
016 ยท Tea merchant presentation ยท 1.92 s Method & limits ยท Still |
017 ยท Silver knight sword gesture ยท 1.92 s Method & limits ยท Still |
018 ยท Cartographer map study ยท 1.92 s Method & limits ยท Still |
|
019 ยท Aviator goggles salute ยท 1.92 s Method & limits ยท Still |
020 ยท Polar traveler scarf adjustment ยท 1.92 s Method & limits ยท Still |
021 ยท Professor adjusts glasses ยท 1.92 s Method & limits ยท Still |
|
022 ยท Mountain climber strap gesture ยท 1.92 s Method & limits ยท Still |
023 ยท Forest courier map gesture ยท 1.92 s Method & limits ยท Still |
024 ยท Innkeeper welcome gesture ยท 1.92 s Method & limits ยท Still |
|
025 ยท Astronomer glasses adjustment ยท 1.92 s Method & limits ยท Still |
026 ยท Fisherman net lift ยท 1.92 s Method & limits ยท Still |
027 ยท Trumpeter subtle performance idle ยท 1.92 s Method & limits ยท Still |
|
028 ยท Toolbox mechanic wrench lift ยท 1.92 s Method & limits ยท Still |
029 ยท Martial artist palm block ยท 1.92 s Method & limits ยท Still |
030 ยท Bicycle courier wave ยท 1.92 s Method & limits ยท Still |
|
031 ยท Conductor salute ยท 1.92 s Method & limits ยท Still |
032 ยท Gardener wave ยท 1.92 s Method & limits ยท Still |
033 ยท Pastry chef presentation ยท 1.92 s Method & limits ยท Still |
|
034 ยท Armorer hand gesture ยท 1.92 s Method & limits ยท Still |
035 ยท Archaeologist brush inspection ยท 1.92 s Method & limits ยท Still |
036 ยท Rope sailor salute ยท 1.92 s Method & limits ยท Still |
|
037 ยท Moon wizard conjuring gesture ยท 1.92 s Method & limits ยท Still |
038 ยท Falconer greeting ยท 1.92 s Method & limits ยท Still |
039 ยท Beekeeper honey presentation ยท 1.92 s Method & limits ยท Still |
|
040 ยท Mushroom picker basket offering ยท 1.92 s Method & limits ยท Still |
041 ยท Ice sorceress spell gesture ยท 1.92 s Method & limits ยท Still |
042 ยท Pirate compass gesture ยท 1.92 s Method & limits ยท Still |
|
043 ยท Quilter showing quilt ยท 1.92 s Method & limits ยท Still |
044 ยท Drummer alternating hands ยท 1.92 s Method & limits ยท Still |
045 ยท Lute player strum gesture ยท 1.92 s Method & limits ยท Still |
|
046 ยท Cellist bow stroke ยท 1.92 s Method & limits ยท Still |
047 ยท Stage technician lamp adjustment ยท 1.92 s Method & limits ยท Still |
048 ยท Flutist finger gesture ยท 1.92 s Method & limits ยท Still |
|
049 ยท Calligrapher collar gesture ยท 1.92 s Method & limits ยท Still |
050 ยท Cyclops robot claw articulation ยท 1.92 s Method & limits ยท Still |
051 ยท Penguin admiral flipper wave ยท 1.92 s Method & limits ยท Still |
|
052 ยท Lobster boxer jab gestures ยท 1.92 s Method & limits ยท Still |
053 ยท Wolf detective lens inspection ยท 1.92 s Method & limits ยท Still |
054 ยท Shark mechanic goggles adjustment ยท 1.92 s Method & limits ยท Still |
|
055 ยท Raven queen head tilt and blink ยท 1.92 s Method & limits ยท Still |
056 ยท Moth witch wing folding ยท 1.92 s Method & limits ยท Still |
057 ยท Axolotl alchemist flask tilt ยท 1.92 s Method & limits ยท Still |
|
058 ยท Jellyfish princess cap pulse ยท 1.92 s Method & limits ยท Still |
059 ยท Steampunk librarian reading and page flutter ยท 1.92 s Method & limits ยท Still |
060 ยท Rabbit samurai ceremonial bow ยท 1.92 s Method & limits ยท Still |
|
061 ยท Dragon aviator grounded wingbeats ยท 1.92 s Method & limits ยท Still |
062 ยท Slime bard singing expression and strum ยท 1.92 s Method & limits ยท Still |
063 ยท Horned gardener watering ยท 1.92 s Method & limits ยท Still |
|
064 ยท Moon knight shield guard ยท 1.92 s Method & limits ยท Still |
065 ยท Mushroom druid bell swing ยท 1.92 s Method & limits ยท Still |
066 ยท Cyber violinist bow gesture ยท 1.92 s Method & limits ยท Still |
|
067 ยท Bat courier inspecting envelope ยท 1.92 s Method & limits ยท Still |
068 ยท Robot wolf head tilt and tail wag ยท 1.92 s Method & limits ยท Still |
069 ยท Owl cartographer looking around ยท 1.92 s Method & limits ยท Still |
|
070 ยท Red panda host cooling tea ยท 1.92 s Method & limits ยท Still |
071 ยท Crystal golem opening palm ยท 1.92 s Method & limits ยท Still |
072 ยท Polar bear smith yawn ยท 1.92 s Method & limits ยท Still |
|
073 ยท Chameleon rogue wary glance ยท 1.92 s Method & limits ยท Still |
074 ยท Bee honeykeeper admiring jar ยท 1.92 s Method & limits ยท Still |
075 ยท Turtle paladin sleepy nod ยท 1.92 s Method & limits ยท Still |
|
076 ยท Snail postwoman cherished letter ยท 1.92 s Method & limits ยท Still |
077 ยท Salamander firefighter nozzle drill ยท 1.92 s Method & limits ยท Still |
078 ยท Vampire librarian reading ยท 1.92 s Method & limits ยท Still |
|
079 ยท Phoenix drummer stick flourish ยท 1.92 s Method & limits ยท Still |
080 ยท Lightning mage palm spark ยท 1.92 s Method & limits ยท Still |
081 ยท Rose duelist flower scent ยท 1.92 s Method & limits ยท Still |
|
082 ยท Beetle knight shield guard ยท 1.92 s Method & limits ยท Still |
083 ยท Star witch wand sweep ยท 1.92 s Method & limits ยท Still |
084 ยท Whale conductor downbeat ยท 1.92 s Method & limits ยท Still |
|
085 ยท Ice elf archer collar adjustment ยท 1.92 s Method & limits ยท Still |
086 ยท Cactus cowboy hat tip ยท 1.92 s Method & limits ยท Still |
087 ยท Fox shrine maiden lantern lift ยท 1.92 s Method & limits ยท Still |
|
088 ยท Ghost gardener watering ยท 1.92 s Method & limits ยท Still |
089 ยท Roller postgirl letter presentation ยท 1.92 s Method & limits ยท Still |
090 ยท Clockwork ballerina plie ยท 1.44 s Method & limits ยท Still |
|
091 ยท Lantern ranger lookout ยท 1.92 s Method & limits ยท Still |
092 ยท Painter palette glance ยท 1.92 s Method & limits ยท Still |
093 ยท Clockmaker watch inspection ยท 1.92 s Method & limits ยท Still |
|
094 ยท Giraffe astronomer discovery gesture ยท 1.92 s Method & limits ยท Still |
095 ยท Desert dancer wrist gesture ยท 1.92 s Method & limits ยท Still |
096 ยท Rabbit baker ear dip ยท 1.92 s Method & limits ยท Still |
|
097 ยท Octopus scientist blink ยท 1.92 s Method & limits ยท Still |
098 ยท Glassworker vase inspection ยท 1.92 s Method & limits ยท Still |
099 ยท Sun priestess bow ยท 1.92 s Method & limits ยท Still |
|
100 ยท Solar priestess blink ยท 1.92 s Method & limits ยท Still |
101 ยท Cream jacket Outfit study ยท 2.56 s Method & limits ยท Still |
102 ยท Jade traveler Outfit study ยท 2.56 s Method & limits ยท Still |
|
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.
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.
Stories, lettering and graphic layers. Open any preview for its source and recipe.
![]() A Reply from the Stars Three generated takes + local title ยท 9.70 s GIF Story recipe ยท Storyboard |
![]() Chrome Trefoil Archived Blender EEVEE study ยท 3.20 s loop Watch MP4 ยท Source & provenance |
![]() Draw, pause, finish Editable stroke paths ยท 4.00 s play-once GIF Draw-on workflow ยท Scene JSON |
![]() 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.
| 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-collectionOpen 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.
- 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.
- A window, a jump, a nap: three takes, 7.68-second comparison.
- Follow the red ball: four takes, 10.24-second comparison.
- A signal, an answer: two takes, 5.12-second comparison.
- The complete cat short: 57.2 seconds, assembled and locally finished.
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.
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.












































































































