YUYU_M4 圖生圖

YUYU_M4 是圖片編輯模型:需要在 images 帶恰好 1 張欲編輯的來源圖,依 prompt 描述的指令修改這張圖(若帶多張,只會使用第一張;若沒有帶圖,建單當下仍會成功,但實際處理任務時會失敗並自動退款,比照〈YUYU_C1 圖生圖〉preset_name 送錯值的退款規則)。可用 width/height 控制輸出尺寸,is_enhanced 選填做二次強化。

POST /api/tasks/image-generation
X-Api-Key: sk-live-xxxx
Content-Type: application/json
Idempotency-Key: 選填,見下方說明

完整範例

images 只接受完整的 base64 data URI(png/jpeg/webp 三種 MIME 皆可),這裡為了範例簡短省略實際 base64 內容:

curl -X POST https://example.com/api/tasks/image-generation \
  -H "X-Api-Key: sk-live-xxxx" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-20260716-00046" \
  -d '{
    "model": "YUYU_M4",
    "prompt": "turn the background into a beach at sunset",
    "images": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."],
    "width": 1024,
    "height": 1024,
    "is_enhanced": false,
    "payload": { "external_order_id": "order-20260716-00046" },
    "callback_url": "https://example.com/webhooks/yuyu-image"
  }'

成功回 201 Created(任務剛建立時是待派工狀態,result/files 尚無內容;credits 是這次實際扣款的積分,下方範例的數字僅為示意,實際以平台設定為準):

{
  "public_id": "01K1M2N3P4Q5R6S7T8V9W0XY16",
  "type": 2,
  "status": 0,
  "credits": 10,
  "params": {
    "model": "YUYU_M4",
    "prompt": "turn the background into a beach at sunset",
    "images": ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."],
    "width": 1024,
    "height": 1024,
    "is_enhanced": false,
    "payload": { "external_order_id": "order-20260716-00046" },
    "callback_url": "https://example.com/webhooks/yuyu-image"
  },
  "error_code": null,
  "error_message": null,
  "created_at": "2026-07-16T08:00:00.000000Z",
  "finished_at": null,
  "files_expire_at": null,
  "files_expired": false,
  "files": []
}

之後如何查詢這筆任務的進度、任務完成後怎麼取得圖片,見〈任務查詢與取件〉。

參數表

欄位 型別 必填 規則
model string 是 固定為 YUYU_M4
prompt string 是 最長 10000 字
negative_prompt string 否 負向提示詞,最長 500 字
images string[] 否(強烈建議帶,否則任務會失敗並自動退款) 欲編輯的來源圖,建議恰好 1 張(若帶多張,只會使用第一張);完整 base64 data URI(data:image/{png|jpeg|webp};base64,...)
width / height integer 否 最大 1024
is_enhanced boolean 否 預設 false;設 true 時系統會用第一次產出的圖再跑一次 workflow(二次強化)
seed integer 否 >= 0
resolution — 否 不支援此參數,請改用 width/height,此欄位沒有效果,建議不要帶
payload object 否 你自訂的透傳資料——原樣存入,查詢任務與〈回呼(Webhook)〉都會原封不動帶回,系統本身不解讀內容
callback_url string 否 必須是 https:// 開頭的網址,最長 2000 字;見〈回呼(Webhook)〉

帶入未知的 model 值會收到 422:Unknown model alias: {model}。

Idempotency-Key

在 header 帶上任意字串(建議用你系統內該次請求的唯一識別碼,如訂單編號):

Idempotency-Key: order-20260711-00046

同一組 API Key + 同一個 Idempotency-Key 值,短時間內重複送出同一請求,只會建立一筆任務;之後的重複請求會回傳同一筆既有任務(不會重新扣款、不會建立第二筆任務)。適合用在你的系統有重試機制、又不希望重試造成重複扣款的場景。不帶這個 header 則每次請求都會建立新任務。

回應

成功建立回 201 Created(冪等命中既有任務則回 200 OK),內容是〈任務查詢與取件〉描述的任務物件。

錯誤情境

狀態碼 情境 內容
422 參數驗證失敗(缺必填、型別錯、images 超過 4 張、width/height 超過 1024 等) Laravel 標準 errors 欄位驗證錯誤格式
422 model 值查無對應模型 { "message": "Unknown model alias: {model}" }
402 積分(付費餘額或試用額度剩餘額度)不足以支付這次建單費用 { "message": "Insufficient credits to complete this charge." }
429 你名下這個任務類型(圖片生成)的待處理任務數已達上限 { "message": "Too many pending tasks of this type; please retry later." },回應帶 Retry-After header
— images 沒有帶欲編輯的來源圖 建單成功(201),但任務之後轉為失敗(status = 30)並自動退款,見上方說明

實際會扣多少積分、建立後如何查詢進度與取得結果,見〈任務查詢與取件〉與〈積分與計費〉。