API进阶用户更新于

图片生成 API

图片 API 兼容 OpenAI Images 协议。下面是精选、已核验的十六个模型:全部可通过 generations 文生图;只有明确标注支持 /edits 的模型才能调用编辑端点。 GPT Image 2、2.5 和 2.6 的静态图用法,以及 2.6 的 GIF 用法,见下方对应小节。

提供两个端点:

  • /v1/images/generations — 生成图片;部分模型也可在此端点提交参考图
  • /v1/images/edits — 用于有编辑支持的模型,兼容 OpenAI 原生 edits 调用习惯
<!-- featured-image-models:start -->
模型支持的端点保守限制分辨率
gpt-image-2/generations、/edits支持参考图编辑1K / 2K / 4K
gpt-image-2.5-flare/generations、/edits支持参考图的图生图和编辑1K / 2K / 4K
gpt-image-2.5-sunburst/generations、/edits支持参考图的图生图和编辑1K / 2K / 4K
gemini-3.1-flash-image-preview/generations、/edits最多 4 张有效参考图1K / 2K / 4K
gemini-2.5-flash-image/generations、/edits最多 4 张有效参考图仅 1K
gemini-3-pro-image-preview/generations、/edits最多 4 张有效参考图1K / 2K / 4K
grok-imagine-1.0/generations仅生成;未公开承诺参考图能力未公开分辨率档位
seedream-5-0-flash/generations最多 8 张参考图;仅 generations1K / 1.5K / 2K
seedream-5-0-pro/generations最多 8 张参考图;仅 generations1K / 1.5K / 2K
seedream-4-5/generations最多 8 张参考图;仅 generations2K / 4K
seedream-4-0/generations最多 8 张参考图;仅 generations1K / 2K / 4K
doubao-seedream-5-0-lite/generations参考图能力取决于有效且受支持的生成请求未公开分辨率档位
flux-2-pro/generations参考图能力取决于有效且受支持的生成请求未公开分辨率档位
flux-3-image/generations支持参考图(最多 8 张);仅 generations768sq / 1K / 1.5K / 2K / 4K
flux-3-image-klein/generations支持参考图(最多 8 张);仅 generations768sq / 1K / 1.5K / 2K / 4K
midjourney/generations仅提示词;不支持参考图未公开分辨率档位
<!-- featured-image-models:end -->

GPT Image 2、2.5 和 2.6 静态图

这三个版本都支持 1K、2K、4K 静态图。文生图用 POST /v1/images/generations。参考图编辑用 POST /v1/images/edits,通过 image_urls 传入公开 HTTPS 图片链接或 data:image/...;base64,...。2.6 最多支持 8 张参考图。Image 2.6 的 2K 和 4K 静态图参考图须为 PNG、JPEG 或 WebP。

用 image_size 选择分辨率。Image 2 用 size 指定比例,例如 16:9。Image 2.5 和 2.6 可用 aspect_ratio。2.6 静态图使用 output_format: "png" 和 n: 1。

版本模型 ID静态图价格(人民币 / 张)
GPT Image 2gpt-image-2参考价 1K ¥0.0833、2K ¥0.147、4K ¥0.2156,按实际用量结算。
GPT Image 2.5gpt-image-2.5-flare, gpt-image-2.5-sunburst参考价 1K ¥0.0833、2K ¥0.294、4K ¥0.392,参考图不额外收费。
GPT Image 2.6gpt-image-2.6-flare, gpt-image-2.6-sunburst每个成功结果 1K ¥0.0833、2K ¥0.294、4K ¥0.392。

GPT Image 2 文生图(同步)

curl -X POST https://api.icodeeasy.cc/v1/images/generations \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一只橘猫坐在窗台上看夕阳,水彩画风格"
  }'

GPT Image 2.5 文生图(2K)

curl -X POST "https://api.icodeeasy.cc/v1/images/generations?sync=1" \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "一只戴着宇航员头盔的橘猫,电影感灯光",
    "aspect_ratio": "16:9",
    "image_size": "2K"
  }'

GPT Image 2.5 图生图(参考图编辑)

curl -X POST "https://api.icodeeasy.cc/v1/images/edits?sync=1" \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-sunburst",
    "prompt": "把背景替换成日落海滩,保留人物姿势和服装",
    "aspect_ratio": "3:2",
    "image_size": "1K",
    "image_urls": ["https://example.com/photo.png"]
  }'

GPT Image 2.6 参考图编辑(4K)

下例使用 Sunburst。使用 Flare 时,将 model 改为 gpt-image-2.6-flare。将示例链接替换为自己的参考图链接。

curl -X POST 'https://api.icodeeasy.cc/v1/images/edits?async=1' \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-sunburst",
    "prompt": "把背景换成浅蓝色墙面,保留参考图中杯子的形状和构图。",
    "output_format": "png",
    "aspect_ratio": "16:9",
    "image_size": "4K",
    "n": 1,
    "image_urls": [
      "https://example.com/reference.png"
    ]
  }'

GPT Image 2.6 GIF 生成

gpt-image-2.6-flare 和 gpt-image-2.6-sunburst 均可通过 POST /v1/images/generations 生成 GIF。设置 output_format: "gif"、size: "auto" 和 n: 1,每次生成一个 GIF,动画尺寸和帧参数自动设置。

纯文生 GIF 省略 image_urls。带图生成时,image_urls 可传最多 8 张参考图,支持公网可访问的 HTTPS 图片链接或 data:image/...;base64,...。

下例使用 Flare。将示例链接替换为自己的参考图链接。使用 Sunburst 时,把 model 改为 gpt-image-2.6-sunburst。

curl -X POST 'https://api.icodeeasy.cc/v1/images/generations?async=1' \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.6-flare",
    "prompt": "让参考图中的纸灯笼随风轻摆,保持原有构图,无缝循环。",
    "output_format": "gif",
    "size": "auto",
    "n": 1,
    "image_urls": [
      "https://example.com/reference.png"
    ]
  }'

异步提交返回 task_id。使用 GET /v1/images/tasks/{task_id} 查询,任务完成后从 result_url 下载 GIF。

  • 纯文生 GIF的标准价为 ¥0.0833/个。Flare 在使用备用服务时为 ¥0.30/个。
  • 参考图 GIF按实际用量结算,最终金额以用量记录为准。

FLUX 2 Pro / Max / Flex

按分辨率的参考价(人民币 / 张)。按实际生成用量结算,最终金额以账单为准: 费用随输出尺寸和参考图而变化。

Model1MP2MP3MP4MP
flux-2-pro¥0.2352¥0.3528¥0.4704¥0.588
flux-2-max¥0.5488¥0.784¥1.0192¥1.2544
flux-2-flex¥0.392¥0.784¥1.176¥1.568

Seedream 系列

以下新型号支持基础文生图和参考图编辑,最多 8 张参考图。使用 size / aspect_ratio 明确比例、image_size 选择下表分辨率、image_input 提交参考图。每任务只生成一张;绘画页面多张功能会拆成独立任务。5 Flash/Pro 的比例为 1:1、4:3、3:4、16:9、9:16、3:2、2:3、2:1、1:2、21:9;4.5/4.0 另支持 9:21。4.0 提示词最多 1000 字。未开放图层、透明背景等高级参数。旧 Lite 仍为 2K ¥0.30 / 3K ¥0.45。

参考价;成功任务按实际生成费用结算,最终费用以使用明细为准。 仅 Seedream 5 Pro:第 2 张参考图起每张参考约 ¥0.01911;实际任务费用优先。

Modelimage_size基础参考价(人民币 / 张)
seedream-5-0-flash1K / 1.5K / 2K¥0.134358
seedream-5-0-pro1K / 1.5K → 2K¥0.28665 → ¥0.5733
seedream-4-52K / 4K¥0.2548
seedream-4-01K / 2K / 4K¥0.1911

FLUX 3 Image 与 Klein

flux-3-image 与 flux-3-image-klein 使用 image_size 指定 768sq / 1K / 1.5K / 2K / 4K,用 aspect_ratio 显式指定 1:1 / 9:16 / 16:9 / 2:3 / 3:2 / 4:5 / 5:4。不要传 auto 或像素尺寸;这两个模型不受旧 FLUX2 的 2048 像素边长限制。参考图使用 image_input(URL 或 base64 data URL),最多 8 张;不支持框选编辑。单个任务只生成一张,绘画页面的多张功能会拆为独立任务。Image 不支持 seed;Klein 支持 seed(0–4294967295)。两者都不支持 prompt_upsampling、style 或 negative_prompt。

参考价;成功任务按实际生成费用结算,最终费用以使用明细为准。

型号7681K1.5K2K4K
flux-3-image¥0.4018¥0.4704¥0.686¥0.98¥5.9486
flux-3-image-klein¥0.0784¥0.0882¥0.1078¥0.1372¥0.3528
{
  "model": "flux-3-image",
  "prompt": "A watercolor landscape",
  "aspect_ratio": "16:9",
  "image_size": "4K",
  "image_input": []
}

端点与认证

POST https://api.icodeeasy.cc/v1/images/generations
POST https://api.icodeeasy.cc/v1/images/edits

主 Base URL 使用 https://api.icodeeasy.cc。https://jp.icodeeasy.cc 与 https://sg.icodeeasy.cc 是备用 / fallback 域名,切换时路径保持不变。

请求头:

  • Authorization:Bearer <你的 API Key>(必填,sk_ 开头)
  • Content-Type:application/json(JSON 形式)或 multipart/form-data(文件上传形式)

也接受不带 /v1 前缀的 POST /images/generations、POST /images/edits,效果相同。


两种入站形式

接口同时支持两种请求体:

  1. JSON(Content-Type: application/json):参考图以 URL 或 base64 放进 image_urls 字段。最常用。
  2. multipart/form-data:参考图以 image[] 文件上传,其它参数走 form 字段。与 OpenAI 原生 edits 一致,适合直接上传本地图片。

请求参数

以下参数用于静态图请求。GIF 请求请使用 GPT Image 2.6 GIF 生成小节的参数。

  • model(必填):使用上表十六个精选模型 ID 之一。 也可使用 GPT Image 2.6 静态图小节列出的模型 ID。
  • prompt(必填):图像描述,中英文均可。上游会做内容安全审核,违规直接拒绝、不扣费。
  • n(默认 1):生成张数,按张累计计费。 GPT Image 2 按实际任务总费用结算时,不再另乘张数。
  • size(默认 1:1):输出比例,见下方。也接受 auto(按 1:1 处理)或像素串(如 1536x1024)。
  • aspect_ratio(可选,默认 1:1):GPT Image 2.5 和 2.6 的输出比例,如 16:9。
  • image_size(可选,默认 1K):GPT Image 2 / 2.5 / 2.6 的清晰度档位,可选 1K / 2K / 4K。
  • quality:GPT Image 2 可选 low / medium / high / auto,但不按质量分档计价。GPT Image 2.5 按张和分辨率计费,不提供独立质量档位;旧请求中的该字段仅兼容接收,不影响出图参数或价格。
  • image_urls / image_input(可选,JSON 形式):图生图参考图,最多 4 张(FLUX 3 和 GPT Image 2.6 为 8 张)。元素可为 https://... URL(须公网可访问的 https)或 data:image/...;base64,...,可混填。两个字段是别名,效果相同。
  • image[](可选,multipart 形式):图生图参考图文件,可多个,等价于 image_urls 的文件上传写法。

参考图链路提示:URL 必须是 https://(http 会被拒绝);base64 必须是合法的 data:image/*;base64, 格式。


支持的比例与分辨率

支持的比例(size):1:1 / 3:2 / 2:3 / 4:3 / 3:4 / 5:4 / 4:5 / 16:9 / 9:16 / 2:1 / 1:2 / 21:9 / 9:21 / auto。

GPT Image 2.5 的 aspect_ratio 支持:1:1 / 3:2 / 2:3 / 4:3 / 3:4 / 5:4 / 4:5 / 16:9 / 9:16 / 21:9。

gemini-2.5-flash-image 仅支持 1k;表中的 Gemini 3.x 支持 1k / 2k / 4k。gpt-image-2 用 size 控制输出比例或像素尺寸,并提供 1K / 2K / 4K 分辨率参考价。


同步 / 异步模式

默认同步:请求阻塞到出图,直接返回 OpenAI 兼容结构 data[].url,一次拿图。

异步:在 URL 加 ?async=1(也接受 true / yes),立即返回 task_id,再自行轮询任务结果。适合不想长时间挂住连接、需要进度反馈、或批量提交的场景。

默认(同步)?async=1(异步)
返回时机等几十秒,出图后返回立即(< 1 秒)返回
状态码200202
返回体{"created":...,"data":[{"url":"..."}],"id":"..."}{"status":"pending","task_id":"..."}
拿图方式一次拿到轮询 GET /v1/images/tasks/{task_id}

请求示例

使用 Gemini 3.x 指定比例与 2K

curl -X POST https://api.icodeeasy.cc/v1/images/generations \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-image-preview",
    "prompt": "a corgi astronaut on the moon, cinematic",
    "aspect_ratio": "16:9",
    "image_size": "2K"
  }'

Gemini 文生图

curl -X POST https://api.icodeeasy.cc/v1/images/generations \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-image-preview",
    "prompt": "一间未来感咖啡馆,清晨阳光,写实摄影风格",
    "aspect_ratio": "16:9",
    "image_size": "1K"
  }'

图生图:用图片 URL(JSON)

curl -X POST https://api.icodeeasy.cc/v1/images/edits \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "把这个人物改成 70 岁",
    "size": "1536x1024",
    "image_urls": ["https://example.com/photo.png"]
  }'

图生图:上传本地图片(multipart)

curl -X POST https://api.icodeeasy.cc/v1/images/edits \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -F "model=gpt-image-2" \
  -F "prompt=把这个人物改成 70 岁" \
  -F "size=1536x1024" \
  -F "image[]=@/path/to/photo.png"

图生图:多参考图融合(URL + base64 混填)

curl -X POST https://api.icodeeasy.cc/v1/images/edits \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "把这两张照片融合成一张海报",
    "size": "4:3",
    "image_urls": [
      "https://example.com/photo-a.jpg",
      "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
    ]
  }'

异步提交 + 轮询

# 1) 提交,立即拿 task_id
curl -X POST "https://api.icodeeasy.cc/v1/images/edits?async=1" \
  -H "Authorization: Bearer sk_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "把这个人物改成 70 岁",
    "image_urls": ["https://example.com/photo.png"]
  }'
# → {"status":"pending","task_id":"d142c93a-..."}

# 2) 轮询直到 completed
curl "https://api.icodeeasy.cc/v1/images/tasks/d142c93a-..." \
  -H "Authorization: Bearer sk_xxxxxxxx"
# → {"status":"completed","result_url":"https://...png","cost":0.2,...}

响应结构

同步成功(HTTP 200,OpenAI Images 兼容):

{
  "id": "3e0c77bb-9cbd-4c44-9549-bff1b4060623",
  "created": 1781599773,
  "data": [
    {
      "url": "https://api.icodeeasy.cc/v1/images/files/gpt-image-2/20260616/3e0c77bb-...-1.png"
    }
  ]
}

异步提交(HTTP 202):

{ "status": "pending", "task_id": "d142c93a-de26-40c9-be62-0de840d10960" }

异步任务查询(GET /v1/images/tasks/{task_id}):

{
  "task_id": "d142c93a-de26-40c9-be62-0de840d10960",
  "status": "completed",
  "model": "gpt-image-2",
  "cost": 0.2,
  "result_url": "https://api.icodeeasy.cc/v1/images/files/gpt-image-2/20260616/d142c93a-...-1.png"
}
  • status:pending / completed / failed
  • data[].url / result_url:图片链接,可直接 <img src> 展示
  • id / task_id:任务 ID,便于客服排查

接口固定返回 URL,不支持 response_format: b64_json。如需图片字节请自行下载。


图片链接行为

data[].url 形如 https://api.icodeeasy.cc/v1/images/files/gpt-image-2/YYYYMMDD/<id>-<seq>.png:

  • 直接打开:GET 返回 302,自动跳转到实际图片地址,浏览器无感
  • 强制下载:URL 加 ?download=1 触发附件下载
  • 长期有效:该链接长期可用
  • 访问控制:该路径不需要 API Key,链接本身即凭据。请勿把生成结果链接发到公开场合,任何人持有完整 URL 都能下载

同步语义与超时

默认同步模式下,请求会一直挂到出图:

  • 客户端 HTTP 超时建议 ≥ 200 秒
  • 单张图典型 30~60 秒,图生图、2K、多张可能更长
  • 不想长时间等待时,改用异步模式(?async=1)立即拿 task_id,再轮询

错误响应

错误体统一为:

{
  "error": {
    "type": "server_error",
    "message": "...",
    "provider": "icodeeasy.cc"
  }
}

常见状态:

  • 400 invalid_request_error:参数错误(比例不支持、参考图超 4 张、参考图非 https/非合法 base64 等)
  • 401 authentication_error:API Key 缺失或无效
  • 402 payment_required:余额不足 / 月卡额度用尽
  • 429 rate_limit_error:调用频率超限
  • 5xx:服务暂时不可用或生成失败,可稍后重试

失败请求不计费,余额不会被扣除。


计费

GPT Image 2、2.5 和 2.6 的静态图价格以及 GIF 计费规则见上方对应小节。

Gemini 图片模型按模型固定价计费:

模型价格
gemini-2.5-flash-image¥0.20 / 张
gemini-3.1-flash-image-preview¥0.30 / 张
gemini-3-pro-image-preview¥0.50 / 张

在「用量明细」中请求会记录实际 model,cost_breakdown 含 image_count / image_cost_rmb / image_urls,可在历史里直接复制链接、下载。


与 OpenAI Images API 的差异

  • 模型:使用上表或 GPT Image 2.6 静态图小节列出的模型 ID
  • 端点:所有精选模型都支持 generations;支持编辑的模型可使用 edits
  • size:推荐用纵横比(16:9 等);像素串也可用
  • aspect_ratio:GPT Image 2.5 和 2.6 使用该字段指定输出比例。
  • image_size:GPT Image 2 / 2.5 / 2.6 支持 1K / 2K / 4K;Gemini 2.5 仅支持 1K;表中的 Gemini 3.x 支持 1K / 2K / 4K
  • quality:GPT Image 2 可选 low / medium / high / auto,但不按质量分档计价。GPT Image 2.5 按张和分辨率计费,不提供独立质量档位;旧请求中的该字段仅兼容接收,不影响出图参数或价格。
  • response_format:不支持 b64_json,固定返回 URL
  • 参考图:按各模型的支持范围使用;支持的请求使用 image_urls / image_input(JSON)或 image[](multipart),具体限制以模型为准
  • 异步:OpenAI 无此模式;本接口 ?async=1 返回 task_id,轮询 /v1/images/tasks/{id} 取结果
  • 任务 ID:响应里透传 id / task_id,便于排错