GPT Image 1.5
AI Image Editing Model
OpenAI's state-of-the-art image generation model with better instruction following and adherence to prompts
GPT Image 1.5 API OpenAI-compatible
Developers can integrate GPT Image 1.5 through the Lumenfall OpenAI-compatible API to automate text-to-image generation and complex image editing workflows. This single endpoint provides programmatic access to OpenAI's state-of-the-art vision capabilities for scalable media production.
https://api.lumenfall.ai/openai/v1
gpt-image-1.5
Code Examples
Text to Image
/v1/images/generationscurl -X POST \
https://api.lumenfall.ai/openai/v1/images/generations \
-H "Authorization: Bearer $LUMENFALL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-1.5",
"prompt": "",
"size": "1024x1024"
}'
# Response:
# { "created": 1234567890, "data": [{ "url": "https://...", "revised_prompt": "..." }] }
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.lumenfall.ai/openai/v1'
});
const response = await client.images.generate({
model: 'gpt-image-1.5',
prompt: '',
size: '1024x1024'
});
// { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
console.log(response.data[0].url);
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.lumenfall.ai/openai/v1"
)
response = client.images.generate(
model="gpt-image-1.5",
prompt="",
size="1024x1024"
)
# { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
print(response.data[0].url)
Parameter Reference
Core Parameters
| Parameter | Type | Description | Modes |
|---|---|---|---|
prompt
|
string | Required. Text prompt for image generation |
T2I
Edit
|
quality
|
string |
Image quality level
high
low
medium
|
T2I
Edit
|
Size & Layout
| Parameter | Type | Description | Modes |
|---|---|---|---|
size
|
string |
Image dimensions as WxH pixels (e.g. "1024x1024") or aspect ratio (e.g. "16:9")
1254x836
836x1254
1024x1024
1536x1024
1024x1536
WxH determines both shape and scale (aspect_ratio and resolution are ignored when size is provided). W:H format is equivalent to aspect_ratio.
|
T2I
Edit
|
aspect_ratio
|
string |
Aspect ratio of the output image (e.g. "16:9", "1:1")
2:3
1:1
3:2
Controls shape independently of scale. Use with resolution to control both. If size is also provided, size takes precedence. Any ratio is accepted and mapped to the nearest supported value.
|
T2I
Edit
|
resolution
|
string |
Output resolution tier (e.g. "1K", "4K")
1K
Controls scale independently of shape. Higher tiers produce larger images and cost more. If size is also provided, size takes precedence for scale. Any tier is accepted and mapped to the nearest supported value.
|
T2I
Edit
|
| Output |
size
|
aspect_ratio
+
resolution
|
|
|---|---|---|---|
| Flexible | |||
|
Custom
1024–1536px per side
|
"WxH" |
— | Any pixel dimensions within model constraints |
1K 5 sizes
| Output |
size
|
aspect_ratio
+
resolution
|
|
|---|---|---|---|
| 1024 × 1536 | "1024x1536" |
or |
"2:3"
+
"1K"
|
| 1536 × 1024 | "1536x1024" |
or |
"3:2"
+
"1K"
|
| 1024 × 1024 | "1024x1024" |
or |
"1:1"
+
"1K"
|
| 836 × 1254 | "836x1254" |
or |
"2:3"
+
"1K"
|
| 1254 × 836 | "1254x836" |
or |
"3:2"
+
"1K"
|
How these parameters work
size
Exact pixel dimensions
"1920x1080"
aspect_ratio
Shape only, default scale
"16:9"
resolution
Scale tier, preserves shape
"1K"
Priority when combined
size is most specific and always wins. aspect_ratio and resolution control shape and scale independently.
How matching works
7:1 on a model with
4:1 and 8:1,
you get 8:1.
0.5K 1K 2K 4K)
or megapixel tiers (0.25 1).
If the exact tier isn't available, you get the nearest one.
Media Inputs
| Parameter | Type | Description | Modes |
|---|
Output & Format
| Parameter | Type | Description | Modes |
|---|---|---|---|
response_format
|
string |
How to return the image
url
b64_json
Default:
"url" |
T2I
Edit
|
output_format
|
string |
Output image format
png
jpeg
gif
webp
avif
Gateway converts to requested format if provider doesn't support it natively.
|
T2I
Edit
|
output_compression
replicate
|
integer |
Compression level (0-100%)
Default:
90 |
T2I
Edit
|
n
|
integer |
Number of images to generate
Default:
1Gateway generates multiple images in parallel even if provider only supports 1.
|
T2I
Edit
|
Additional Parameters
Provider-specific passthrough fields, available only when the request is routed to the listed provider.
| Parameter | Type | Description | Modes |
|---|---|---|---|
|
Universal
|
|||
background
|
string |
Set whether the background is transparent or opaque or choose automatically
opaque
transparent
|
T2I
Edit
|
input_fidelity
|
string |
Control how much effort the model will exert to match the style and features, especially facial features, of input images
high
low
|
T2I
Edit
|
moderation
|
string |
Content moderation level
low
|
T2I
Edit
|
|
fal
|
|||
sync_mode
|
boolean | If `True`, the media will be returned as a data URI and the output data won't be available in the request history. |
T2I
Edit
|
|
openai
|
|||
partial_images
|
integer | Number of partial images to generate in streaming responses. |
T2I
Edit
|
stream
|
boolean | Whether to stream image generation or edit events as they become available. |
T2I
Edit
|
user
|
string | Stable end-user identifier used by OpenAI abuse monitoring. |
T2I
Edit
|
|
replicate
|
|||
openai_api_key
|
string | Your OpenAI API key (optional - uses proxy if not provided) |
T2I
Edit
|
user_id
|
string | An optional unique identifier representing your end-user. This helps OpenAI monitor and detect abuse. |
T2I
Edit
|
Parameter Normalization
How we handle parameters across different providers
Not every provider speaks the same language. When you send a parameter, we handle it in one of four ways depending on what the model supports:
| Behavior | What happens | Example |
|---|---|---|
passthrough |
Sent as-is to the provider | style, quality |
renamed |
Same value, mapped to the field name the provider expects | prompt |
converted |
Transformed to the provider's native format | size |
emulated |
Works even if the provider has no concept of it | n, response_format |
Parameters we don't recognize pass straight through to the upstream API, so provider-specific options still work.