GPT Image 2.5 API — pricing and integration
GPT Image 2.5: AI image generation API. Use this model through Point API with its exact model ID and the supported parameters below. Compare the published price tiers before submitting a generation.
Model ID: gpt-image-2.5
Enabled in the published configuration
Open in playgroundAPI pricing in USD
Creator −10% prices are 10% lower than Studio Creator generation costs converted to USD. Models available only through the API have separate API pricing. A request or character-range tier is the full cost for its exact settings; image and second units are multiplied by count or duration. Token rates apply only where explicitly listed. Missing or expired prices are unavailable, not free.
Creator −10%
| Price | API pricing in USD | Parameter tier |
|---|---|---|
| 0.032866 USD | per request | {"count": 1} |
| 0.065732 USD | per request | {"count": 2} |
| 0.131464 USD | per request | {"count": 4} |
Supported API parameters
| Parameter | Type | Accepted values |
|---|---|---|
prompt | stringRequired | Minimum (minLength): 1Maximum ( maxLength): 32000 |
ratio | stringOptional | Accepted values ["1:1", "2:3", "3:2"]Default ( default): "1:1" |
style | stringOptional | Accepted values ["standard", "realistic", "artistic", "anime", "cinematic"]Default ( default): "standard" |
count | integerOptional | Accepted values [1, 2, 4]Default ( default): 1Minimum ( minimum): 1Maximum ( maximum): 4 |
images | arrayOptional | Maximum items (maxItems): 4items: {"format": "data-url", "type": "string"} |
preserve_reference_identities | booleanOptional | Default (default): false |
capabilities
{
"additionalProperties": false,
"max_reference_images": 4
}The published contract allows up to 4 image references. Use only the reference fields and roles documented for this model; this limit does not imply support for other media types.
Integrate this model
Point API uses its own REST JSON contract and asynchronous generation resources. Keep API keys on your server, not in public frontend code.
- Read GET /v1/models and select the exact model ID, supported input fields and published price tier.
- Create a model-authorized API key in your workspace and ensure your USD balance covers the request.
- Send REST JSON to POST /v1/generations with Authorization: Bearer and an Idempotency-Key. Reuse that key only with the same request body when retrying the same operation.
- Poll GET /v1/generations/{id} using the same returned generation ID. An accepted request is asynchronous; if its state is unknown, keep checking that ID instead of creating a new paid generation.
POST https://pointgpt.io/v1/generations
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: YOUR_UNIQUE_REQUEST_ID
{
"model": "gpt-image-2.5",
"input": {
"prompt": "A ceramic teapot on a wooden table, soft morning light, simple background."
}
}The initial response confirms acceptance, not a completed result. Inspect the returned state and result on the same generation resource. Supported output and media access depend on the model and your account permissions.
API documentationcURL / Python
POINT_API_KEY · POINT_REQUEST_ID
cURL
curl https://pointgpt.io/v1/generations \
-H "Authorization: Bearer $POINT_API_KEY" \
-H 'Content-Type: application/json' \
-H "Idempotency-Key: $POINT_REQUEST_ID" \
--data-raw '{
"model": "gpt-image-2.5",
"input": {
"prompt": "A ceramic teapot on a wooden table, soft morning light, simple background."
}
}'Python
import json
import os
from urllib.request import Request, urlopen
payload = json.loads('{\n "model": "gpt-image-2.5",\n "input": {\n "prompt": "A ceramic teapot on a wooden table, soft morning light, simple background."\n }\n}')
request = Request('https://pointgpt.io/v1/generations', method='POST',
data=json.dumps(payload).encode('utf-8'),
headers={
'Authorization': 'Bearer ' + os.environ['POINT_API_KEY'],
'Content-Type': 'application/json',
'Idempotency-Key': os.environ['POINT_REQUEST_ID'],
})
with urlopen(request, timeout=60) as response:
job = json.load(response)
print(job['id'])API questions
How is the API request priced?
Creator −10% prices are 10% lower than Studio Creator generation costs converted to USD. Models available only through the API have separate API pricing. A request or character-range tier is the full cost for its exact settings; image and second units are multiplied by count or duration. Token rates apply only where explicitly listed. Missing or expired prices are unavailable, not free. The price is fixed when a request is accepted.
Can I use an OpenAI-compatible client or streaming?
Integrate the documented Point API REST JSON endpoints. This contract does not advertise OpenAI-compatible endpoints or streaming. Use the request and response formats in the API documentation.
How do I receive the generated result?
Submission creates an asynchronous generation resource. Save its ID and poll GET /v1/generations/{id} for its state and result. A state of unknown is not an instruction to submit again: continue checking the same ID.
Related models
Nano Banana 2 API
nanobanano-2AI image generation APINano Banana 2.1 API
nanobanano-2-1AI image generation APINano Banana 2.1 2K API
nanobanano-2-1-2kAI image generation APINano Banana 2.1 4K API
nanobanano-2-1-4kAI image generation APINano Banana Pro API
nanobanano-proAI image generation APINano Banana Pro 2K API
nanobanano-pro-2k