Skip to content

Image Studio 图片接口 ​

通过服务入口 https://openai.2yanx.dpdns.org 使用图片生成与参考图编辑。客户端使用自己的 API Key。当前图片插件为 1.1.1,支持自有图片 URL 与 Base64 返回。

分辨率与比例 ​

正方形请求可使用 size:

档位请求
1K"size": "1024x1024"
2K"size": "2048x2048"
4K"size": "4096x4096"

也可以独立指定 resolution 与 aspect_ratio:

json
{
  "model": "gemini-3.1-flash-image",
  "prompt": "白色背景上的红色圆形,简洁插画",
  "resolution": "2k",
  "aspect_ratio": "16:9",
  "n": 1,
  "response_format": "b64_json",
  "enhance": false
}

发送到 POST /v1/images/generations,请求头为 Authorization: Bearer YOUR_API_KEY 与 Content-Type: application/json。

resolution、aspect_ratio、reference_images、image_url、enhance 是本站扩展参数。它们不是所有 OpenAI 原厂模型通用的官方字段。size 使用兼容字段,但本文枚举是本站的支持契约。客户端若将尺寸写成固定下拉框,需要增加这些值或使用自定义 JSON 请求。

档位与比例决定输出目标,实际像素取决于模型。1K 横屏实测为 1376×768,不能把档位映射理解为任意像素的精确缩放。各模型档位的实测可用情况由服务方的验收结果确定。

gemini-3.1-flash-lite-image 本身只支持 1K,没有 2K/4K;高档位请求在生成提交前返回 HTTP 400。gemini-3.1-flash-image 与 gemini-3-pro-image 的正方形 4K 已实测为 4096×4096。三个 GPT Image 路由及 image-basic 的正方形 4K 档实测为 2880×2880,不保证 4096×4096。image-basic 的正方形 1K/2K 实测分别为 1440×1440 / 1920×1920。需要精确 4096 正方形图片时,请选择实测达到该尺寸的模型。

三个 GPT Image 路由及 image-basic 的 resolution: "4k" + aspect_ratio: "16:9" 实测为 3840×2160。这解释了同一档位在横屏和正方形下的像素差异;选择尺寸时需要同时指定比例。

参数接受的值与行为
model下表公开名称之一,必填
prompt非空,最多 4096 个 Unicode 字符,必填
size省略、auto 或下方尺寸枚举
resolution1k、1080p、2k、4k,大小写不敏感;默认 1K
aspect_ratio1:1、16:9、9:16、4:3、3:4、3:2、2:3、21:9;默认 1:1
quality省略、auto 或该模型固定的质量值;见下表
n仅 1,默认 1
response_formaturl 或 b64_json;通过本入口省略时返回 URL,需要 Base64 请显式填写 b64_json
enhanceJSON 布尔值 true / false,默认 true
stream省略或 false 返回完整 JSON;true 返回 SSE 图片完成事件
partial_images流式请求可省略或填写 0;暂不提供中途预览图
delivery可填写本站扩展 url,仅与 stream:true 同用;完成事件只返回自有图片地址,不能同时请求 b64_json
reference_images非空 HTTP(S) 图片 URL 或图片 Base64 data URL 数组
image_url单张参考图 URL 或图片 Base64 data URL;不能与 reference_images 同时使用

size 接受:

  • 1K:1024x1024、1536x1024、1024x1536、1792x1024、1024x1792。
  • 2K:2048x2048、2048x1152、1152x2048。
  • 4K:4096x4096、4096x2304、2304x4096。

size 与显式分辨率、比例冲突时返回 HTTP 400。接口明确拒绝 mask、透明背景、output_format、output_compression、moderation、input_fidelity、seed、style、user,以及其它未登记字段。质量当前随模型固定,low、medium、high 不支持。

模型名称 ​

请求模型固定质量
gemini-3.1-flash-lite-imagestandard
gemini-3.1-flash-imagestandard
gemini-3-pro-imagehd
gpt-image-2.5-faststandard
gpt-image-2.5-prohd
gpt-image-2hd
image-basicstandard
image-faststandard
image-prohd
image-creativehd

这些是服务公开路由名称;名称本身不构成原厂直连或精确模型快照保证。gpt-image-2.5-fast / gpt-image-2.5-pro 为本站现有产品名,未确认为 OpenAI 官方模型 ID。

图片编辑 ​

POST /v1/images/edits 接受 JSON 或 multipart。JSON 使用 image 字段传单张或多张图片:

json
{
  "model": "gemini-3-pro-image",
  "prompt": "保留方形构图,将红色改成蓝色",
  "image": ["data:image/png;base64,BASE64_IMAGE"],
  "resolution": "1k",
  "enhance": false
}

multipart 使用 image 或重复的 image[] 文件字段,单个文件最多 20 MiB;其它参数作为普通表单字段,布尔值写 true / false。编辑需要至少一张参考图,不支持局部遮罩编辑。

响应与超时 ​

显式请求 response_format: "b64_json" 时成功返回:

json
{"created": 1790986426, "data": [{"url": "https://s3.yanxinyu.ggff.net/media_outputs/随机文件名.png", "b64_json": "BASE64_IMAGE"}]}

解码 b64_json 后按实际图片格式读取;返回图片可能是 PNG 或 JPEG。url 是服务自有存储地址。请求 url 或省略格式时仅返回地址,不附加 Base64。

显式 Base64 请求会先核验原图,再返回 Base64。图片读取失败时返回明确错误;客户端需检查成功结果中的 b64_json,流式请求需检查完成事件。

此接口同步等待生成结果。若收到代理 502/504 或连接中断,不能据此断定任务免费或未执行,也不要自动重发;需先通过消费记录与服务方核对。具体超时验收情况见本次测试报告。

流式生图 ​

生成与编辑接口都支持 stream:true。等待过程中连接会持续收到心跳,完成后返回 image_generation.completed 或 image_edit.completed 事件。心跳不是预览图;partial_images 仅支持 0。

默认流式完成事件包含 b64_json 原图、实际 size、output_format、时间戳,并附加自有存储 url 和用于查单的 request_id。仅填写 response_format:"url" 时仍保持这个 Base64 事件,保证现有客户端解析方式。

需要降低传输量时,加上本站扩展 delivery:"url":等待期间仍有心跳,完成时返回自定义 image_url.completed 事件。图片不内嵌在接口响应中,客户端从自有存储地址下载。此事件需要客户端按下面的结构处理,不能把它当作标准 Base64 完成事件。

json
{"model":"gpt-image-2","prompt":"白色背景上的黄色圆形","resolution":"4k","aspect_ratio":"16:9","stream":true,"delivery":"url"}
text
event: image_url.completed
data: {"type":"image_url.completed","operation":"generate","created_at":1791300000,"url":"https://s3.yanxinyu.ggff.net/media_outputs/随机文件名.png","request_id":"REQUEST_ID"}

data: [DONE]

operation 在编辑时为 edit。此事件不声明未经读取的图片尺寸;下载后读取实际像素。普通 JSON 只返回 URL 时使用 stream:false,省略 response_format 或填写 url。

OpenAI Python SDK 的普通流式解析可直接使用:

python
import base64
from pathlib import Path
from openai import OpenAI

client = OpenAI(
    base_url="https://openai.2yanx.dpdns.org/v1",
    api_key="YOUR_API_KEY",
    max_retries=0,
)
events = client.images.generate(
    model="gpt-image-2",
    prompt="白色背景上的黄色圆形,简洁插画,无文字",
    stream=True,
    partial_images=0,
    extra_body={"resolution": "4k", "aspect_ratio": "16:9", "enhance": False},
)
for event in events:
    if event.type == "image_generation.completed":
        Path("result." + event.output_format).write_bytes(base64.b64decode(event.b64_json))
        print(event.size, event.request_id)

编辑使用同样的 stream=True,通过 client.images.edit(image=..., ...) 提交参考图;JSON 编辑也支持相同参数。最终事件类型为 image_edit.completed。

服务按张计费,不提供原厂 token 使用量,完成事件省略 usage;严格要求原厂 token 使用量字段的客户端需要兼容该字段缺失。quality:"auto" 表示完成事件不声明未经确认的原厂质量档位,实际质量仍由请求模型的固定档位决定。

流式连接开始后,失败通过 error 事件报告,HTTP 200 本身不表示已经生图成功。客户端必须收到完成事件并解码图片才能确认成功。断开连接不会取消已经提交的生成,也不要自动重新提交;可以用 X-Image-Request-Id 或完成事件的 request_id 向服务方查单。

入口同时接受 20 条图片请求,超过容量的请求返回 HTTP 429 且不提交生成。排队和交付也占用入口容量;它不等于 20 张图片同时生成。流式等待期间有心跳。未开启流式的请求返回普通 JSON,长时间等待仍可能触发代理的同步等待限制。