EREaseRouter接入文档

Images Generations

使用 OpenAI 兼容 Images API 生成图片,支持非流式 Base64 JSON 与 typed SSE。

最后更新: 2026-08-14
POST/v1/images/generations

按提示词生成一张或多张图片。

参数类型要求说明
modelstring必填已启用且具备 image_generation 能力的模型编码。
promptstring必填非空提示词。
ninteger可选输出张数,默认 1;计费按实际成功图片张数结算。
sizestring可选模型价格矩阵支持的尺寸,默认 auto。
qualitystring可选模型价格矩阵支持的质量,默认 auto。
streamboolean可选true 时返回 typed SSE;默认 false。
partial_imagesinteger可选流式预览张数,仅 stream=true 时使用。
JSON 请求
curl --request POST 'https://api.easerouter.com/v1/images/generations' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"model":"gpt-image-1","prompt":"雨后霓虹街道","n":1,"size":"1024x1024","quality":"medium"}'
非流式响应
{
  "created": 1786670000,
  "data": [{ "b64_json": "iVBORw0KGgo..." }],
  "usage": { "total_tokens": 128 }
}
Python 官方 SDK
from openai import OpenAI

client = OpenAI(base_url="https://api.easerouter.com/v1", api_key="YOUR_API_KEY")
response = client.images.generate(
    model="gpt-image-1", prompt="雨后霓虹街道", size="1024x1024", quality="medium"
)
png_base64 = response.data[0].b64_json
Node.js 官方 SDK
import OpenAI from 'openai'

const client = new OpenAI({ baseURL: 'https://api.easerouter.com/v1', apiKey: 'YOUR_API_KEY' })
const response = await client.images.generate({
  model: 'gpt-image-1', prompt: '雨后霓虹街道', size: '1024x1024', quality: 'medium'
})
const pngBase64 = response.data[0].b64_json

Typed SSE 流

事件示例
event: image_generation.partial_image
data: {"type":"image_generation.partial_image","partial_image_index":0,"b64_json":"..."}

event: image_generation.completed
data: {"type":"image_generation.completed","created":1786670000,"b64_json":"..."}
  • 客户端必须按 event 字段处理 image_generation.partial_image 与 image_generation.completed;completed 事件本身就是终止事件,服务端不会追加 Chat 风格的结束哨兵。
  • 网络中断、超时或未知提交结果可能进入 SUBMIT_UNKNOWN;最终图片已产生但结算未完成时可能进入 BILLING_PENDING。不要盲目重试。
  • 每个 partial/final Base64 图片解码后不得超过 50 MB;单次 final 总量不得超过 300 MB,流式累计传输不得超过 2560 MB。

计费与可靠性

价格由模型、size、quality 和每张固定价格共同决定。请求前冻结 n 张的上限金额,完成后按实际成功图片张数结算;拒绝、明确失败或未产生图片时释放冻结。流断开不代表调用未发生。

安全与保留

  • 仅在服务端保存 API Key;不要把 Key、完整提示词、Base64 图片或上游凭据写入日志。
  • EaseRouter 不持久化输入图片、输出图片、partial 图片或完整提示词,只保留计费、路由、状态与脱敏审计元数据;临时文件在请求结束后删除。
  • 不要依赖响应中的图片长期可用;b64_json 应由调用方解码并安全保存。

错误

json
{"error":{"message":"model is required","type":"invalid_request_error","param":"model","code":"invalid_request"}}

鉴权、参数、并发/配额、上游超时和处理失败使用真实非 2xx HTTP 状态及顶层 error 对象,不使用 code/msg/result。