The cheapest GPT Image 2 channel on the platform: $0.008 per image at a fixed 1K output tier. One endpoint auto-routes text-to-image and image editing (reference images + multi-image fusion), with synchronous responses — no polling. For 2K/4K HD output use gpt-image-2 instead.
Authorization: Bearer YOUR_API_KEY| Model | model | Price | Notes |
|---|---|---|---|
| GPT Image 2 Lite | gpt-image-2-lite | $0.008/image | Sync · 1K · text-to-image + editing |
/api/v1/images/generations# ─── 1. Text-to-image ──────────────────────────────────────
curl -X POST https://apimodels.app/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-lite",
"prompt": "A children'"'"'s book drawing of a veterinarian using a stethoscope to listen to the heartbeat of a baby otter.",
"aspect_ratio": "1:1"
}'
# Response (sync — image URL returned directly):
# { "code": 200, "msg": "success", "data": { "taskId": "clxxx", "state": "completed", "resultUrls": ["https://r2.apimodels.app/..."] } }
# ─── 2. Image editing with a reference URL ────────────────
curl -X POST https://apimodels.app/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-lite",
"prompt": "Change the season to winter with snow",
"image_url": "https://example.com/landscape.jpg"
}'
# ─── 3. Multi-image fusion via base64 ─────────────────────
curl -X POST https://apimodels.app/api/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-lite",
"prompt": "Combine the model from image 1 with the outfit from image 2",
"image_base64": "BASE64_IMAGE_1",
"image_urls": ["https://example.com/outfit.jpg"]
}'
# ─── 4. Poll status (lite is sync, this returns completed) ─
curl "https://apimodels.app/api/v1/images/generations?task_id=TASK_ID" \
-H "Authorization: Bearer YOUR_API_KEY"| Field | Required | Type | Description |
|---|---|---|---|
| model | Yes | string | Must be "gpt-image-2-lite" |
| prompt | Yes | string | Prompt or editing instructions. When editing multiple images, reference them as "image 1", "image 2". |
| aspect_ratio | No | string | "auto" (default) or a W:H value such as 1:1 / 16:9 / 9:16 / 4:3 / 3:4 / 3:2 / 2:3 / 21:9. With auto, text-to-image lets the model choose; image editing follows the input image ratio. |
| image_url | No | string | Single reference image URL — providing it routes to image editing. |
| image_urls | No | string[] | Multiple reference image URLs for multi-image fusion. |
| image_base64 | No | string | Base64 or data-URI reference image (for local files). |
| image_mime_type | No | string | MIME type of image_base64. Default image/png. |
| n | No | integer | Number of images 1-10 (default 1). Linear cost per image. |
| callback_url | No | string | Webhook URL called when task completes. |
| Field | Required | Type | Description |
|---|---|---|---|
| code | — | integer | 200 on success; otherwise see the error-code table. |
| data.taskId | — | string | Task ID. |
| data.state | — | string | completed / failed. Sync model — state is usually already completed when create returns. |
| data.resultUrls | — | string[] | R2-hosted image URLs. |
| data.failMsg | — | string | Failure reason (when state=failed). |
| data.costTime | — | integer | Duration in ms. |
Related: for 2K/4K HD and stronger composition control see GPT Image 2; try it in the Playground
Flat $0.008 per image regardless of aspect ratio or reference count — the cheapest GPT Image 2 channel on apimodels.app. Failed requests are not billed.
No — Lite is a fixed 1K tier, and 2K/4K requests return a 400 error instead of being silently downgraded. For HD output use gpt-image-2 (1K/2K/4K tiers).
Yes. The POST create call usually returns state=completed with resultUrls directly (typically 20-30s) — no polling needed.