OpenAI's GPT Image 2.5 Sunburst Edit edits one or more reference images from natural-language instructions, with five quality tiers up to 4K. Sunburst is the precision-focused GPT Image 2.5 tier that spends more time per image for extra fidelity on intricate detail. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Idle

$0.039per run·~25 / $1

Transform the woman into a medieval knight displaced in the modern world while preserving her exact face, posture, and overall body proportions. Replace the trench coat with elegant silver armor and a dark blue cloak, transform the coffee cup into a polished metal goblet, and add a sheathed sword at her side. Keep the subway carriage modern and realistic so the contrast feels humorous and visually striking. Cinematic realism, refined detail, interesting character contrast.

Turn this watch movement photo into a premium print advertisement: add a dark navy backdrop, a subtle vignette, and the headline text "PRECISION, ENGINEERED" in elegant serif typography at the top, keep every gear and jewel exactly as shown

Transform the elegant dinner scene into a stylish underground champion’s celebration while preserving the boxer’s face, body build, hand wraps, and seated position. Add a championship belt draped over the chair, bruises and sweat details, cheering silhouettes in the background, and subtle gold confetti on the table. Keep the restaurant refined but give it a victorious post-fight energy. Cinematic sports-luxury contrast, cool and dramatic.
OpenAI GPT Image 2.5 Sunburst Edit transforms one or more reference images using natural-language instructions. Sunburst is the precision-focused GPT Image 2.5 tier that spends more time per image for extra fidelity on intricate detail.
Natural-language image editing Edit images by describing the changes you want in plain language — no manual masking or complex editing workflow required.
Works with reference images Use up to 16 input images as the visual source for edits, transformations, or style adjustments.
Five quality tiers
Choose from low drafts to max fidelity and pay only for the detail you need.
Up to 4K output and flexible aspect ratios
Square, portrait, landscape, and panoramic outputs at 1k, 2k, or 4k.
Production-ready API Access the model through a ready-to-use REST inference API for fast integration into applications and workflows.
| Parameter | Required | Description |
|---|---|---|
| images | Yes | Reference images to edit (up to 16). |
| prompt | Yes | Text description of the desired edit. |
| aspect_ratio | No | Aspect ratio: 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9, 2:1, 1:2, 3:1, 1:3, 9:21. Auto-detected from the first input image if not specified. |
| resolution | No | Output resolution: 1k (default), 2k, or 4k. |
| quality | No | Quality tier: low, medium (default), high, xhigh, or max. Higher tiers add detail and cost more. |
| output_format | No | png (default), jpeg, or webp. |
GPT Image 2.5 exposes five quality tiers. Pick the lowest tier that meets your need; every step up adds detail, latency, and cost.
| Tier | Best for |
|---|---|
low | Fast drafts, thumbnails, layout exploration. |
medium | The balanced default for most production images. |
high | Detailed marketing visuals, text-heavy designs, product shots. |
xhigh | Fine textures, intricate scenes, print-ready assets. |
max | The highest-fidelity output the model offers. |
medium / 1k is the default; raise quality for more detail or resolution for larger output.Turn this product photo into a premium studio advertisement with soft cinematic lighting, a clean beige background, subtle shadows, realistic reflections, and luxury brand aesthetics
Pricing varies by quality and resolution. Prices below include one input image. Each additional input image adds $0.015.
| Quality | 1k | 2k | 4k |
|---|---|---|---|
| low | $0.025 | $0.035 | $0.045 |
| medium | $0.039 | $0.055 | $0.085 |
| high | $0.105 | $0.165 | $0.285 |
| xhigh | $0.175 | $0.285 | $0.495 |
| max | $0.375 | $0.615 | $1.015 |
medium quality and 1k; move up a tier only if a specific detail is missing.images and prompt are required fields.aspect_ratio is set.Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/openai/gpt-image-2.5-sunburst/edit with your input as JSON. The endpoint returns a prediction id. Start polling the result endpoint around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. On completed, read output values from data.outputs. Examples for Gpt Image 2.5 Sunburst Edit below.
set -euo pipefail
: "${WAVESPEED_API_KEY:?Set WAVESPEED_API_KEY}"
REQUEST_BODY=$(cat <<'JSON'
{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"images": [
"https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "medium",
"output_format": "png"
}
JSON
)
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/openai/gpt-image-2.5-sunburst/edit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d "$REQUEST_BODY")
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/openai/gpt-image-2.5-sunburst/edit";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"images": [
"https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "medium",
"output_format": "png"
}),
});
const task = body.data ?? body;
if (!task.id) throw new Error("Submission response did not contain a prediction id");
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"images": [
"https://interactive-examples.mdn.mozilla.net/media/cc0-images/painted-hand-298-332.jpg"
],
"aspect_ratio": "1:1",
"resolution": "1k",
"quality": "medium",
"output_format": "png"
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/openai/gpt-image-2.5-sunburst/edit", json.dumps(payload).encode())
task = body.get("data", body)
if not task.get("id"):
raise RuntimeError("Submission response did not contain a prediction id")
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)Gpt Image 2.5 Sunburst Edit is a OpenAI model for image editing, exposed as a REST API on WaveSpeedAI. OpenAI's GPT Image 2.5 Sunburst Edit edits one or more reference images from natural-language instructions, with five quality tiers up to 4K. Sunburst is the precision-focused GPT Image 2.5 tier that spends more time per image for extra fidelity on intricate detail. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. The playground generates production-oriented Python, JavaScript, and cURL examples with timeouts, transient-error handling, and safe GET retries. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/openai/openai-gpt-image-2.5-sunburst-edit.
Gpt Image 2.5 Sunburst Edit starts at $0.039 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `images`, `aspect_ratio`, `resolution`, `enable_base64_output`, `enable_sync_mode`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/openai/openai-gpt-image-2.5-sunburst-edit.
Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.
Commercial usage rights depend on the model's license, set by its provider (OpenAI). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.