圖片生成 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、包裝文字、商品比例以及畫面中的人物細節。

本頁目錄