OpenAI
GPT Image 2.5
gpt-image-2.5-sunburst/image-to-image
OpenAI's two-tier image generation and editing models: Flare focuses on speed, Sunburst pursues precision, covering both text-to-image and multi-turn image refinement
Try gpt-image-2.5-sunburst/image-to-image
Input
Showcases
View all showcasesOutput
imagePricing
gpt-image-2.5-sunburst/image-to-image per image
| Specifications | Unit Price |
|---|---|
| 1K | $0.050 |
| 2K | $0.080 |
| 4K | $0.120 |
Positioning Overview
The gpt-image-2.5-sunburst image editing pipeline is designed for developers who need high-fidelity modifications and extensions to existing images. It accepts one to sixteen reference images along with an editing instruction, outputs images at 1K, 2K, or 4K resolution tiers, and supports specifying aspect ratios and transparent backgrounds, making it suitable for design refinement workflows that require subject consistency across multiple iterations. Sunburst trades longer processing time for detail restoration precision.
Key Highlights
- Precision-oriented editing pipeline — The Sunburst variant trades a longer per-request processing time for more refined detail restoration, making it suitable for editing tasks that are sensitive to final output quality.
- Up to sixteen reference images in a single input — A single request can submit one to sixteen source or reference images, making it easy to feed subject, style, and layout information to the model together.
- Four resolution tiers and selectable aspect ratios — Output supports 1K, 2K, and 4K resolution tiers plus thirteen aspect ratios, directly matching final deliverable specs and reducing secondary cropping.
- Transparent backgrounds available at 1K — Transparent background mode is limited to 1K resolution; generated transparent assets can go directly into downstream compositing workflows.
Capabilities
Multi-reference conditional editing: Submit one to sixteen JPEG, PNG, or WebP images via image_urls, together with an editing instruction of up to 20,000 characters, to rewrite, replace, and outpainter existing assets.
Resolution and aspect ratio control: resolution selects the 1K, 2K, or 4K output tier; aspect_ratio supports thirteen ratios from 1:1 to 21:9, with the default auto letting the model decide.
Transparent background generation: background can be set to transparent, opaque, or auto; transparent mode is only available at 1K resolution, making it easy to produce cutout-free assets directly.
Refined detail restoration: The Sunburst variant prioritizes detail fidelity, staying closer to reference images in texture, lighting, and layout structure, making it suitable for editing rounds with higher final-output requirements.
Use Cases
- Design teams batch-revising existing brand assets — Submit brand visual drafts as reference images, replace copy and color schemes according to a unified instruction, and produce complete asset sets for campaign delivery.
- E-commerce operations refining product and scene images — Use real product photos as input to generate finished images with swapped backgrounds or scenes, ready for product detail pages and ad creatives.
- Creatives iterating on the same image over multiple rounds — Continuously feed the current result back as input with supplementary instructions, converging step by step to the final draft and producing directly deliverable design finals.
- Asset production requiring transparent-background graphics — Generate 1K transparent-background images from reference images plus editing instructions, to be used as layer assets in downstream compositing and layout.
Limitations and Selection Advice
Sunburst prioritizes precision, and a single request takes longer, so it is not suitable for low-latency or high-concurrency image generation scenarios; 2K and 4K output further increase compute and wait costs; transparent backgrounds are limited to 1K. Layouts with dense small text or complex legends remain error-prone, so manual review after output is recommended. If you need local deployment, self-tuning, or offline inference, this closed-source model cannot meet those needs, and an alternative solution is required. When you need fast batch image generation, consider the Flare pipeline in the same family.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: gpt-image-2.5-sunburst/image-to-image
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for gpt-image-2.5-sunburst/image-to-image and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 20000Generation or editing instruction describing what to generate or modify based on the source image, provided as a string, up to 20,000 characters long.
backgroundstringOptionalBackground mode, provided as a string; supported only at 1K resolution, omit this parameter for 2K/4K.
transparentopaqueautoimage_urlsarrayRequiredminItems 1maxItems 16Array of source or reference images, each in JPEG, PNG, or WebP format, with 1 to 16 images.
Array [ string ]
resolutionstringOptionalDefault: "1K"Output resolution tier, provided as a string, defaults to 1K; when background is auto/opaque/transparent, only 1K is supported.
1K2K4Kaspect_ratiostringOptionalDefault: "auto"Output aspect ratio, provided as a string, defaults to auto; omitting it is likewise treated as auto.
auto1:13:22:34:33:416:99:16Show all (5)
21:927:1616:279:88:9callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2.5-sunburst/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "1K",
"aspect_ratio": "auto"
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-image-2.5-sunburst/image-to-image",
input: {
"prompt": "…",
"image_urls": "…",
"resolution": "1K",
"aspect_ratio": "auto"
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "gpt-image-2.5-sunburst/image-to-image",
"input": {
"prompt": "…",
"image_urls": "…",
"resolution": "1K",
"aspect_ratio": "auto"
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
BRIA Product Shot Bria $0.058 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
Muse Image 1.0 Meta $0.015 per task -
Ideogram V4 Ideogram $0.050 /image -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
Nano Banana 2 Lite Google $0.033 /image -
Grok Imagine Quality xAI $0.070 /image -
Imagen 4 Google $0.030 /image -
GPT Image 2 OpenAI $0.007 /image -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image







