Image ModelsGPT Image
GPT Image 2 图生图
获取 API Keygpt-image-2-image-to-image
GPT Image 2 图生图 API 文档
使用
gpt-image-2-image-to-image模型生成编辑后的图片或图生图结果
Overview
本文档说明如何使用 gpt-image-2-image-to-image 模型进行图片编辑和图生图。
集成流程分为两步:
- 创建生成任务
- 查询任务状态和结果
Authentication
所有 API 请求都需要在请求头中携带 Bearer Token:
Authorization: Bearer YOUR_API_KEY获取 API Key:
- 打开 API Keys 页面
- 点击
Create API Key - 在请求头中加入:
Authorization: Bearer YOUR_API_KEY
1. 创建生成任务
API Information
- URL:
POST https://makifyai.com/api/v1/jobs/createTask - Content-Type:
application/json
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
model | string | Yes | 对外模型 ID,必须精确传入 gpt-image-2-image-to-image |
input | object | Yes | 输入参数对象 |
Model Parameter
model 参数用于指定对外公开的图片编辑模型。
| Property | Value | Description |
|---|---|---|
| Format | gpt-image-2-image-to-image | 精确的对外模型标识 |
| Type | string | 必须传字符串 |
| Required | Yes | 所有创建任务请求都必须提供 |
Note:
model的值必须完全匹配,并且必须使用本页展示的公开模型 ID。
input Object Parameters
prompt
- Type:
string - Required: Yes
- Description: 描述如何编辑或转换源图片的文本提示词
- Max Length: 20000 characters
input_urls
- Type:
string[] - Required: Yes
- Description: 源图片 URL 列表。GPT Image 2 图生图请求推荐使用这个字段
- Constraints: 至少需要一个有效图片 URL
- Supported URL Format: 公开可访问的
https://图片 URL - Supported Image Types: JPEG/JPG、PNG、WEBP
- Max File Size: 每张图片最大 30MB
- Not Supported: 不支持原始 base64 字符串,也不支持内嵌
data:image/...;base64,...URL。如果你只有本地图片文件,需要先自行托管到你的存储、CDN、服务器或图片托管服务,然后把得到的公开图片 URL 传进来
image_urls
- Type:
string[] - Required: No
- Description: 对外 API 兼容接受的
input_urls别名。新接入建议优先使用input_urls - Supported URL Format: 公开可访问的
https://图片 URL - Supported Image Types: JPEG/JPG、PNG、WEBP
- Max File Size: 每张图片最大 30MB
- Not Supported: 不支持原始 base64 字符串,也不支持内嵌
data:image/...;base64,...URL
image_input
- Type:
string[] - Required: No
- Description: 对外 API 兼容接受的图片输入字段。该模型优先使用
input_urls或image_urls - Supported URL Format: 公开可访问的
https://图片 URL - Supported Image Types: JPEG/JPG、PNG、WEBP
- Max File Size: 每张图片最大 30MB
- Not Supported: 不支持原始 base64 字符串,也不支持内嵌
data:image/...;base64,...URL
如何提供源图片 URL
input_urls 里要传 API 可以从公网直接访问的图片 URL。
创建任务请求不接受本地文件路径、二进制文件上传,也不接受内嵌 base64 图片数据。API 调用方需要先自行托管源图片,然后传入托管后的图片 URL:
{
"input_urls": ["https://cdn.example.com/input.png"]
}aspect_ratio
- Type:
string - Required: No
- Description: 输出图片比例
- Options:
auto,1:1,5:4,9:16,21:9,16:9,4:3,3:2,4:5,3:4,2:3 - Default Value:
auto
resolution
- Type:
string - Required: No
- Description: 生成分辨率,同时也会影响积分消耗
- Options:
1K,2K,4K - Default Value:
1K - Important: 当
aspect_ratio为auto或未传时,只支持1K。auto搭配2K或4K会导致任务创建失败。aspect_ratio: "1:1"也不支持4K
Request Example
{
"model": "gpt-image-2-image-to-image",
"input": {
"prompt": "Turn this product photo into a premium studio advertisement with dramatic rim lighting",
"input_urls": ["https://cdn.example.com/input.png"],
"resolution": "1K"
}
}Response Example
{
"code": 200,
"msg": "success",
"data": {
"taskId": "task_xxxxxxxxxxxxx"
}
}Response Parameters
| Parameter | Type | Description |
|---|---|---|
code | integer | 响应状态码,200 表示成功 |
msg | string | 响应消息 |
data.taskId | string | 用于查询任务状态的任务 ID |
2. 查询任务状态
API Information
- URL:
GET https://makifyai.com/api/v1/jobs/recordInfo - Parameter:
taskId(URL 查询参数)
Request Example
GET https://makifyai.com/api/v1/jobs/recordInfo?taskId=task_xxxxxxxxxxxxxResponse 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\",\"input_urls\":[\"https://cdn.example.com/input.png\"],\"resolution\":\"1K\"}}",
"resultJson": null,
"failCode": null,
"failMsg": null,
"costTime": null,
"completeTime": null,
"createTime": 1757584164490
}
}Response Parameters
| Parameter | Type | Description |
|---|---|---|
code | integer | 响应状态码,200 表示成功 |
msg | string | 响应消息 |
data.taskId | string | 任务 ID |
data.model | string | 对外模型 ID |
data.state | string | 任务状态:waiting、success、fail |
data.param | string | 原始创建任务参数,JSON 字符串 |
data.resultJson | string | null | 任务结果 JSON 字符串。图片任务成功时通常包含 resultUrls |
data.failCode | string | null | 任务失败时的错误码 |
data.failMsg | string | null | 任务失败时的错误信息 |
data.costTime | integer | null | 任务完成后的耗时,单位毫秒 |
data.completeTime | integer | null | 完成时间戳,单位毫秒 |
data.createTime | integer | 创建时间戳,单位毫秒 |
Success Result Structure
图片编辑任务成功时,resultJson 通常结构如下:
{
"resultUrls": ["https://your-cdn.example.com/result-1.png"]
}Usage Flow
- 先准备公开可访问且稳定可用的 HTTPS 源图片 URL
- 调用
POST /api/v1/jobs/createTask - 从响应中提取
taskId - 轮询
GET /api/v1/jobs/recordInfo?taskId=... - 成功后从
resultJson中读取输出图片 URL
Notes
- API 调用与网页端共用同一套积分余额和计费规则
- 建议只传可信且稳定可访问的图片 URL
- 不要传内嵌 base64 图片数据。
data:image/...;base64,...虽然可能作为 JSON 字符串进入请求解析,但不是该模型支持的图片输入格式 resolution会影响输出尺寸和积分消耗
Error Codes
| Status Code | Description |
|---|---|
200 | 请求成功 |
400 | 请求参数无效 |
401 | 鉴权失败或 API key 无效 |
402 | 积分不足 |
404 | 任务或资源不存在 |
409 | 活跃任务数超限或请求冲突 |
422 | 参数校验失败 |
429 | 请求超过限流 |
500 | 服务内部错误 |