AI GPT ImageAI GPT Image

GPT Image 2 Image to Image

Get API Keygpt-image-2-image-to-image

GPT Image 2 Image to Image API Documentation

Generate edited or transformed images using the gpt-image-2-image-to-image model

Overview

This document describes how to use the gpt-image-2-image-to-image model for image editing and image-to-image generation.

The integration flow consists of two steps:

  1. Create a generation task
  2. Query task status and results

Authentication

All API requests require a Bearer Token in the request header:

Authorization: Bearer YOUR_API_KEY

Get API Key:

  1. Open the API Keys page
  2. Click Create API Key
  3. Add the key to the request header: Authorization: Bearer YOUR_API_KEY

1. Create Generation Task

API Information

  • URL: POST https://aigptimage.com/api/v1/jobs/createTask
  • Content-Type: application/json

Request Parameters

ParameterTypeRequiredDescription
modelstringYesPublic model ID. Must be exactly gpt-image-2-image-to-image
inputobjectYesInput parameters object

Model Parameter

The model parameter specifies which public image editing model to use.

PropertyValueDescription
Formatgpt-image-2-image-to-imageExact public model identifier
TypestringMust be passed as a string
RequiredYesMandatory for all create task requests

Note: The model value must match exactly and use the public model ID shown on this page.

input Object Parameters

prompt

  • Type: string
  • Required: Yes
  • Description: Text prompt describing how the source image should be edited or transformed
  • Max Length: 20000 characters

image_urls

  • Type: string[]
  • Required: Yes
  • Description: Source image URLs
  • Constraints: At least one valid image URL is required

input_urls

  • Type: string[]
  • Required: No
  • Description: Alternative image input field accepted by the public API and forwarded to the backend when provided

image_input

  • Type: string[]
  • Required: No
  • Description: Alternative image input field accepted by the public API and forwarded to the backend when provided

aspect_ratio

  • Type: string
  • Required: No
  • Description: Output image aspect ratio
  • Common Options: auto, 1:1, 4:5, 3:4, 2:3, 16:9, 9:16

resolution

  • Type: string
  • Required: No
  • Description: Output resolution used for generation and billing
  • Options: 1K, 2K, 4K
  • Default Value: 1K

quality

  • Type: string
  • Required: No
  • Description: Optional quality parameter passed through to the image backend

output_format

  • Type: string
  • Required: No
  • Description: Optional output image format passed through to the image backend

Request Example

{
  "model": "gpt-image-2-image-to-image",
  "input": {
    "prompt": "Turn this product photo into a premium studio advertisement with dramatic rim lighting",
    "image_urls": ["https://cdn.example.com/input.png"],
    "resolution": "1K"
  }
}

Response Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_xxxxxxxxxxxxx"
  }
}

Response Parameters

ParameterTypeDescription
codeintegerResponse status code. 200 means success
msgstringResponse message
data.taskIdstringTask ID used to query task status

2. Query Task Status

API Information

  • URL: GET https://aigptimage.com/api/v1/jobs/recordInfo
  • Parameter: taskId (URL query parameter)

Request Example

GET https://aigptimage.com/api/v1/jobs/recordInfo?taskId=task_xxxxxxxxxxxxx

Response Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "task_xxxxxxxxxxxxx",
    "model": "gpt-image-2-image-to-image",
    "state": "waiting",
    "param": "{\"model\":\"gpt-image-2-image-to-image\",\"input\":{\"prompt\":\"Turn this product photo into a premium studio advertisement with dramatic rim lighting\",\"image_urls\":[\"https://cdn.example.com/input.png\"],\"resolution\":\"1K\"}}",
    "resultJson": null,
    "failCode": null,
    "failMsg": null,
    "costTime": null,
    "completeTime": null,
    "createTime": 1757584164490
  }
}

Response Parameters

ParameterTypeDescription
codeintegerResponse status code. 200 means success
msgstringResponse message
data.taskIdstringTask ID
data.modelstringPublic model ID
data.statestringTask status: waiting, success, fail
data.paramstringOriginal create task request parameters as JSON string
data.resultJsonstring | nullResult JSON string. For image tasks it contains resultUrls when successful
data.failCodestring | nullFailure code when the task fails
data.failMsgstring | nullFailure message when the task fails
data.costTimeinteger | nullTask duration in milliseconds after completion
data.completeTimeinteger | nullCompletion timestamp in milliseconds
data.createTimeintegerCreation timestamp in milliseconds

Success Result Structure

For image editing tasks, resultJson usually has this structure:

{
  "resultUrls": ["https://your-cdn.example.com/result-1.png"]
}

Usage Flow

  1. Upload or prepare a public source image URL
  2. Call POST /api/v1/jobs/createTask
  3. Extract taskId from the response
  4. Poll GET /api/v1/jobs/recordInfo?taskId=...
  5. Read output image URLs from resultJson when the task succeeds

Notes

  • API calls use the same credit balance and billing rules as the web app
  • Only send trusted and stable public image URLs
  • resolution affects both output size and credit consumption

Error Codes

Status CodeDescription
200Request successful
400Invalid request parameters
401Authentication failed or API key is invalid
402Insufficient credits
404Task or resource not found
409Active task limit exceeded or request conflict
422Parameter validation failed
429Request rate limit exceeded
500Internal server error
GPT Image 2 Image to Image