图片生成 API

使用当前 Essevin To C 密钥可用的 GPT Image 与 Gemini 图片模型生成或编辑图片。

Essevin 为当前密钥已经开放的图片模型提供统一的 OpenAI Images 兼容请求结构。请先查询完整模型 ID,不要假设完整模型目录里的每一种图片模型都可用。

项目填写值
Base URLhttps://api.essevin.com/v1
图片生成POST /v1/images/generations
图片编辑返回模型能力包含编辑时使用 POST /v1/images/edits
异步状态收到 202 Accepted 后使用 GET /v1/images/tasks?task_id=...
鉴权Authorization: Bearer <对应套餐密钥>

1. 查询已开放的图片模型

curl https://api.essevin.com/v1/models \
  -H "Authorization: Bearer $ESSEVIN_OPENAI_API_KEY"

从返回结果中选择带图片能力的完整 ID。代表型号包括 gpt-image-2gemini-2.5-flash-imagegemini-3-pro-image;实际开放范围由密钥分组决定。

2. 生成一张图片

curl https://api.essevin.com/v1/images/generations \
  -H "Authorization: Bearer $ESSEVIN_OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "白色桌面上的陶瓷杯,干净的商品摄影",
    "size": "1024x1024",
    "n": 1,
    "response_format": "url"
  }'

响应里的图片 URL 只在有限时间内有效。需要长期保留时,请及时下载到项目现有存储。

参考图与图片编辑

不同模型的图片能力不完全相同。先检查 GET /v1/models,再只使用所选路由支持的字段:

输入方式用途
在 generation JSON 中传 image URL 或 Data URL模型支持时进行图生图或参考图生成
/v1/images/edits multipart 请求模型支持时复用已有 OpenAI 编辑代码
prompt描述要修改的内容,以及必须保持不变的细节

用 multipart 编辑本地图片

curl https://api.essevin.com/v1/images/edits \
  -H "Authorization: Bearer $ESSEVIN_OPENAI_API_KEY" \
  -F "model=gpt-image-2" \
  -F "prompt=把杯子移到右侧,并保持标签文字不变" \
  -F "[email protected]" \
  -F "size=1536x1024" \
  -F "quality=medium" \
  -F "output_format=png"

Gemini 图片兼容行为

Gemini 图片模型继续使用相同的 OpenAI Images 客户端协议,但模型能力不一定与 GPT Image 完全一致。

能力行为
请求调用 /v1/images/generations;Essevin 会按所选 Gemini 模型适配请求。
响应从标准 OpenAI Images JSON 的 data[].b64_jsondata[].url 读取结果。
编辑支持编辑的模型可通过 /v1/images/edits 接收一张或多张参考图;Gemini 不支持硬区域 mask
尺寸网关会在生成前按所选模型校验 size
可选字段qualitybackgroundoutput_formatinput_fidelityn 是否生效取决于模型。
流式Gemini 图片请求保持同步,不要发送 stream: true
异步部分模型支持 Prefer: respond-async;请按 HTTP 状态区分 202 task_id 与同步结果。

所选图片模型属于 Gemini 套餐分组时,请使用 ESSEVIN_GEMINI_API_KEY。包括后缀在内的完整模型 ID 必须与 GET /v1/models 返回值完全一致。

常用请求字段

字段是否必填说明
model当前密钥返回的完整 GPT Image 或 Gemini 图片模型 ID
prompt图片内容、构图、风格、文字或编辑要求
sizeauto宽x高;支持范围取决于模型
quality模型支持时可用 lowmediumhighauto
n生成张数;部分模型只支持 1
background模型支持时可用 opaquetransparent
output_format模型支持时可用 pngjpegwebp
image / mask编辑时使用可传一张或多张参考图;mask 取决于模型,Gemini 不支持

不支持的尺寸或字段应在生成前返回校验错误。遇到 400 时,请对照所选模型能力修改请求,不要盲目重试。

响应模式

同步响应

不传 Prefer: respond-async 时,请求会等待生成完成并返回标准 OpenAI Images JSON。部分模型返回 base64,部分模型返回临时 URL。

{
  "created": 1780000000,
  "data": [{
    "b64_json": "iVBORw0KGgoAAA...",
    "revised_prompt": "..."
  }],
  "usage": {
    "input_tokens": 18,
    "output_tokens": 1056,
    "total_tokens": 1074
  }
}

非 Gemini 图片模型只有在明确支持时才可使用 stream: true 获取 Images SSE;最后一个 data: 事件包含 Images JSON,随后是 [DONE]。官方 SDK 与 Gemini 图片请求应保持默认同步模式。

异步任务响应

对于支持异步的模型,发送 Prefer: respond-async202 Accepted 响应会包含 task_idstatus_url;轮询到 completedfailed。模型也可能直接同步返回,因此必须按实际 HTTP 状态分支处理。

# 提交请求,并检查 HTTP 状态与 task_id。
curl -i https://api.essevin.com/v1/images/generations \
  -H "Authorization: Bearer $ESSEVIN_OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Prefer: respond-async" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "夜晚的电影感未来城市",
    "size": "2048x2048"
  }'

# 只有第一步返回 202 和 task_id 后才轮询。
curl "https://api.essevin.com/v1/images/tasks?task_id=your-task-id" \
  -H "Authorization: Bearer $ESSEVIN_OPENAI_API_KEY"

第一次验证保持最小成本

只生成一张最低可用分辨率的测试图。不要记录 API 密钥、完整 Data URL、私有原图或完整 base64 输出。

商品素材发布前,请逐张检查标签、Logo、包装文字、商品比例以及画面中的人物细节。

本页目录