GPT Image 2.5 Economy


GPT Images 2.5 is OpenAI's flagship commercial image generation and precise editing model available in both Standard (optimized for photographic and general styles) and Ultra (engineered for crisp text rendering and extreme definition) editions. Supporting up to 10 reference images, it ensures strict multi-image identity, material, and logo consistency across dynamic compositions. With built-in Sketch-to-Image control and smart Templates, users can convert hand-drawn layouts into polished designs and automate e-commerce product replacement. Delivering native 4K output and precise typography control, GPT Images 2.5 powers cross-border e-commerce visual pipelines, brand marketing assets, UI/UX concept design, and high-converting commercial media.

GPT Image 2.5 Economy

OpenAI's GPT Image 2.5 Economy text-to-image model generates high-quality images from natural-language prompts. It provides a ready-to-use REST inference API with excellent performance, no cold starts, and affordable pricing.

Base URL

https://api.icreat.ai

Authentication

All API requests must be authenticated using an API key. You can obtain an API key from the console.

export ICREAT_API_KEY="your-api-key-here"

HTTP Request Headers

import os

API_KEY = os.environ.get("ICREAT_API_KEY")
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer " + API_KEY,
}

Protect Your API Key

Never expose your API key in client-side code or public repositories. Use environment variables or a backend proxy.

Code Examples

Image and video generation use a three-step asynchronous workflow: submit a task to obtain a task_id, poll the task status, and retrieve the generated result once the status becomes SUCCEEDED. The following examples use the same task_id across all three steps.

1. Submit a Task

Send a generation request to the submission endpoint. A successful response returns a task_id. Save this ID for subsequent status polling and result retrieval.

POST/v1/task/submit/openai/gpt-image-2-5-economy

2. Poll Task Status

Use the task_id returned by the submission step to query the task's progress. The response body contains only the status field (SUBMITTED | SUCCEEDED | FAILED). You can retrieve the result when the status is SUCCEEDED. A status of FAILED indicates that the task failed.

POST/v1/task/query-status

3. Retrieve the Result

Once the task succeeds, use the same task_id to retrieve the final output. The response body is an array of resources. Each item contains type, url, and download_url. Use url for preview or online access and download_url to download the file.

POST/v1/task/get-result

Input Parameters

Submit Task — Input Parameters

The following parameters are accepted in the submit task request body.

Total: 4 | Required: 3 | Optional: 1

promptstringrequired

Text prompt with a maximum length of 32,000 characters.

sizestringrequired

The dimensions of the generated image. Various preset sizes are supported, including 1024x1024, 2048x2048, 1280x720, and 2560x1440.

qualitystringrequired

Controls how closely the generated result preserves the original input image.

highmediumlow
imagearray[string]

A list of reference image URLs. Supports 1–10 images. Image-to-image generation is used when the list is not empty.

Poll Status — Input Parameters

Total: 1 | Required: 1 | Optional: 0

task_idstringrequired

The task ID returned by the submit task endpoint.

Retrieve Result — Input Parameters

Total: 1 | Required: 1 | Optional: 0

task_idstringrequired

The task ID returned by the submit task endpoint.

Output Parameters

Submit Task — Output Parameters

Total: 1

task_idstring

The unique identifier of the asynchronous task. Use this ID to poll the task status and retrieve the result.

Poll Status — Output Parameters

Total: 1

statusstring

The current task status. The result can be retrieved when the status is SUCCEEDED.

SUBMITTEDSUCCEEDEDFAILED

Retrieve Result — Output Parameters

The response body is an array of resource objects (array[object]).

Total: 3

typestring

The resource type. For image models, the value is Image.

urlstring

The preview or access URL of the generated image.

download_urlstring

The download URL of the generated image, returned with an attachment response header.

LLM-Friendly Prompt

The following is an LLM-friendly Markdown prompt that can be copied into Cursor, ChatGPT, or other AI assistants to help them understand the model's API integration method, request workflow, and key parameters. Click the “Copy LLM Prompt” button or copy the entire code block below.

# openai/gpt-image-2-5-economy

> OpenAI's GPT Image 2 text-to-image model generates high-quality images from natural-language prompts.

## Overview

Use iCreat's three-step asynchronous task API to submit a generation request, poll the task status, and retrieve the image resource URL once the task succeeds.

## API Information

- **Base URL**: `https://api.icreat.ai`
- **Submit endpoint (POST)**: `/v1/task/submit/openai/gpt-image-2-5-economy`
- **Poll endpoint (POST)**: `/v1/task/query-status`
- **Get result endpoint (POST)**: `/v1/task/get-result`
- **Model ID**: `openai/gpt-image-2-5-economy`
- **Authentication**: `Authorization: Bearer ${ICREAT_API_KEY}`

## Workflow

1. **Submit**: Send a POST request to the submit endpoint with the body described below. The response is `{ "task_id": "..." }`.
2. **Poll**: Send a POST request to `/v1/task/query-status` with `{ "task_id": "..." }`. The response contains only `{ "status": "SUBMITTED|SUCCEEDED|FAILED" }`.
3. **Get result**: When `status` is `SUCCEEDED`, send a POST request to `/v1/task/get-result`. The response is a top-level array. For items where `type` is `Image`, read `url` or `download_url`.

### Input Requirements

- The request body uses flat top-level fields.
- Required: `prompt`, `size`, `quality`
- Optional: `image`
- `prompt` (required): Text prompt with a maximum length of 32,000 characters.
- `size` (required): The dimensions of the generated image. Various preset sizes are supported, including `1024x1024`, `2048x2048`, `1280x720`, and `2560x1440`.
- `quality` (required): Controls how closely the generated result preserves the original input image.
- `image` (optional): A list of reference image URLs. Supports 1–10 images. Image-to-image generation is used when the list is not empty.

### Output Details

- Polling: Check only the `status` field.
- Result: A top-level array in the following format: `[{ "type": "Image", "url": "...", "download_url": "..." }]`

## Notes

- The same `task_id` must be used across all three steps. Do not skip the polling step.
- `FAILED` is a terminal status. Check the request parameters or reference content for possible issues.