The short answer
For a new OpenAI-direct image integration, the current model ID is gpt-image-2. For a new HiAPI integration, use gpt-image-2/text-to-image when the job starts from a prompt, or gpt-image-2/image-to-image when it starts from one or more reference images.
Those names are easy to mix up because people use "GPT-4o image," "ChatGPT image generation," "GPT Image API," and "GPT Image 2" for related but different product surfaces. The safe approach is to identify the API you are calling first, then use the model ID and request contract for that API.
| Surface | Current model or selector | Request pattern |
|---|---|---|
| OpenAI Image API | gpt-image-2 | OpenAI /v1/images/generations or /v1/images/edits |
| OpenAI Responses API | A supported mainline model plus the image generation tool | Conversational or multi-step image work through /v1/responses |
| HiAPI text-to-image | gpt-image-2/text-to-image | POST https://api.hiapi.ai/v1/tasks |
| HiAPI image-to-image | gpt-image-2/image-to-image | POST https://api.hiapi.ai/v1/tasks |
HiAPI does not proxy the OpenAI Image API request body. It exposes GPT Image routes through its unified async task contract, so changing the hostname alone is not a migration.
The GPT Image lineage developers need to know
The useful lineage is an operational migration map. The names below did not all refer to an interchangeable API model.
| Name you may find in old code or search results | Current status | What to do now |
|---|---|---|
| "GPT-4o image generation" or "ChatGPT image generation" | Product or UI wording, not the current image model ID to paste into a new image request | Choose an API surface, then use its current model and request contract |
chatgpt-4o-latest | Deprecated ChatGPT model alias; OpenAI's current model page lists image input, not image output | Do not use it as an image-generation migration target |
gpt-image-1 | OpenAI labels it a previous, deprecated image generation model | Migrate new image work to gpt-image-2 |
gpt-image-1.5 | OpenAI labels it a previous, deprecated image generation model | Migrate new image work to gpt-image-2 |
dall-e-2 or dall-e-3 | Deprecated and removed from the OpenAI API | OpenAI recommends gpt-image-2 for current generation and editing |
gpt-image-2 | OpenAI's current direct image model ID | Use it with the OpenAI Image API, or map the job to a HiAPI slash ID below |
OpenAI's current documentation describes gpt-image-2 as its state-of-the-art image generation model and documents both text-to-image generation and image editing. The OpenAI image generation guide also separates the one-shot Image API from conversational image generation through the Responses API. The model status statements above come from the official pages for GPT Image 2, GPT Image 1.5, GPT Image 1, DALL-E 2, DALL-E 3, and ChatGPT-4o, checked on August 31, 2026.
Moving from a UI workflow to an API workflow
A ChatGPT image session hides model selection, state, retries, and file handling behind the conversation. An API integration has to make those decisions explicitly.
OpenAI's official guide recommends its Image API for a single generation or edit, and the Responses API for conversational, multi-turn image work. HiAPI uses a third contract: every image job is an asynchronous task. Your backend submits a task, stores the returned taskId, and receives the finished result through a callback or a later task-detail request.
The creative brief from a UI session is still a useful starting prompt, but move it into the API's actual request schema and test the output. Do not copy a UI product name into the model field and assume it is a stable API ID.
For HiAPI, keep the API key on your server and submit a task like this:
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2/text-to-image",
"input": {
"prompt": "A clean launch poster with the exact headline SUMMER DROP",
"aspect_ratio": "4:5",
"resolution": "1K"
},
"callback": {
"url": "https://your-domain.com/hiapi/callback",
"when": "final"
}
}'
The callback object belongs at the top level, beside model and input. For local debugging or reconciliation, poll GET https://api.hiapi.ai/v1/tasks/{taskId}. When the task succeeds, download the image from data.output[].url instead of treating the temporary output URL as permanent storage.
This hub intentionally stops at one request. Use the text-to-image API docs or image-to-image API docs for route-specific fields, callbacks, polling, and copy-paste examples.
Migrating old OpenAI image calls to HiAPI
An OpenAI model migration and a provider-contract migration are two separate changes. First choose the current image job, then rewrite the request for HiAPI's task API.
| Old input | Current OpenAI-direct target | Current HiAPI target |
|---|---|---|
Text generation with gpt-image-1, gpt-image-1.5, or a DALL-E ID | gpt-image-2 generation | gpt-image-2/text-to-image |
Image edit with gpt-image-1 or gpt-image-1.5 | gpt-image-2 edit | gpt-image-2/image-to-image |
| UI-only ChatGPT or GPT-4o image workflow | Choose OpenAI Image API or Responses API based on interaction design | Choose the HiAPI text-to-image or image-to-image task route |
When moving to HiAPI, replace the synchronous or OpenAI-specific response handling with taskId persistence, terminal-state handling, and output download. Validate your prompt and output again instead of promising pixel-identical results across surfaces.
Migrating old HiAPI model names
HiAPI now uses task-specific slash IDs and a top-level route selector. New code should use the canonical request shapes below.
| Old HiAPI name | Current request |
|---|---|
gpt-image-2 | model: "gpt-image-2/text-to-image" |
gpt-image-2-image-to-image | model: "gpt-image-2/image-to-image" |
gpt-image-2-beta | model: "gpt-image-2/text-to-image" plus route: "beta" |
gpt-image-2-ext | model: "gpt-image-2/text-to-image" plus route: "ext" |
gpt-image-2-i2i-ext | model: "gpt-image-2/image-to-image" plus route: "ext" |
The public pricing payload may spell a routed line as gpt-image-2/text-to-image@ext or gpt-image-2/image-to-image@ext. HiAPI also accepts the route-qualified form, but the model docs use the base slash ID plus the top-level route field because it makes the route-specific input schema easier to see.
Replacing the retired HiAPI Pro IDs
HiAPI retired the two old Pro IDs on July 2, 2026. They are not present in the current public pricing payload and should not remain in new examples.
| Retired ID | Replacement |
|---|---|
gpt-image-2-pro | gpt-image-2/text-to-image |
gpt-image-2-image-to-image-pro | gpt-image-2/image-to-image |
This model migration does not guarantee that every old Pro parameter has an identical effect. Check the current route schema in the matching model doc, then run a representative prompt and reference-image test before production cutover.
Where to go next
Use this page for names, lineage, and migrations. Use the destination that matches the question you are trying to answer:
Start and integrate
- GPT Image 2 model page for the current model and Playground.
- GPT Image 2 image-to-image model page for reference-image editing in the Playground.
- GPT Image 2 text-to-image docs for standard, beta, and ext request fields.
- GPT Image 2 image-to-image docs for standard and ext edit fields, including reference-image naming differences.
- GPT Image 2 API pricing for current route tables, reference-image add-ons, and budget math.
- Live HiAPI pricing for the full current model catalog.
Use cases and hands-on evidence
- GPT Image 2 prompt templates with real outputs.
- GPT Image 2 text rendering stress test.
- GPT Image 2 e-commerce workflow.
- GPT Image 2 image-to-image API guide.
Comparisons and selection
FAQ
What is the current GPT Image API model ID?
For OpenAI's direct Image API, it is gpt-image-2. For HiAPI, use gpt-image-2/text-to-image or gpt-image-2/image-to-image, depending on whether the job begins with text or reference images.
Can I send the bare model name gpt-image-2 to HiAPI?
Do not use the bare name in new HiAPI code. The current canonical IDs are the task-specific slash names shown above, which also make pricing, schemas, and model-page routing unambiguous.
Does HiAPI use OpenAI's /v1/images/generations endpoint?
No. HiAPI image models use POST /v1/tasks, followed by a final callback or GET /v1/tasks/{taskId}. OpenAI's Image API and HiAPI's task API have different request and response contracts.
Where does the callback go?
Put callback at the top level of the task body, beside model and input. Use callback.when: "final", and make the receiving service idempotent by taskId because both success and failure are terminal outcomes.
What replaces gpt-image-2-pro?
Use gpt-image-2/text-to-image. For the retired image-to-image Pro ID, use gpt-image-2/image-to-image. Review the current input schema and test your representative jobs before cutover.








