GPT Image 1.5 is the mid-generation upgrade in OpenAI's image lineup, and its model page describes it as the previous image generation model, with better instruction following and adherence to prompts than gpt-image-1.
- Input
- text image $5/M
- Output
- image text $32/M
Price in context
Where the price sits among 8 comparable models
The bar shows how this model’s price compares with every other model of the same kind on Synthorai. The cheapest and the most expensive are named at each end. These are base rates; batch, region and cache-write discounts are on the pricing page.
Specs & limits
Image
| Sizes |
|
|---|---|
| Input modes | text-to-image, image edit with mask inpainting |
| Format | png, jpeg, webp |
| Images per request | 10 |
| Image capabilities |
|
Model
| Modalities | text + image → image + text |
|---|
Labelled 'our previous image generation model'. Re-checked 2026-08-05: the only listed snapshot, gpt-image-1.5-2025-12-16, is NOT marked deprecated, and the page names no retirement date or replacement.
One prompt, measured through the gateway
gpt-image-1.5
Model returned 1024×1024 latency 20 s
One prompt, one request per model, no retries and no cherry-picking - the first result each model returned. Neither size nor duration was pinned: each model used its own default, because a request shaped to fit all of them would flatter none. Files here are re-encoded for the web, so judge composition and prompt adherence, not compression.
Use gpt-image-1.5 in 30 seconds
OpenAI-compatible: swap the base_url, keep your SDK. POST /v1/images/generations
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.images.generate(
model="gpt-image-1.5",
prompt="a watercolor lighthouse at dawn",
size="1024x1024",
)
print(resp.data[0].b64_json[:80])import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.images.generate({
model: "gpt-image-1.5",
prompt: "a watercolor lighthouse at dawn",
size: "1024x1024",
});
console.log(resp.data?.[0]?.b64_json?.slice(0, 80));curl https://synthorai.io/v1/images/generations \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-1.5",
"prompt": "a watercolor lighthouse at dawn",
"size": "1024x1024"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Images.Generate(context.TODO(), openai.ImageGenerateParams{
Model: "gpt-image-1.5",
Prompt: "a watercolor lighthouse at dawn",
Size: "1024x1024",
})
fmt.Println(resp.Data[0].B64JSON[:80])
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.images.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ImagesResponse resp = client.images().generate(
ImageGenerateParams.builder()
.model("gpt-image-1.5")
.prompt("a watercolor lighthouse at dawn")
.size("1024x1024")
.build());
System.out.println(resp.data().orElseThrow().get(0).b64Json().orElseThrow().substring(0, 80));About gpt-image-1.5
- It accepts text and image inputs and produces image outputs, with per-image pricing that scales by quality level and resolution across square, portrait, and landscape formats (1024x1024, 1024x1536, and 1536x1024), at low, medium, or high quality.
- It serves both the generation and edits endpoints, supports mask-based inpainting, and is available through the Batch API for bulk jobs.
- The shared image API surface applies here too: PNG, JPEG, or WebP output with an adjustable compression level, transparent or opaque backgrounds where the format allows, selectable moderation sensitivity, streamed partial images during a generation, and edit requests that can carry multiple input images with a choice of input fidelity.
- It ships as a dated snapshot from December 2025 and, despite the "previous" label, carries no formal deprecation banner and no named replacement on its page.
- Requests blocked by moderation return a dedicated error code rather than an empty result, and moderation sensitivity itself is a request parameter.
- It suits work where faithfulness to detailed prompts matters more than raw speed, and it remains the newest of the fixed-size image models, since gpt-image-2 replaced the three-size menu with free-form dimensions.
- Through Synthorai's OpenAI-compatible images API, moving to gpt-image-1.5 is a drop-in model-name swap.
FAQ
Is the gpt-image-1.5 API free to try?
Yes: new accounts get 10 trial calls and up to $1 in free credit, no card required. That's enough to try gpt-image-1.5 against your real workload before adding a payment method.
What is gpt-image-1.5 best at?
Better instruction following and prompt adherence; pricing scales by quality and resolution; suits faithfulness to detailed prompts. See the About section for the full picture from the vendor's own release notes.
How much does gpt-image-1.5 cost?
gpt-image-1.5 costs $5 per million input tokens and $32 per million output tokens on Synthorai. That is the provider's list price, with no platform markup.
How do I generate images with the gpt-image-1.5 API?
POST to /v1/images/generations on Synthorai with model="gpt-image-1.5". It follows the OpenAI images API shape, so no vendor SDK is needed. Supported sizes: 1024x1024, 1536x1024, 1024x1536, auto.
How do I get access to gpt-image-1.5?
Point your existing OpenAI SDK at base_url="https://synthorai.io/v1", set model="gpt-image-1.5", and you're done. One API key covers every model on the gateway.
Related models
Compare
Every value on this page is transcribed from the vendor's own documentation, linked above, and carries the date it was checked. Prices are compared across the catalogue; specification values that vendors define differently are shown with the difference stated rather than charted. Nothing here is measured by us, and nothing is scored.