OpenAI Images 2.6: Now Faster, with Support for GIFs
OpenAI Images 2.6 turns sketches and photos into looping GIFs, generates images 50% faster, and keeps characters and products steady across edits. Learn what has changed, how the two API models differ, and what held up in my tests.
Until last week, getting a moving image out of ChatGPT meant asking for a sprite sheet, downloading it, and fixing the frames together yourself in some other tool. I did this more often than I'd like to admit.
On November 4, OpenAI released Images 2.6, and now you type "make a gif of a cat dancing" and get a looping GIF back.
GIFs are the headline, but they aren't the whole release. OpenAI says images now generate 50% faster, edits hold onto characters and products better, and the API splits into two models with different jobs.
In this article, I'll cover what Images 2.6 is, what changed, and how to make a GIF in both ChatGPT and using the API.
What's New in OpenAI Images 2.6?
OpenAI Images 2.6 is OpenAI's November 4, 2026 image update for ChatGPT, Codex, and the API. The main changes include:
Animated GIFs: Turn a prompt, photo, or sketch into a short looping GIF, then change its speed or edit single frames.
OpenAI Images 2.6 is the image generation and editing release OpenAI released on November 4, 2026. It’s available as the image tool inside ChatGPT and Codex and as two separate models in the OpenAI API.
In ChatGPT, you can’t select a model of your choice or switch between its models, Flare and Sunburst; you just type a request, and it generates a GIF. But with the API, you can choose between two models by name, and control settings such as quality and complexity yourself.
ChatGPT and Codex
OpenAI API
What you get
"Images 2.6" as a built-in tool
gpt-image-2.6-flare and gpt-image-2.6-sunburst
Who picks the model
ChatGPT
You
GIFs
Yes, with speed and frame controls in the chat
Yes, through output_format: "gif"
SVG export
No
Yes
Cost
Included in your plan, including Free
$5 text input, $8 image input, and $30 image output
Both API models cost the same per token, and those rates match the Images 2.5 models. So the choice between Flare and Sunburst comes down to speed versus detail, not price. Per-image cost still varies because higher-quality settings use more output tokens.
Suppose a coffee brand wants a short looping GIF of its mascot, a cartoon coffee cup, waving hello.
In ChatGPT (a marketer): She types “Make a looping GIF of our coffee-cup mascot waving hello.” ChatGPT picks the model and makes the GIF. If it’s too slow, she types “make it faster” in the chat. She doesn’t edit any settings, and pays nothing beyond her ChatGPT plan.
With the API (a developer): He’s adding a “Make a GIF” button to the brand’s app, so he writes the code himself. He selects gpt-image-2.6-flare because it’s the faster model, sets output_format: "gif", and chooses the frame count and quality. Each GIF is billed by tokens, so higher quality costs more per image.
What’s New in OpenAI Images 2.6?
Images 2.6 adds animated GIFs, faster generation, steadier multi-round edits, and better layouts for professional visuals.
Is OpenAI Images 2.6 really faster?
OpenAI says Images 2.6 generates images 50% faster than Images 2.5, and that gpt-image-2.6-flare can return a low-quality image in as little as six seconds. That’s a bold claim, and the announcement doesn’t explain how it was measured. So I tested it myself.
I gave Flare and Sunburst the same prompt, “A ceramic coffee mug on a wooden desk, morning light, product photo,” at 1024x1024 with complexity set to low. Flare ran at both low and medium quality, since low is the setting behind OpenAI’s six-second claim, and Sunburst ran at medium.
Each setup ran five times, and I kept the median, because one slow response can throw off an average. Then I repeated the whole test, since network speed changes from run to run and I didn’t want one lucky (or unlucky) afternoon to decide the result.
If you want to check my numbers against your own, here’s the script I ran inGoogle Colab:
import statistics
import time
from openai import OpenAI
# Reads OPENAI_API_KEY from your environment
client = OpenAI()
prompt ="A ceramic coffee mug on a wooden desk, morning light, product photo."# Each setup: (model, quality)
setups =[("gpt-image-2.6-flare","low"),("gpt-image-2.6-flare","medium"),("gpt-image-2.6-sunburst","medium"),]for model, quality in setups:
times =[]for _ inrange(5):
start = time.perf_counter()
client.images.generate(
model=model,
prompt=prompt,
size="1024x1024",
quality=quality,
extra_body={"complexity":"low"},# skip extra planning for a simple scene)
times.append(time.perf_counter()- start)# The median ignores one unusually slow or fast requestprint(model, quality,round(statistics.median(times),1),"s")Powered by
Here’s what I got:
Model
Quality
Run 1 median
Run 2 median
gpt-image-2.6-flare
low
6.9 seconds
7.7 seconds
gpt-image-2.6-flare
medium
7.8 seconds
7.4 seconds
gpt-image-2.6-sunburst
medium
14.5 seconds
15.8 seconds
Flare never got under OpenAI’s six seconds; my best median was 6.9. That’s not quite a broken promise, since “as little as” describes the best case, not the typical one. The second run also flipped low and medium quality, with Flare at medium finishing faster than at low.
At this size, the quality setting barely changes Flare’s speed, and network noise is bigger than the difference.
Sunburst is the slow one, and that held both times: 14.5 and 15.8 seconds, about twice as long as Flare.
Remember the complexity setting from earlier?
It controls how much the model plans before rendering, and it defaults to high. OpenAI’s six-second figure almost certainly assumes it’s set to low, which is why I tested it that way. Leave it unset, and you’re paying for planning time on a mug photo that doesn’t need it.
Faster doesn’t mean cheaper, though. A low-quality 1024x1024 image uses 823 output tokens in 2.6 versus 196 in 2.5. The per-token price didn’t change, so at $30 per 1M output tokens, that’s roughly $0.025 per image instead of $0.006. Small per image, not small across 10,000 of them.
How much more consistent is image editing?
According to OpenAI, Images 2.6 keeps more of an image unchanged when you edit one part of it, especially across several rounds of edits. Sunburst is the model it recommends for this because, at medium or high quality, it holds details steadier from one edit to the next.
Here’s what “consistent” covers in practice:
What should stay the same
Example of drift Images 2.6 should reduce
Characters
A mascot's face shape or outfit changes when you move it to a new scene
Products
A bottle's label text or cap color shifts after a background swap
Branding
A logo gets redrawn slightly differently each round
Visual details and scene
Lighting, props, or camera angle change when you only asked to edit one object
To test this, I generated a perfume bottle with gpt-image-2.6-sunburst at medium quality, then changed only the background three times: a beach, a night sky, and a kitchen shelf.
Each edit started from the previous result, not the original, so any drift would pile up. Every edit prompt ended the same way: “Keep the bottle, label, cap, and lighting on the bottle exactly the same.”
Here's the original next to the third edit:
The original: a green bottle with a gold cap on a marble counter. Image by Author.
After three rounds, the bottle came through almost untouched. The label still reads “MOSS No. 3” in the same serif type and gold border, and the cap, the square shape, and even the thin tube inside the glass all match the original.
What did change was everything around it:
The background carried over: I asked for a night sky in round 2 and got round 1’s beach at night, palm tree included. Since each edit builds on the last image, Sunburst treated the beach as something to keep, and only the kitchen in round 3 finally cleared it. The marble counter survived all three edits too, which I hadn’t asked for. Fair enough; it’s what the bottle stands on.
Lighting stayed exactly as I asked, and that was the problem: Sunburst took my prompt literally, so the bottle is lit like a sunny afternoon under a full moon, with the same hard shadow in every scene so it looks pasted in.
Still, for product shots, this is the consistency people have been asking for. Just don’t tell it to keep the lighting when the scene’s light should change.
Are professional visuals like posters better?
For layout work like posters and product images, OpenAI pitches Flare, not Sunburst. Flare is supposed to place text, images, and spacing more deliberately, while Sunburst is meant for fine detail and consistency.
That surprised me a little. You’d expect the faster model to be the sloppier one, so I put both on a poster to see.
I gave both models the same prompt at medium quality and a portrait 1024x1536 size: “A poster for a Saturday farmers market. Title: ‘Riverside Market’. Subtitle: ‘Every Saturday, 8 AM to 1 PM’. Illustrated vegetables at the bottom, clean sans-serif type.”
See the results below: Flare on the left, Sunburst on the right:
Flare and Sunburst poster comparison. Image by Author.
Every word came out right on both, which I didn’t expect from either. They also read “Riverside” literally and painted a river with a bridge behind the vegetables, though I never asked for one.
The difference is in how much each one adds:
Flare kept it simple with a huge title, the subtitle in a green pill, then vegetables. You could read it from across the street.
Sunburst built a whole scene, with market stalls, sunflowers, a tree, and a yellow ribbon banner, and it looks more like a finished illustration.
Model
Time
Text correct
What it's good for
gpt-image-2.6-flare
8.8 seconds
Yes
Bold, readable layouts and quick drafts
gpt-image-2.6-sunburst
27.4 seconds
Yes
Richer scenes with more detail
Sunburst took three times as long. For a poster, where people need to read the title and walk on, I’d take Flare’s version.
What can you do with animated GIF generation?
Images 2.6 turns a text prompt, an uploaded photo, or a rough sketch into a short looping GIF. In ChatGPT, you can then change the playback speed and edit individual frames without leaving the chat. Before this release, ChatGPTcouldn’t make a GIF in one step.
What it’s good for:
Animated characters: A mascot or a doodle that waves, blinks, or jumps.
Reaction GIFs and social content: Short loops for posts and replies.
Product animations: A still product shot becomes a loop that catches attention in a feed.
Storyboards: Testing how a character moves before paying for video production. OpenAI was clearthis isn’t a video generator; a GIF is a few frames on repeat, not a clip.
You don’t need a finished design, either. Draw a rough character, upload it, and ask it to wave. I’ll walk through that whole workflow in the next section.
What else changed?
A few smaller updates, split between the API and ChatGPT:
SVG export (API only): Set output_format: "svg" to get vector files for websites, apps, or print.
The complexity parameter (API): As I mentioned in the speed test, it accepts "low", "medium", or "high". Use low for simple edits like background swaps, and save high for crowded scenes with many constraints. Raising quality won’t fix a crowded scene; raising complexity might.
Saved reference images (ChatGPT): Upload a photo of yourself, your pet, or a mascot once, and ChatGPT keeps it. In a later chat, just ask for “my cat in a spacesuit” without uploading the photo again, and the same cat shows up every time.
Markup-guided edits (ChatGPT and API): Circle the part you want changed and say what to change, like circling a vase and writing “make it blue.” ChatGPT already had this; Images 2.6 brings it to the API.
How to Create GIFs With OpenAI Images 2.6
To make a GIF, ask for one in ChatGPT, or call the Images API with output_format: "gif". ChatGPT is quicker for a one-off, but the API gives you control over frame count and timing, which is quite important if you're making more than a handful of GIFs.
How to make a GIF in ChatGPT
Open a new chat and describe the GIF: the subject, the motion, and that it should loop. Here’s what I asked for: “Make a GIF of a small orange robot waving, then returning to its starting pose. Keep the background plain and the camera still.”
ChatGPT with Images 2.6 generates an orange robot. GIF by Author.
You can also start from something you already have. Upload a photo or a rough sketch, then say what should move and what must stay fixed.
I tried this with a child’s drawing of a bird:
A rough drawing of a bird. Image by Author.
My prompt: “Turn this child’s drawing into a looping GIF. Keep the hand-drawn style. Make the bird hop once and flap its wing, then return to its starting pose. Keep the background plain white and the camera still.”
The GIF ChatGPT made from a rough drawing. GIF by Author.
ChatGPT returned a 9-frame loop at 180 ms per frame, about 1.6 seconds, in a 183KB file. It kept the scribbly style, which I half expected it to “fix.” The bird crouches, jumps with its legs tucked, and lands.
My favorite detail is one I never asked for. The one-line wing grows into a real wing for the flap, then folds back into a curve when the bird lands. ChatGPT even added little motion lines, the way a kid would.
Those last three frames are nearly identical, so the bird pauses before the next hop. That pause hides the loop point well, though if you watch closely, the bird shifts slightly when it restarts.
Once a GIF is ready, you can slow it down, speed it up, or fix single frames. You don’t need the controls for this, either. Plain-language requests work, such as “Make the transition from the last frame back to the first smoother.”
How to make a GIF with the OpenAI API
Send a request to the image generation endpoint with output_format set to "gif". Two settings are specific to GIFs:
Parameter
Range
Default
frame_count
2 to 16 frames
9
frame_duration_ms
20 to 2,000 ms per frame, rounded to 10 ms
200
With the defaults, you get 9 frames at 200 ms each, so a 1.8-second loop.
I ran the code below in Google Colab with version 3.46 of the openai package, and it worked as written. The API matched every setting exactly, down to the 512x512 size.
import base64
from openai import OpenAI
# Reads OPENAI_API_KEY from your environment
client = OpenAI()
result = client.images.generate(
model="gpt-image-2.6-flare",# Flare: faster; switch to sunburst for detail
prompt=("A small orange robot waves, blinks, and returns to its starting pose. ""Plain white background, fixed camera, seamless loop."),
output_format="gif",
frame_count=9,# 9 frames x 200 ms = a 1.8-second loop
frame_duration_ms=200,
size="512x512",# smaller frames keep the file size down
quality="low",
complexity="low",# a simple motion doesn't need extra planning)# The GIF comes back as base64; decode it and save it to disk
gif_bytes = base64.b64decode(result.data[0].b64_json)withopen("robot.gif","wb")as f:
f.write(gif_bytes)Powered by
image-2.6-flare API generates an orange robot waving in a loop. GIF by Author.
Compare it with the ChatGPT robot. Both show an orange robot waving, but this one looks rougher because the code sets quality="low" to save time and money. The surface looks scratched, small parts like the antennas shift between frames, and in one frame the wave turns into a thumbs-up. Low quality is fine for a quick reaction GIF in a chat. For anything with your brand on it, use "medium" or "high".
The file came out at 429KB, close to the 500KB cap many websites set for GIFs.
Before you build on it, know two limits:
No streaming: Partial images and output_compression don’t work with GIF output either.
A pixel budget: Frame count, frame size, and n all have to fit inside one total. If a request fails, cut one of them.
How do you get a smooth loop?
In your prompt, ask for a motion that ends where it began, and say what should stay still. If the last frame doesn’t match the first, you’ll see a jump every time the GIF starts over. Slowing it down with frame_duration_ms won’t hide that jump. Instead, ask for the action to return to its starting pose, as I did with the robot and the bird.
In practice:
Choose one small, reversible action, such as a wave or a blink.
Keep the camera, background, and scale fixed.
Leave text out of the frame.
Watch several full loops, and check the middle frames, not just the first and last. That’s where my API robot slipped in its thumbs-up.
Check the file size before you put a GIF on a website. My 512x512, 9-frame robot already came in at 429KB, so 1024x1024 at 16 frames won’t come close to a 500KB cap.
Final Thoughts
If you make GIFs for social posts, mascots, or storyboards, Images 2.6 is a big change, because you no longer need a separate tool to animate your images.
However, if GIFs aren’t your thing and you’re looking for a still-image tool, our guide to the best free AI image generators compares some good options. To see how Google is handling the same editing problems, read our Nano Banana 2 guide.
I'm a content strategist who loves simplifying complex topics. I’ve helped companies like Splunk, Hackernoon, and Tiiny Host create engaging and informative content for their audiences.
FAQs
Do I need a ChatGPT Plus subscription to use the API?⌄
No, the API is billed separately from ChatGPT plans. You add prepaid credit, and a ChatGPT subscription doesn't include API usage.
Do Images 2.6 pictures carry a watermark?⌄
Yes, but an invisible one. Images from ChatGPT, Codex, and the API include C2PA metadata and a SynthID watermark. Social platforms often strip the metadata on upload, but SynthID is in the pixels.
It depends on where you upload them. OpenAI doesn't train on API data by default. However, in ChatGPT, your content may be used to improve models unless you opt out of your data controls.
What does size="auto" do for GIFs?⌄
It lets the API choose the frame size within the model's limits. For a fixed size, use WIDTHxHEIGHT with both numbers as multiples of 16.
Discover how ChatGPT Images 2.0 pushes image generation into a new era with stronger real-world reasoning, multilingual text rendering, stylistic realism, and a visual thought-partner workflow.
Google Gemini is the best free AI image generator for most users in 2026. Compare ChatGPT, Leonardo, Ideogram, Firefly, Stable Diffusion, FLUX, Canva, and more by free limits, commercial rights, image quality, and use case.
Discover how ChatGPT Images and the new GPT-Image-1.5 model transform creative workflows with major upgrades in precision editing, text rendering, and detail preservation.
Start your journey developing AI-powered applications with the OpenAI API. Learn about the functionality that underpins popular AI applications like ChatGPT.
Until last week, getting a moving image out of ChatGPT meant asking for a sprite sheet, downloading it, and fixing the frames together yourself in some other tool. I did this more often than I'd like to admit.
On November 4, OpenAI released Images 2.6, and now you type "make a gif of a cat dancing" and get a looping GIF back.
GIFs are the headline, but they aren't the whole release. OpenAI says images now generate 50% faster, edits hold onto characters and products better, and the API splits into two models with different jobs.
In this article, I'll cover what Images 2.6 is, what changed, and how to make a GIF in both ChatGPT and using the API.
What's New in OpenAI Images 2.6?
OpenAI Images 2.6 is OpenAI's November 4, 2026 image update for ChatGPT, Codex, and the API. The main changes include:
Animated GIFs: Turn a prompt, photo, or sketch into a short looping GIF, then change its speed or edit single frames.
Faster generation: OpenAI claims images generate 50% faster than Images 2.5.
Steadier edits: Characters, products, and brand details drift less across editing rounds.
Two API models: Use
gpt-image-2.6-flarefor speed andgpt-image-2.6-sunburstfor detail.Smaller additions: Export images in SVG, do markup-guided edits in the API, reference saved images, and use its
complexityparameter.It's available on every ChatGPT plan, including Free, though GIF creation is rolling out to accounts gradually.
What Is OpenAI Images 2.6?
OpenAI Images 2.6 is the image generation and editing release OpenAI released on November 4, 2026. It’s available as the image tool inside ChatGPT and Codex and as two separate models in the OpenAI API.
In ChatGPT, you can’t select a model of your choice or switch between its models, Flare and Sunburst; you just type a request, and it generates a GIF. But with the API, you can choose between two models by name, and control settings such as quality and complexity yourself.
ChatGPT and Codex
OpenAI API
What you get
"Images 2.6" as a built-in tool
gpt-image-2.6-flareandgpt-image-2.6-sunburstWho picks the model
ChatGPT
You
GIFs
Yes, with speed and frame controls in the chat
Yes, through
output_format: "gif"SVG export
No
Yes
Cost
Included in your plan, including Free
$5 text input, $8 image input, and $30 image output
Both API models cost the same per token, and those rates match the Images 2.5 models. So the choice between Flare and Sunburst comes down to speed versus detail, not price. Per-image cost still varies because higher-quality settings use more output tokens.
Suppose a coffee brand wants a short looping GIF of its mascot, a cartoon coffee cup, waving hello.
In ChatGPT (a marketer): She types “Make a looping GIF of our coffee-cup mascot waving hello.” ChatGPT picks the model and makes the GIF. If it’s too slow, she types “make it faster” in the chat. She doesn’t edit any settings, and pays nothing beyond her ChatGPT plan.
With the API (a developer): He’s adding a “Make a GIF” button to the brand’s app, so he writes the code himself. He selects
gpt-image-2.6-flarebecause it’s the faster model, setsoutput_format: "gif", and chooses the frame count and quality. Each GIF is billed by tokens, so higher quality costs more per image.What’s New in OpenAI Images 2.6?
Images 2.6 adds animated GIFs, faster generation, steadier multi-round edits, and better layouts for professional visuals.
Is OpenAI Images 2.6 really faster?
OpenAI says Images 2.6 generates images 50% faster than Images 2.5, and that
gpt-image-2.6-flarecan return a low-quality image in as little as six seconds. That’s a bold claim, and the announcement doesn’t explain how it was measured. So I tested it myself.I gave Flare and Sunburst the same prompt, “A ceramic coffee mug on a wooden desk, morning light, product photo,” at 1024x1024 with complexity set to low. Flare ran at both low and medium quality, since low is the setting behind OpenAI’s six-second claim, and Sunburst ran at medium.
Each setup ran five times, and I kept the median, because one slow response can throw off an average. Then I repeated the whole test, since network speed changes from run to run and I didn’t want one lucky (or unlucky) afternoon to decide the result.
If you want to check my numbers against your own, here’s the script I ran in Google Colab:
Here’s what I got:
Model
Quality
Run 1 median
Run 2 median
gpt-image-2.6-flarelow
6.9 seconds
7.7 seconds
gpt-image-2.6-flaremedium
7.8 seconds
7.4 seconds
gpt-image-2.6-sunburstmedium
14.5 seconds
15.8 seconds
Flare never got under OpenAI’s six seconds; my best median was 6.9. That’s not quite a broken promise, since “as little as” describes the best case, not the typical one. The second run also flipped low and medium quality, with Flare at medium finishing faster than at low.
At this size, the quality setting barely changes Flare’s speed, and network noise is bigger than the difference.
Sunburst is the slow one, and that held both times: 14.5 and 15.8 seconds, about twice as long as Flare.
Remember the complexity setting from earlier?
It controls how much the model plans before rendering, and it defaults to high. OpenAI’s six-second figure almost certainly assumes it’s set to low, which is why I tested it that way. Leave it unset, and you’re paying for planning time on a mug photo that doesn’t need it.
Faster doesn’t mean cheaper, though. A low-quality 1024x1024 image uses 823 output tokens in 2.6 versus 196 in 2.5. The per-token price didn’t change, so at $30 per 1M output tokens, that’s roughly $0.025 per image instead of $0.006. Small per image, not small across 10,000 of them.
How much more consistent is image editing?
According to OpenAI, Images 2.6 keeps more of an image unchanged when you edit one part of it, especially across several rounds of edits. Sunburst is the model it recommends for this because, at medium or high quality, it holds details steadier from one edit to the next.
Here’s what “consistent” covers in practice:
What should stay the same
Example of drift Images 2.6 should reduce
Characters
A mascot's face shape or outfit changes when you move it to a new scene
Products
A bottle's label text or cap color shifts after a background swap
Branding
A logo gets redrawn slightly differently each round
Visual details and scene
Lighting, props, or camera angle change when you only asked to edit one object
To test this, I generated a perfume bottle with
gpt-image-2.6-sunburstat medium quality, then changed only the background three times: a beach, a night sky, and a kitchen shelf.Each edit started from the previous result, not the original, so any drift would pile up. Every edit prompt ended the same way: “Keep the bottle, label, cap, and lighting on the bottle exactly the same.”
Here's the original next to the third edit:
The original: a green bottle with a gold cap on a marble counter. Image by Author.
After three rounds, the bottle came through almost untouched. The label still reads “MOSS No. 3” in the same serif type and gold border, and the cap, the square shape, and even the thin tube inside the glass all match the original.
What did change was everything around it:
Still, for product shots, this is the consistency people have been asking for. Just don’t tell it to keep the lighting when the scene’s light should change.
Are professional visuals like posters better?
For layout work like posters and product images, OpenAI pitches Flare, not Sunburst. Flare is supposed to place text, images, and spacing more deliberately, while Sunburst is meant for fine detail and consistency.
That surprised me a little. You’d expect the faster model to be the sloppier one, so I put both on a poster to see.
I gave both models the same prompt at medium quality and a portrait 1024x1536 size: “A poster for a Saturday farmers market. Title: ‘Riverside Market’. Subtitle: ‘Every Saturday, 8 AM to 1 PM’. Illustrated vegetables at the bottom, clean sans-serif type.”
See the results below: Flare on the left, Sunburst on the right:
Flare and Sunburst poster comparison. Image by Author.
Every word came out right on both, which I didn’t expect from either. They also read “Riverside” literally and painted a river with a bridge behind the vegetables, though I never asked for one.
The difference is in how much each one adds:
Sunburst built a whole scene, with market stalls, sunflowers, a tree, and a yellow ribbon banner, and it looks more like a finished illustration.
Model
Time
Text correct
What it's good for
gpt-image-2.6-flare8.8 seconds
Yes
Bold, readable layouts and quick drafts
gpt-image-2.6-sunburst27.4 seconds
Yes
Richer scenes with more detail
Sunburst took three times as long. For a poster, where people need to read the title and walk on, I’d take Flare’s version.
What can you do with animated GIF generation?
Images 2.6 turns a text prompt, an uploaded photo, or a rough sketch into a short looping GIF. In ChatGPT, you can then change the playback speed and edit individual frames without leaving the chat. Before this release, ChatGPT couldn’t make a GIF in one step.
What it’s good for:
You don’t need a finished design, either. Draw a rough character, upload it, and ask it to wave. I’ll walk through that whole workflow in the next section.
What else changed?
A few smaller updates, split between the API and ChatGPT:
output_format: "svg"to get vector files for websites, apps, or print."low","medium", or"high". Use low for simple edits like background swaps, and save high for crowded scenes with many constraints. Raising quality won’t fix a crowded scene; raising complexity might.How to Create GIFs With OpenAI Images 2.6
To make a GIF, ask for one in ChatGPT, or call the Images API with
output_format: "gif". ChatGPT is quicker for a one-off, but the API gives you control over frame count and timing, which is quite important if you're making more than a handful of GIFs.How to make a GIF in ChatGPT
Open a new chat and describe the GIF: the subject, the motion, and that it should loop. Here’s what I asked for: “Make a GIF of a small orange robot waving, then returning to its starting pose. Keep the background plain and the camera still.”
ChatGPT with Images 2.6 generates an orange robot. GIF by Author.
You can also start from something you already have. Upload a photo or a rough sketch, then say what should move and what must stay fixed.
I tried this with a child’s drawing of a bird:
A rough drawing of a bird. Image by Author.
My prompt: “Turn this child’s drawing into a looping GIF. Keep the hand-drawn style. Make the bird hop once and flap its wing, then return to its starting pose. Keep the background plain white and the camera still.”
The GIF ChatGPT made from a rough drawing. GIF by Author.
ChatGPT returned a 9-frame loop at 180 ms per frame, about 1.6 seconds, in a 183KB file. It kept the scribbly style, which I half expected it to “fix.” The bird crouches, jumps with its legs tucked, and lands.
My favorite detail is one I never asked for. The one-line wing grows into a real wing for the flap, then folds back into a curve when the bird lands. ChatGPT even added little motion lines, the way a kid would.
Those last three frames are nearly identical, so the bird pauses before the next hop. That pause hides the loop point well, though if you watch closely, the bird shifts slightly when it restarts.
Once a GIF is ready, you can slow it down, speed it up, or fix single frames. You don’t need the controls for this, either. Plain-language requests work, such as “Make the transition from the last frame back to the first smoother.”
How to make a GIF with the OpenAI API
Send a request to the image generation endpoint with
output_formatset to"gif". Two settings are specific to GIFs:Parameter
Range
Default
frame_count2 to 16 frames
9
frame_duration_ms20 to 2,000 ms per frame, rounded to 10 ms
200
With the defaults, you get 9 frames at 200 ms each, so a 1.8-second loop.
I ran the code below in Google Colab with version 3.46 of the
openaipackage, and it worked as written. The API matched every setting exactly, down to the 512x512 size.image-2.6-flare API generates an orange robot waving in a loop. GIF by Author.
Compare it with the ChatGPT robot. Both show an orange robot waving, but this one looks rougher because the code sets
quality="low"to save time and money. The surface looks scratched, small parts like the antennas shift between frames, and in one frame the wave turns into a thumbs-up. Low quality is fine for a quick reaction GIF in a chat. For anything with your brand on it, use"medium"or"high".The file came out at 429KB, close to the 500KB cap many websites set for GIFs.
Before you build on it, know two limits:
output_compressiondon’t work with GIF output either.nall have to fit inside one total. If a request fails, cut one of them.How do you get a smooth loop?
In your prompt, ask for a motion that ends where it began, and say what should stay still. If the last frame doesn’t match the first, you’ll see a jump every time the GIF starts over. Slowing it down with
frame_duration_mswon’t hide that jump. Instead, ask for the action to return to its starting pose, as I did with the robot and the bird.In practice:
Check the file size before you put a GIF on a website. My 512x512, 9-frame robot already came in at 429KB, so 1024x1024 at 16 frames won’t come close to a 500KB cap.
Final Thoughts
If you make GIFs for social posts, mascots, or storyboards, Images 2.6 is a big change, because you no longer need a separate tool to animate your images.
However, if GIFs aren’t your thing and you’re looking for a still-image tool, our guide to the best free AI image generators compares some good options. To see how Google is handling the same editing problems, read our Nano Banana 2 guide.