GPT Image 2 图像生成
- GPT Image 2 (gpt-image-2) 模型支持文本转图片、图生图、图像编辑等多种生成模式
- 异步处理模式,使用返回的任务ID 进行查询
- 生成的图像链接,有效期为24小时,请尽快保存
授权
##所有接口均需要使用Bearer Token进行认证## **获取 API Key :** 访问 [API Key 管理页面](https://starmagic.ai/app/api-keys) 获取您的 API Key **使用时在请求头中添加:** ``` Authorization: Bearer YOUR_API_KEY ```
Authorization: Bearer YOUR_API_KEY请求体
application/json图像生成模型名称,官方通道,稳定性和可控性更好,适用于商业场景
"gpt-image-2"提示词,描述想要生成的图像,或描述如何编辑已输入的图像 **限制:** - 最多 `32000` 字符(按 Unicode 码点统计,中英日韩通用)
"海面上绚丽多彩的美丽日落"参考图像URL列表,用于图生图与图像编辑功能 **注意:** - 单次请求支持输入图像数量:`1~16`张 - 单张图像大小:不超过 `50MB` - 支持的文件格式:`.jpeg`、`.jpg`、`.png`、`.webp` - 图像URL需要服务器能直接查看,或者图像URL在访问时会直接进行下载(一般这种URL是以图像的扩展名作为结尾,例如`.png`、`.jpg`) - 图生图/图像编辑场景下,传入的参考图本身会产生额外的图像输入 token 消耗
[
"https://example.com/image1.png",
"https://example.com/image2.png"
]局部重绘遮罩图 URL —— 标记参考图上需要重新生成的区域。**仅在图像编辑模式下生效**(必须同时传 `image_urls`);纯文生图时即使传了 `mask_url` 也会被忽略。 **格式要求:** - **必须是带 alpha 通道的 PNG**:透明像素(`alpha < 255`)= 需要重绘的区域,不透明像素 = 保留原图 - **遮罩尺寸必须与参考图完全一致**(宽 × 高,单位像素) - 单次请求仅支持一张遮罩 **注意:** - 至少要在 `image_urls` 里提供 1 张参考图,单独传 mask 不会生效 - 常见错误: - `Invalid mask image format - mask image missing alpha channel`:上传的图没有 alpha 通道(JPEG、不透明 PNG 等),请重新导出带透明区域的 PNG - `Invalid mask image format - mask size does not match image size`:遮罩与参考图尺寸不一致,请将遮罩调整到与参考图完全相同的像素尺寸
"https://example.com/mask.png"生成图像的尺寸,支持**比例格式**与**显式像素格式**两种写法,默认 `auto` **① 比例格式(推荐,15 种)** - `1:1`:正方形 - `1:2` / `2:1`:极竖/极横 - `1:3` / `3:1`:超竖/超横(临界 3:1) - `2:3` / `3:2`:标准竖/横 - `3:4` / `4:3`:传统竖/横 - `4:5` / `5:4`:社交媒体常用 - `9:16` / `16:9`:手机/桌面宽屏 - `9:21` / `21:9`:超宽屏 **② 显式像素格式**:`WxH`(或 `W×H`),例如 `1024x1024`、`1536x1024`、`3840×2160` - 宽、高均必须为 `16` 的整数倍 - 每条边范围:`[16, 3840]` - 像素预算:`655,360 ≤ width × height ≤ 8,294,400`(约 0.65 MP ~ 8.29 MP) - 长宽比:`≤ 3:1` **③ `auto`**:由模型自动决定尺寸(此时 `resolution` 不生效) **超限处理:** - 比例 + `resolution` 组合若超预算会自动按比例缩到顶格(例如 4K 2:1 → 3840×1920)
"auto"分辨率档位快捷参数,仅在 `size` 为比例格式时生效,显式像素格式下此字段被忽略 **像素预算规则**(根据目标总像素数和 `size` 比例推算宽高,结果向 16 的倍数对齐): - `1K`:~1 MP(1024² = 1,048,576 像素) - `2K`:~4 MP(2048² = 4,194,304 像素) - `4K`:~8.29 MP(3840×2160 = 8,294,400 像素,即上限) **横版/正方形对应实际输出尺寸**(竖版尺寸为对应横版的宽高调换,例如 `2:3` = `3:2` 反转): | 比例 | 1K | 2K | 4K | |---|---|---|---| | `1:1` | 1024×1024 | 2048×2048 | 2880×2880 | | `2:1` | 1456×720 | 2896×1456 | 3840×1920 \* | | `3:1` | 1776×592 | 3552×1184 | 3840×1280 \* | | `3:2` | 1248×832 | 2512×1680 | 3520×2352 | | `4:3` | 1184×880 | 2368×1776 | 3312×2480 \* | | `5:4` | 1152×912 | 2288×1824 | 3216×2576 | | `16:9` | 1360×768 | 2736×1536 | 3840×2160(UHD)| | `21:9` | 1568×672 | 3136×1344 | 3840×1632 \* | \* 表示超像素预算后按比例自动缩到顶格。取值大小写不敏感。
"1K"渲染质量,控制模型的"思考深度",直接影响输出 token 数和费用,默认 `medium` | 取值 | tile 基数 | 相对成本(1024²)| |---|---|---| | `low` | 16 | ~0.11× | | `medium` | 48 | 1.0× | | `high` | 96 | ~4.0× |
"medium"生成图片数量,每张独立计费 **注意:** - 文本输入 token 会随 `n` 等比放大
1任务完成后的HTTPS回调地址 **回调时机:** - 任务完成(completed)、失败(failed)或取消(cancelled)时触发 - 在计费确认完成后发送 **安全限制:** - 仅支持HTTPS协议 - 禁止回调到内网IP地址(127.0.0.1、10.x.x.x、172.16-31.x.x、192.168.x.x等) - URL长度不超过`2048`字符 **回调机制:** - 超时时间:`10`秒 - 失败后最多重试`3`次(会分别在失败的`1`秒/`2`秒/`4`秒后进行重试) - 回调响应体格式与任务查询接口返回的格式一致 - 回调地址若返回2xx状态码视为成功,其他状态码会触发重试
"https://your-domain.com/webhooks/image-task-completed"响应
application/json响应体
任务创建时间戳
1757156493任务ID
"task-unified-1757156493-imcg5zqt"实际使用的模型名称
"gpt-image-2"任务的具体类型
"image.generation.task"任务进度百分比 (0-100)
0任务状态
"pending"{
"can_cancel": true,
"estimated_time": 100
}任务的输出类型
"image"使用量和计费信息
{
"billing_rule": "per_call",
"credits_reserved": 2.5,
"user_group": "default"
}
