OpenAI
GPT Image 2.5
gpt-image-2.5-sunburst/text-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/text-to-image
Input
Showcases
View all showcasesOutput
imagePricing
gpt-image-2.5-sunburst/text-to-image per image
| Specifications | Unit Price |
|---|---|
| 1K | $0.050 |
| 2K | $0.080 |
| 4K | $0.120 |
Positioning Overview
gpt-image-2.5-sunburst/text-to-image is the text-to-image route of the OpenAI image model gpt-image-2.5, designed with a precision-first focus: it trades longer per-generation time for more refined detail reproduction. It accepts text prompts as input and outputs a single image, supporting three resolution tiers (1K, 2K, 4K) and a variety of aspect ratios. It is suited to creative and production workflows that demand high image detail and layout stability and can tolerate longer waits, such as brand visuals, e-commerce assets, and content illustrations.
Key Highlights
- Precision-first variant positioning — trades longer per-generation time for detail fidelity, making it suited to image-generation tasks where visual quality comes first.
- Choice of 1K to 4K resolution — output resolution is selectable in tiers and paired with 13 aspect ratios, so a single request can match different placement sizes.
- Support for specified transparent backgrounds — at 1K resolution you can specify a transparent or solid-color background, reducing extra cutout and compositing steps in post-production.
Capabilities
Text-to-image with long prompts: prompts can be up to 20,000 characters, carrying fairly complete scene descriptions and layout requirements, which suits expressing complex visual intent.
Resolution and aspect ratio control: use resolution to choose 1K, 2K, or 4K, and aspect_ratio to specify ratios from 1:1 to 21:9, or let auto decide.
Transparent background output: the background parameter supports three modes — transparent, opaque, and auto — and is available only at 1K resolution; high-resolution generation must omit this parameter.
Detail and consistency performance: it is improved in lighting and material rendering, consistency of the referenced subject, and adherence to complex visual instructions, making it easier to maintain layout and subject when refining repeatedly.
Use Cases
- Brand visual generation for design and marketing teams — generate posters, presentations, and website illustrations from text descriptions, choosing aspect ratio and resolution by placement and sending them straight into layout.
- Asset production for e-commerce and product pages — input product selling points and scene descriptions to output image assets usable on product detail pages and in visual showcases.
- Illustration generation for creators and social content — batch-generate illustrations by content theme, using different aspect ratios to fit each platform's dimensions.
- Compositing workflows needing transparent assets — generate transparent-background images at 1K and overlay them directly onto existing pages or design files.
Limitations and Selection Advice
Sunburst trades speed for precision, and individual requests take longer, so it is not suited to low-latency, high-concurrency rapid image generation; when faster turnaround is needed, switch to the Flare variant, and when editing based on a reference image is needed, choose the image-to-image route in the same family. 4K output incurs higher compute and time costs; layouts with large amounts of small-size text or complex legends remain a difficult scenario and require human review. The model is a hosted service and does not support local deployment or self-fine-tuning.
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/text-to-image
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for gpt-image-2.5-sunburst/text-to-image and route default — see the parameter table below.
promptstringRequiredminLength 1maxLength 20000Image generation prompt, used to describe the visual content to be generated; string type, maximum length 20000 characters.
backgroundstringOptionalBackground mode, controls how the background of the generated image is handled; string type. This parameter is supported only at 1K resolution; omit this parameter for 2K/4K resolutions.
transparentopaqueautoresolutionstringOptionalDefault: "1K"Output resolution tier, controls the resolution level of the generated image; string type, default 1K. When background is auto, opaque, or transparent, only 1K is supported.
1K2K4Kaspect_ratiostringOptionalDefault: "auto"Output aspect ratio, controls the frame ratio of the generated image; string type, default auto; treated as auto when omitted.
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/text-to-image",
"input": {
"prompt": "…",
"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/text-to-image",
input: {
"prompt": "…",
"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/text-to-image",
"input": {
"prompt": "…",
"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
-
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
Ideogram V4.5 Ideogram $0.011 /image -
Ideogram V4 Ideogram $0.050 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
851 Labs Background Remover 851 Labs $0.002 /image -
Qwen Image 2.0 Alibaba $0.042 /image -
Qwen Image 2.1 Alibaba $0.020 /image -
GPT Image 2.5 OpenAI $0.017 /image -
FLUX.1 Fill Pro Black Forest Labs $0.071 /image -
Grok Imagine xAI $0.011 /second -
FLUX.2 Black Forest Labs $0.035 /image -
Google Virtual Try-On Google $0.107 /image



