Part of OpenAI's GPT Image line
It powers the ChatGPT Images experience and is available to developers through the API as gpt-image-1.5.
OpenAI's image generation and editing model (Dec 2025), the engine behind the ChatGPT Images experience, built for faster output, precise edits, and reliable instruction following.
Integrate GPT Image 1.5 with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.
model: "gpt-image-1.5"
It powers the ChatGPT Images experience and is available to developers through the API as gpt-image-1.5.
It produces images significantly faster than OpenAI's earlier image models, which speeds up iteration and high-volume work.
When you ask it to change one element, it changes only that element while preserving faces, logos, lighting, and composition.
It adheres to prompts more reliably and lets you add, remove, combine, blend, or transpose elements with predictable results.
It handles denser and smaller text more dependably than earlier versions, including structured layouts like tables.
Because it sits alongside OpenAI's text and vision models, you can generate, edit, and iterate through natural language, and API image costs are roughly 20% lower than GPT Image 1.
A few outputs generated through the GPT Image 1.5 API on Apiframe.
A photorealistic product shot of a smartwatch on a marble surface, soft studio lighting.
Change only the model's shirt from white to navy, keeping her face, hair, and the background unchanged.
A poster reading 'GRAND OPENING, SATURDAY 10AM' with clean modern type.
Combine this product photo and this lifestyle background into a single natural scene.
An infographic with a small data table comparing three pricing tiers, legible labels.
Add a pair of sunglasses to this portrait without altering the face or lighting.
Send a single POST /v2/images/generate request with your API key to
generate with GPT Image 1.5. The call returns a jobId you can poll or
receive via webhook.
curl -X POST https://api.apiframe.ai/v2/images/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "gpt-image-1.5",
"gptImageParams": {
"input_images": "https://example.com/input.jpg",
"quality": "auto",
"background": "auto",
"number_of_images": 1
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/images/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "gpt-image-1.5",
"gptImageParams": {
"input_images": "https://example.com/input.jpg",
"quality": "auto",
"background": "auto",
"number_of_images": 1
}
},
)
print(response.json()) # { "jobId": "...", "status": "QUEUED" }const response = await fetch("https://api.apiframe.ai/v2/images/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
"model": "gpt-image-1.5",
"gptImageParams": {
"input_images": "https://example.com/input.jpg",
"quality": "auto",
"background": "auto",
"number_of_images": 1
}
}),
});
const { jobId } = await response.json();
console.log(jobId);Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).
{
"jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
"status": "QUEUED"
}curl https://api.apiframe.ai/v2/jobs/JOB_ID \
-H "X-API-Key: afk_your_api_key_here"import requests, time
while True:
job = requests.get(
"https://api.apiframe.ai/v2/jobs/JOB_ID",
headers={"X-API-Key": "afk_your_api_key_here"},
).json()
if job["status"] in ("COMPLETED", "FAILED"):
break
time.sleep(2)
print(job["result"])let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
headers: { "X-API-Key": "afk_your_api_key_here" },
}).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);Request parameters accepted by the GPT Image 1.5 endpoint. Model-specific options are nested under the params object shown below.
| Parameter | Type | Required | Default | Allowed / range | Description |
|---|---|---|---|---|---|
| prompt | string | required | — | — | Text description of what to generate. |
| model | string | required | "gpt-image-1.5" | "gpt-image-1.5" | The model identifier for this endpoint. |
| gptImageParams.input_images | string (URL) | optional | — | — | Reference image (URL) |
| gptImageParams.quality | string | optional | "auto" | "auto", "low", "medium", "high" | Quality |
| gptImageParams.background | string | optional | "auto" | "auto", "opaque", "transparent" | Background |
| gptImageParams.number_of_images | number | optional | 1 | min 1, max 10, step 1 | Number of images |
| gptImageParams.output_format | string | optional | "png" | "png", "jpeg", "webp" | Output format |
| gptImageParams.input_fidelity | string | optional | "low" | "low", "high" | How closely to follow input images when editing. |
Common questions about the GPT Image 1.5 API.
OpenAI's image generation and editing model, released in December 2025, powering the ChatGPT Images experience and available via API.
It replaced DALL-E as OpenAI's image engine, with faster generation, more precise editing, better instruction following, and stronger text rendering.
Up to four times faster than OpenAI's earlier image models.
Yes. It makes targeted edits while keeping faces, logos, lighting, and composition consistent.
It is available in ChatGPT, including the free tier with limits, while API access is paid and runs about 20% cheaper than GPT Image 1.
Through Apiframe, as well as ChatGPT and the OpenAI API.
Still have questions?
Get your API key and integrate GPT Image 1.5 in minutes — Pay-as-you-go.
Questions? Join our Discord or contact sales.