GPT Image 2.6: Flare, Sunburst, GIF and SVG
Explore GPT Image 2.6 Flare and Sunburst, uses for animated GIFs and SVG vectors, and BetterToken's current 1K image generation access.
Updated: 2026-11-05
GPT Image 2.6 Flare and GPT Image 2.6 Sunburst bring animated GIF and SVG vector output to image creation. Use GIFs for animated reactions and short loops, and SVGs for icons, logos and illustrations that stay sharp when scaled.
Choose a model
| Model | Model ID | Starting point |
|---|---|---|
| GPT Image 2.6 Flare | gpt-image-2.6-flare | Quick iterations on compositions, posters and product visuals. |
| GPT Image 2.6 Sunburst | gpt-image-2.6-sunburst | Compositions and visual assets that need more detailed work. |
These roles follow OpenAI’s model descriptions. Keep the prompt and size the same to compare the actual results.
What GIF and SVG are for
- GIF: add motion to an asset. Create a thumbs-up reaction or a short loop of a brand mascot waving. Describe the subject, action and loop in your prompt.
- SVG: adapt graphics to different canvases. Create a consistent set of line icons or a brand mark for websites and print. Vector paths are editable and stay sharp when scaled.
OpenAI’s Image API offers both output types for these models.
GIF and SVG examples
The GIFs show an orange teapot character waving and blinking in a loop. The SVGs show vector icons of an orange teapot with green leaves.
GPT Image 2.6 Flare
GIF · 414 × 414 · 9 frames

SVG · Scalable vector icon
GPT Image 2.6 Sunburst
GIF · 410 × 411 · 9 frames

SVG · Scalable vector icon
Generate an image through BetterToken
BetterToken currently offers only 1K still-image generation for these two models. 2K and 4K are not supported. Use your existing BetterToken API Key; you do not need a separate Key for each model.
| Setting | Value |
|---|---|
| Base URL | https://bettertoken.ai/v1 |
| Authentication | Authorization: Bearer YOUR_API_KEY |
| Image generation | POST /v1/images/generations |
Set BETTERTOKEN_API_KEY in your server environment first. This request generates a still image. Change the Model ID to use Sunburst.
curl --fail-with-body --max-time 650 "https://bettertoken.ai/v1/images/generations" \ -H "Authorization: Bearer $BETTERTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-image-2.6-flare", "prompt": "A product photo of a green ceramic mug on a white studio table", "size": "1024x1024", "n": 1, "response_format": "b64_json", "output_format": "png" }' -o response.jsonUse gpt-image-2.6-sunburst for the other model. After success, decode and save images from data[].b64_json. Read the actual dimensions from the returned file. See the Save the result for saving instructions.
GIF, SVG and editing
Animated GIF
Use the following JSON in the generation request. Describe the motion in the prompt; exact frame dimensions and frame counts are not guaranteed. Save the animation actually returned.
{ "model": "gpt-image-2.6-flare", "prompt": "A cheerful orange teapot mascot waves and blinks in a seamless loop. Fixed camera.", "size": "512x512", "quality": "low", "output_format": "gif", "n": 1, "response_format": "b64_json"}Vector SVG
Use the following JSON for a vector icon. Save the result as SVG rather than as a raster image.
{ "model": "gpt-image-2.6-flare", "prompt": "A simple orange teapot icon with green leaves, clean flat vector shapes.", "size": "1024x1024", "quality": "low", "output_format": "svg", "n": 1, "response_format": "b64_json"}Reference-image editing
First replace reference.png with your own PNG file. Upload it as a file with instructions for the changes. This example returns a still image; use generation for GIF and SVG.
curl --fail-with-body --max-time 650 "https://bettertoken.ai/v1/images/edits" \ -H "Authorization: Bearer $BETTERTOKEN_API_KEY" \ -F 'model=gpt-image-2.6-flare' \ -F 'prompt=Change the mug to blue. Preserve its shape and the background.' \ -F 'image=@reference.png;type=image/png' \ -F 'size=1024x1024' \ -F 'quality=low' \ -F 'n=1' \ -F 'response_format=b64_json' \ -F 'output_format=png' \ -o response.jsonSave the result
The examples save the response to response.json. The following code decodes files from data[] and selects the extension from their actual contents. For the JSON examples above, use the same curl with the corresponding request body.
import base64import jsonimport xml.etree.ElementTree as ETfrom pathlib import Path
result = json.loads(Path("response.json").read_text(encoding="utf-8"))for index, item in enumerate(result["data"], 1): encoded = item["b64_json"] if encoded.startswith("data:"): encoded = encoded.split(",", 1)[1] content = base64.b64decode(encoded, validate=True) if content[:6] in (b"GIF87a", b"GIF89a"): suffix = ".gif" elif content.startswith(b"\x89PNG\r\n\x1a\n"): suffix = ".png" elif content.startswith(b"\xff\xd8\xff"): suffix = ".jpg" elif content.startswith(b"RIFF") and content[8:12] == b"WEBP": suffix = ".webp" else: root = ET.fromstring(content) if root.tag not in ("svg", "{http://www.w3.org/2000/svg}svg"): raise ValueError("Unsupported output file") suffix = ".svg" path = Path(f"generated-{index}{suffix}") path.write_bytes(content) print(path)Current pricing
BetterToken bills these two models per request. Check the model plaza for current prices and availability.

