GPT-Image 2.5 is a still-image model. It cannot generate video. And yet, days after OpenAI shipped ChatGPT Images 2.5 on September 8, 2026, OpenAI developer experience engineer Charlie Guo posted a 10-second stop-motion clip of an insect's metamorphosis, captioned: "GPT-Image 2.5 is good enough to do stop motion animation now!" It racked up hundreds of thousands of views, and the reaction from other builders was immediate — Twilio/DX commentator Oleks called it "a wild new genre overnight."
The trick isn't a new video model. It's that GPT-Image 2.5's improved consistency across a sequence of edits — the same feature OpenAI marketed as fixing "regenerate the whole image for one small change" — is now good enough that individual, separately-generated stills can be stitched together and read as motion. This post breaks down the actual workflow Guo described, step by step, so you can try it yourself.
TL;DR
| Question | Answer |
|---|---|
| Is this a new video-generation feature? | No — GPT-Image 2.5 is a still-image model. Each frame is a separate generation, stitched together afterward. |
| What made this possible now? | GPT-Image 2.5's improved consistency across edits — the same "targets only what you ask for" fix from the Images 2.5 launch — keeps a character's design stable across many frames. |
| What tools did the viral example use? | The GPT-Image 2.5 API for generation, Codex for iterating on storyboards and driving frame generation. |
| Was it one prompt? | No — Guo said it was "definitely not a 1-shot," built from concept art iterated over multiple passes before storyboarding. |
| Do I need to code anything? | No — you can do this manually in the ChatGPT app with Sketch and comment-based editing; Codex just makes a longer sequence faster to iterate. |
| What's the biggest risk? | Drift — small design changes accumulating frame to frame until the character stops matching itself. |
The workflow, step by step
1. Start with concept art, not a storyboard
Guo was explicit about where the process actually began: "I started with a lot of concept art in various directions — I came up with the insect idea and iterated from there." Don't jump straight to "frame 1, frame 2, frame 3." Spend the first round of generations exploring what the subject looks like, what style you want (Guo's clip reads as soft, hand-crafted stop-motion — think Laika-style felt-and-clay texture, not photoreal), and lock a single reference image before you touch sequencing. This reference frame is what every later frame gets checked against.
2. Storyboard the motion with an agent, not prompt-by-prompt
Once the concept art was approved, Guo iterated on storyboards with Codex rather than writing each frame's prompt from scratch by hand. This is the part that actually differentiates the workflow from just "generate a few images and hope": an agent can hold the full sequence's plan in context, keep track of which frames are approved, and generate the next prompt as a diff against the last approved frame rather than a fresh description — which is exactly the consistency behavior GPT-Image 2.5's edit model was built to support. If you're already generating images from inside a coding agent, this is the same pattern covered in generating images from Claude Code with the OpenAI skill — the agent drives iteration, you approve or reject each output.
3. Generate frames as edits, not fresh generations
This is the mechanical core of the technique. Instead of writing ten independent text prompts for ten frames — which invites the model to reinterpret the character slightly differently each time — generate frame N+1 as an edit of frame N: "move the front legs forward slightly, keep everything else identical." GPT-Image 2.5's comment-based and targeted editing means the model is constrained to changing only what you specify, which is what keeps a face, a texture, or a prop consistent across a sequence instead of drifting. This maps directly onto why how diffusion image generation works explains diffusion models struggle with exact spatial consistency by default — editing-from-the-last-frame is a workaround for that limitation, not a feature that eliminates it.
4. Choose your frame count and rate deliberately
Real stop-motion runs 12-24 frames per second. You don't need anywhere near that with an AI-generated sequence — the deliberately choppy, hand-animated look is part of the aesthetic people responded to, not a flaw to smooth over. A 10-second clip with real, structurally different poses at 4-8 frames per second (40-80 distinct generated stills, fewer if you hold some frames longer) reads as intentional stop-motion rather than a slideshow. Budget your generation calls accordingly — at that frame count, Flare, the speed-tuned GPT-Image 2.5 API model, is the right tier for draft passes; re-render only your final approved sequence on Sunburst if you need maximum fidelity for the shipped clip.
5. Stitch the frames into a clip
GPT-Image 2.5 outputs stills, not a video file — assembling them is a separate, ordinary step. A simple ffmpeg command turns a numbered sequence of frames into a clip at whatever frame rate you choose:
ffmpeg -framerate 6 -i frame_%03d.png -c:v libx264 -pix_fmt yuv420p stop_motion_output.mp4
Adjust -framerate to taste — lower values (4-6 fps) read as more deliberately "stop-motion," higher values (10-12 fps) start to smooth toward conventional animation. If you want frame-hold variation (some poses lingering longer than others, which is common in real stop-motion), duplicate specific frame files in your sequence before running ffmpeg rather than trying to control per-frame timing through the command itself.
6. Watch for drift, and re-anchor when you see it
The single biggest risk across a long sequence is drift — proportions, colors, or design details slowly diverging from your original concept art as edit-after-edit compounds small deviations. When you notice it (a color that's shifted, a limb that's grown), don't keep editing forward from the drifted frame. Go back to your last frame that still matches the original concept art and re-branch from there. This is the same discipline professional stop-motion animators use with physical puppets, and it maps directly onto agent builders' TL;DR in the Images 2.5 launch post: re-test your edit assumptions rather than trusting a "consistent edits" claim to hold indefinitely across dozens of iterations.
Why this is a genuinely different capability, not just a novelty clip
Wharton professor Ethan Mollick-style skepticism aside, this is worth taking seriously as a workflow shift rather than a stunt. Traditional 2D/3D character animation and real stop-motion both require either animation software expertise or physical puppet-building — both real skill barriers. A concept-art-to-edited-frames pipeline collapses that barrier to "can you write a clear prompt and evaluate whether an image matches your last approved frame," which is a much lower floor. It's also notably different from asking a dedicated video model like Sora, Kling, or Runway's character animation tools to generate motion directly — those systems reason about motion and physics as a single generation; this workflow explicitly does not, and that's arguably why it looks like real stop-motion rather than smooth CGI: every frame really is a discrete, separately-considered image, the same way a real stop-motion puppet is repositioned by hand between shots.
One caution from the same thread worth carrying into your own attempts: Google engineer Pamela Fox pointed out that the biological transition Guo animated (caterpillar to chrysalis) is more dramatic in reality than most people realize — the caterpillar has to shed its final skin layer to reveal the chrysalis underneath, not just "harden in place." If your subject involves any kind of transformation, a quick reference check against how the real process actually looks will make your storyboard read as informed rather than approximate — the same "verify before you animate" instinct that matters for diagram-heavy image generation, where Sam Altman's own launch caveat was that the model still can't be trusted for anything requiring exact technical accuracy.
What to try this week
- Pick a subject with a clear, discrete pose-to-pose transformation — a transformation, a walk cycle, an object assembling itself. Avoid subjects requiring continuous fluid motion (water, hair blowing) — those read worse at low frame rates than discrete poses do.
- Lock your concept art first. Don't start sequencing until you have one reference frame you're fully happy with.
- Edit forward from the last approved frame, every time — never regenerate from a fresh text prompt mid-sequence once your design is locked.
- Budget Flare for drafts, Sunburst for the final render — the same speed/precision split OpenAI shipped for every other GPT-Image 2.5 use case.
- Stitch with
ffmpegat a deliberately low frame rate (4-8 fps) rather than trying to fake smooth animation — the choppiness is the aesthetic.
Related reading
- ChatGPT Images 2.5: Flare, Sunburst, and What Actually Changed — the full launch coverage, including the consistency improvements this technique depends on
- Generate images from Claude Code with the OpenAI skill — the agent-driven generation pattern this workflow borrows from
- How diffusion image generation works — why consistency across edits is hard by default, and what "editing" changes about it
- Awesome GPT-Image-2 prompt library — structured prompt templates for GPT-Image workflows generally
- Runway Seedance 2: animator hours vs. weeks — for comparison, a dedicated video-model approach to character animation
- AI video generation guide: Sora, Runway, Kling — where true video models fit versus this frame-by-frame technique
- OpenAI — Introducing ChatGPT Images 2.5
This workflow is reconstructed from Charlie Guo's public X thread describing his process, not an official OpenAI tutorial. Frame counts, tools, and exact prompts are illustrative based on what he described publicly — expect to iterate on the specifics for your own subject.
