Skip to content

Image-2 生图接口

本页介绍 OpenSky API 中 Image-2 生图模型的使用方式,包括文生图和图生图。接口采用原生 OpenAI 兼容格式,调用时只需要把 Base URL 换成 OpenSky API 的地址,并使用你自己的 API Key。

具体可用模型名称、价格和权限,请以控制台「模型广场」和你的账号分组权限为准。

特别说明:如果遇到生图超时的问题,请使用流式调用!

接口概览

场景接口
文生图POST /v1/images/generations
图生图 / 图片编辑POST /v1/images/edits

完整请求地址:

text
https://api.oskyi.com/v1/images/generations
https://api.oskyi.com/v1/images/edits

请求头:

http
Authorization: Bearer 你的API-Key

文生图

文生图用于根据文字描述生成图片。

请求地址

text
POST https://api.oskyi.com/v1/images/generations

JSON 请求示例

bash
curl https://api.oskyi.com/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer 你的API-Key" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "一张干净的科技风产品海报,蓝紫色灯光,高清,细节丰富",
    "size": "1024x1024",
    "quality": "auto",
    "n": 1
  }'

常用参数

参数类型是否必填说明
modelstring生图模型名称,例如 gpt-image-2。实际名称以模型广场为准。
promptstring图片生成提示词,描述你想要的画面、风格、主体、背景、构图等。
sizestring图片尺寸。常用值:1024x10241536x10241024x1536auto。Image-2 也可支持 WIDTHxHEIGHT 形式的自定义尺寸。
response_formatstring图片返回的方式。默认值b64_json,支持返回图片URL:URL
qualitystring图片质量。常用值:autolowmediumhigh。质量越高,通常耗时和消耗越高。
backgroundstring背景模式:autoopaquetransparent。透明背景需要配合支持透明的格式。
output_formatstring输出格式:pngjpegwebp
output_compressionnumber输出压缩质量,适用于 jpegwebp,范围通常为 0100
moderationstring内容安全过滤强度,常用值:autolow
streamboolean是否使用流式返回。碰到超时请使用该参数并填写 true

尺寸说明

推荐优先使用以下尺寸:

尺寸适合场景
1024x1024方图、头像、图标、商品图
1536x1024横图、海报、封面、横向展示图
1024x1536竖图、手机壁纸、人物海报
auto让模型自动选择合适尺寸

Image-2 支持 WIDTHxHEIGHT 格式的自定义分辨率,例如:

json
{
  "size": "1536x864"
}

使用自定义尺寸时建议注意:

  • 宽高必须为 16 的倍数。
  • 宽高比例不要过于极端。
  • 分辨率越大,生成时间和消耗通常越高。
  • 如果请求失败,先改回 1024x10241536x10241024x1536 测试。

图生图

图生图用于在已有图片的基础上生成新图片,也可以用于图片编辑、风格迁移、补充元素、改背景、组合多张参考图等。

请求地址

text
POST https://api.oskyi.com/v1/images/edits

multipart 请求示例

图生图通常使用 multipart/form-data 上传图片。

bash
curl https://api.oskyi.com/v1/images/edits \
  -H "Authorization: Bearer 你的API-Key" \
  -F "model=gpt-image-2" \
  -F "image[]=@input.png" \
  -F "prompt=保留主体人物不变,将背景改成未来科技城市夜景,整体风格写实,高清细节" \
  -F "size=1024x1024" \
  -F "quality=auto" \
  -F "n=1"

多图参考示例

如果接口和上游模型支持多张参考图,可以传入多个 image[]

bash
curl https://api.oskyi.com/v1/images/edits \
  -H "Authorization: Bearer 你的API-Key" \
  -F "model=gpt-image-2" \
  -F "image[]=@person.png" \
  -F "image[]=@style-reference.png" \
  -F "prompt=参考第二张图片的色彩和光影风格,重绘第一张人物照片,保持人物身份特征" \
  -F "size=1024x1536" \
  -F "quality=high"

常用参数

参数类型是否必填说明
modelstring图生图模型名称,例如 gpt-image-2。实际名称以模型广场为准。
image[]file输入图片。可上传一张或多张,是否支持多图以模型实际能力为准。
promptstring编辑要求或生成目标,说明要保留什么、修改什么、生成什么。
sizestring输出尺寸,例如 1024x10241536x10241024x1536auto 或自定义尺寸。
response_formatstring图片返回的方式。默认值b64_json,支持返回图片URL:URL
qualitystring输出质量:autolowmediumhigh
backgroundstring背景模式:autoopaquetransparent
input_fidelitystring对输入图的保真度控制,常用值:highlow。想尽量保留原图主体时可尝试 high
maskfile / image reference蒙版图,用于指定需要编辑的区域。是否可用取决于上游模型支持情况。
output_formatstring输出格式:pngjpegwebp
output_compressionnumber输出压缩质量,适用于 jpegwebp
moderationstring内容安全过滤强度,常用值:autolow
streamboolean是否使用流式返回。碰到超时请使用该参数并填写 true

返回结果

Image-2 通常返回 base64 图片数据。常见结构如下:

json
{
  "created": 1780000000,
  "data": [
    {
      "b64_json": "iVBORw0KGgoAAAANSUhEUgAA..."
    }
  ],
  "usage": {
    "input_tokens": 120,
    "output_tokens": 800,
    "total_tokens": 920
  }
}

使用时可以将 data[0].b64_json 解码为图片文件。

Node.js 示例:

js
import fs from 'node:fs'

const b64 = response.data[0].b64_json
fs.writeFileSync('output.png', Buffer.from(b64, 'base64'))

Python 示例:

python
import base64

b64 = response["data"][0]["b64_json"]
with open("output.png", "wb") as f:
    f.write(base64.b64decode(b64))

提示词建议

为了获得更稳定的图片结果,建议提示词包含:

  • 主体:要生成什么,例如人物、产品、建筑、海报。
  • 场景:在哪里,例如室内、街道、未来城市、摄影棚。
  • 风格:写实、插画、二次元、产品摄影、电影感等。
  • 构图:近景、全身、俯视、居中、留白等。
  • 光线:自然光、柔光、霓虹灯、逆光等。
  • 质量要求:高清、细节丰富、干净背景等。
  • 需要避免的内容:不要水印、不要文字错误、不要多余手指等。

示例:

text
一张高端智能手表产品海报,黑色表身,金属材质,深灰背景,柔和棚拍灯光,居中构图,高清细节,商业广告风格,不要水印,不要多余文字。

注意事项

  • 生图请求通常比文本对话更慢,等待几十秒属于正常情况。
  • 图片尺寸、质量、数量都会影响生成速度和消耗。
  • quality=high 通常更慢,也可能消耗更多。
  • n 越大,一次请求生成图片越多,消耗也会增加。
  • 如果需要透明背景,建议使用 background=transparent 并设置 output_format=pngwebp
  • 图生图时,输入图片越清晰,主体越明确,结果通常越稳定。
  • 如果想保留原图主体,请在提示词里明确写出“保留主体不变”“保持人物身份特征”等要求。
  • 如果请求失败,优先检查模型名称、图片格式、图片大小、尺寸参数和账号余额。
  • 具体计费规则以模型广场和控制台显示为准。

常见问题

为什么生图请求比较慢?

图片生成需要排队、推理和返回图片数据,通常比普通文本对话更慢。如果长时间无响应,可以稍后重试,或降低尺寸、质量、生成数量后再试。亦或者使用流式调用。

为什么提示模型不存在?

请确认 model 名称和控制台模型广场完全一致,包括大小写、横线和版本号。如果模型广场显示的名称不是 gpt-image-2,请使用模型广场里的实际名称。

为什么返回的是一长串字符?

这是 base64 图片数据。将 b64_json 解码后即可得到图片文件。 或者使用“response_format”参数请求“URL”链接返回图片。

为什么图生图没有按原图改?

可以尝试:

  • 使用更清晰的输入图片。
  • 在提示词中明确“保留主体不变”。
  • 设置 input_fidelity=high
  • 减少一次请求中的修改目标,先完成主要变化,再分步骤微调。

为什么透明背景没有生效?

请确认同时满足:

  • background 设置为 transparent
  • output_format 使用 pngwebp
  • 生成内容本身适合透明背景,例如图标、产品主体、贴纸等。

请遵守服务规则与当地法律法规,合理使用 AI 能力。