GPT Image 2.5 Sunburst is the more capable of OpenAI's two GPT Image 2.5 API models, released in September 2026. OpenAI aims it at long chains of edits where a character, product or layout has to stay the same from one step to the next. The trade-off is speed: it runs slower than the Flare tier. Inputs are identical: text-to-image, up to 16 reference images, sizes 1024x1024, 1536x1024 or 1024x1536 and quality up to max. Mask inpainting and custom pixel sizes exist at OpenAI but are not available in Jantaris yet.
Best for
- Iterative retouching where each step builds on the previous output
- Campaigns that reuse one mascot or package design across many scenes
- Storyboards that keep a single character recognizable
- Dense compositions that combine many reference images
Prompting tips
- Feed the previous output back as the first reference and describe only the change: "keep everything, turn the sky to dusk".
- List what must not change: face, logo placement, text, colors.
- Keep references in a stable order and refer to them by position.
- Fix the size explicitly (for example
aspect_ratio: "1536x1024") instead ofautoso every step keeps the same frame.
FAQ
How much does GPT Image 2.5 Sunburst cost per image?
The current rate is $0.0575 per image. You pay from a prepaid balance that does not expire, and a generation that fails costs nothing.
When should I choose Sunburst over the standard GPT Image 2.5?
Pick Sunburst when consistency across several edits matters more than speed. For one-off images and quick drafts, GPT Image 2.5 takes the same parameters and returns faster.
Can I use Sunburst images commercially?
The outputs are yours as far as the law and OpenAI's usage terms allow. Review those terms for your case, especially for images of real people or trademarks.
How to call GPT Image 2.5 Sunburst via API
curl https://jantaris.com/v1/generate?wait=60 \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-sunburst",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "auto"
}
}'import os, time, requests
API = "https://jantaris.com/v1"
H = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=H, json={
"model": "gpt-image-2.5-sunburst",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "auto"
}
}).json()
while task["status"] in ("queued", "running"):
time.sleep(3)
task = requests.get(f"{API}/tasks/{task['id']}", headers=H).json()
print(task["status"], task["cost"], [o["url"] for o in task["output"]])const API = "https://jantaris.com/v1";
const headers = { Authorization: `Bearer ${process.env.JANTARIS_API_KEY}`, "Content-Type": "application/json" };
let task = await (await fetch(`${API}/generate`, {
method: "POST",
headers,
body: JSON.stringify({
"model": "gpt-image-2.5-sunburst",
"input": {
"prompt": "Product photo of a matte black ceramic coffee cup on a travertine table, soft window light, 50mm",
"aspect_ratio": "auto"
}
}),
})).json();
while (task.status === "queued" || task.status === "running") {
await new Promise((r) => setTimeout(r, 3000));
task = await (await fetch(`${API}/tasks/${task.id}`, { headers })).json();
}
console.log(task.status, task.cost, task.output.map((o) => o.url));
Parameters
| Parameter | Type | Allowed | Default |
|---|---|---|---|
prompt * | string | ≤ 32000 chars | |
aspect_ratio | string | auto 1024x1024 1536x1024 1024x1536 | auto |
quality | string | auto low medium high xhigh max | auto |
image_urls | array | max 16 |
The same schema is available from GET /v1/models/gpt-image-2.5-sunburst.











