Skip to main content
Core.Today
|
Billing note The default quality=auto is billed at the xhigh rate (581 credits per image). Set quality explicitly — low (28) or medium (109) for drafts, high (298) for most final images — to control cost.
OpenAIMediumUltra

GPT Image 2.5 Sunburst

OpenAI's most capable image model, built for workflows where editing precision matters most. Generate and edit images with close instruction following — it keeps identity, composition and lighting while changing only what you ask. Same pricing as GPT Image 2.5 Flare, which is faster.

580 credits
per image (default quality=auto) × number_of_images — low 28 / medium 109 / high 298 / xhigh·auto 581 / max 1,163 credits per image
OpenAI's most capable image model — highest editing precision in the 2.5 line
Targeted edits that preserve identity, composition and lighting
Text-to-image and image editing in one model — just add input_images
Dense text, small lettering and complex layouts rendered sharply
Six quality tiers: low / medium / high / xhigh / max / auto
Up to 10 images per request (billed per image)

Run it right now

Test this model instantly in the Console Playground — no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-image-2.5-sunburst",
  "input": {
    "prompt": "A golden retriever puppy wearing tiny sunglasses on a sunny beach, photorealistic, shallow depth of field",
    "quality": "high",
    "aspect_ratio": "1:1"
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringYes-What you want to generate, or how to edit the input images. Put exact text in "quotes".
input_imagesarrayNo-Reference images for editing or composition. Pass one image to edit it, or several to combine subjects and styles. Processed at high fidelity automatically.
qualitystringNoautoQuality tier. Higher tiers take longer and cost more per image: low 28, medium 109, high 298, xhigh 581, max 1,163 credits. auto is billed at the xhigh rate.
lowmediumhighxhighmaxauto
aspect_ratiostringNo1:1Named ratio, explicit size, or auto to let the model pick. Sizes above 2560x1440 are experimental and may give more variable results.
1:13:22:34:33:416:99:16auto1024x10241536x10241024x15361536x11521152x15362048x20482048x11521152x20483840x21602160x3840
number_of_imagesintegerNo1Number of images to generate (1-10). Billed per image.
backgroundstringNoautoBackground mode. For a transparent background use png or webp output.
autotransparentopaque
output_formatstringNowebpOutput image format
pngjpegwebp
output_compressionintegerNo90Compression level (0-100) for webp/jpeg output
moderationstringNoautoContent moderation level — low applies less strict filtering
autolow
user_idstringNo-An optional unique identifier representing your end-user. This helps OpenAI monitor and detect abuse.
openai_api_keystringNo-Your own OpenAI API key (optional — leave empty to use the gateway)

How to Provide File Input

There are 3 ways to provide files for the input_images parameter:

Recommended

Image URL

Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.

{
  "model": "openai/gpt-image-2.5-sunburst",
  "input": {
    "prompt": "your prompt here",
    "input_images": ["https://example.com/image.jpg"]
  }
}

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=openai/gpt-image-2.5-sunburst" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:input_images=@your_file.png"
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Photorealistic Close-up

Photo language (depth of field) at the high quality tier

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-image-2.5-sunburst",
  "input": {
    "prompt": "A golden retriever puppy wearing tiny sunglasses on a sunny beach, photorealistic, shallow depth of field",
    "quality": "high",
    "aspect_ratio": "1:1"
  }
}'

Precise Photo Edit

Change one element and lock everything else

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-image-2.5-sunburst",
  "input": {
    "prompt": "Replace the grey sofa with a light blue velvet sofa. Keep the camera angle, room layout, lighting and every other object exactly the same.",
    "input_images": [
      "https://example.com/living-room.jpg"
    ],
    "quality": "high",
    "aspect_ratio": "auto"
  }
}'

Composite Multiple References

Combine a person and a product into one scene

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-image-2.5-sunburst",
  "input": {
    "prompt": "Place the person from the first image holding the handbag from the second image, walking down a Paris street in morning light. Preserve the person's face and the bag's exact design.",
    "input_images": [
      "https://example.com/model.jpg",
      "https://example.com/handbag.png"
    ],
    "quality": "high",
    "aspect_ratio": "2:3"
  }
}'

Translate Text in an Image

Localize a poster while keeping its design

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "openai/gpt-image-2.5-sunburst",
  "input": {
    "prompt": "Translate all English text on this poster into Korean. The headline should read \"여름 한정 세일\". Keep the layout, fonts' weight and colors unchanged.",
    "input_images": [
      "https://example.com/poster.png"
    ],
    "quality": "high",
    "output_format": "png"
  }
}'

Tips & Best Practices

1Always set quality — the default auto is billed like xhigh (581 credits per image)
2When editing, say what must not change: "change only the lighting, preserve the face, pose and clothing"
3Be specific: instead of "make it better", say "add soft coastal daylight"
4Put exact on-image text in "quotes" and describe the typography
5With several input_images, refer to them by order ("the first image", "the second image")
6For fast, high-volume generation use openai/gpt-image-2.5-flare — same parameters and pricing

Use Cases

Placing people into new scenes while preserving their likeness
Interior edits — swap furniture without changing the camera angle
Product photo retouching, object removal and lighting changes
Translating text inside images and localizing marketing assets
Multi-page illustrations with consistent characters

Model Info

ProviderOpenAI
Version2.5
CategoryImage Generation
Price580 credits

API Endpoint

POST /v1/predictions
Try in ConsoleBack to Docs