跳到正文

可靈生圖

用可靈非同步生成和擴展圖片:參數、回應與注意事項。

項目值
Base URLhttps://api.hop-base.com/v1
提交生圖任務POST /v1/images/generations
查詢任務GET /v1/video/tasks/{task_id}
分組「可靈官方」

可靈生圖全部是非同步任務:提交回傳 202 與任務 id,再輪詢查詢介面,完成後從 outputs[] 取圖片位址。

可用型號

型號模型 ID畫質檔 quality參考圖官方價
可靈生圖 3.0kling-image-v31k / 2k0–1 張$0.0294/ 張
可靈生圖 3.0 Omnikling-image-v3-omni1k / 2k / 4k0–10 張$0.0294起/ 張
可靈生圖 O1kling-image-o11k / 2k / 4k0–10 張$0.0294起/ 張
可靈生圖 2.1(文生圖)kling-image-v2-11k / 2k不接受$0.0147/ 張
可靈生圖 2.1(圖生圖)kling-image-v2-1-i2i1k / 2k恰好 1 張$0.0294/ 張
可靈生圖 2.1(多圖參考)kling-image-v2-1-multi-ref1k / 2k2–4 張$0.0588起/ 張
可靈擴圖kling-image-expand1k恰好 1 張$0.0294/ 張

選型建議:純文生圖選 2.1(文生圖),要 4k 或多張參考圖選 3.0 Omni 或 O1,向四周擴展原圖選可靈擴圖。

請求參數

參數必填類型與限制預設說明
model必填字串—生圖模型 ID,見上表
prompt無圖片時必填字串—與非空 images 至少其一
quality選填1k / 2k / 4k1k畫質檔,依型號可選
n選填整數 1–91產出張數
images依型號陣列,每項 url / file_id—參考圖或待擴展的原圖
extra僅擴圖物件,四個擴展比例—見下文擴圖
  • 只接收上表欄位,表外欄位(如 size、aspect_ratio、response_format)一律回傳 400。
  • model 傳影片型號回傳 400。
  • quality 不分大小寫,OpenAI 風格的 high、standard 等會被拒絕。
  • n 按實際產出張數計費。
  • 其他生圖型號傳非空 extra 回傳 400。

參考圖

每個 images[] 項必須且只能提供 url 或 file_id 其中之一,且不能帶 usage:

{
  "model": "kling-image-v3-omni",
  "prompt": "把兩張圖裡的杯子擺在同一張木桌上",
  "quality": "2k",
  "images": [
    { "url": "https://cdn.example.com/cup-a.png" },
    { "file_id": "your-file-id" }
  ]
}
  • url 必須是公網可存取的絕對 http:// 或 https:// 位址。
  • 空字串、相對路徑、file:// 等非 HTTP(S) 協定、內網或迴環位址、帶認證資訊的 URL 都會被同步拒絕。
  • file_id 必須是目前金鑰可用的可靈素材,不是 Seedance 素材 ID。
  • 參考圖張數依型號限制,見可用型號。

擴圖

kling-image-expand 把一張圖向四周擴展,比例寫在 extra 裡:

{
  "model": "kling-image-expand",
  "images": [{ "url": "https://example.com/input.png" }],
  "extra": {
    "left_expansion_ratio": 0.5,
    "right_expansion_ratio": 0.5,
    "up_expansion_ratio": 0,
    "down_expansion_ratio": 0
  }
}
  • 4 個比例均為 0–2 的數字,省略為 0。
  • 四個比例不能全為 0。
  • 擴展後面積不超過原圖 3 倍:(1+左+右) × (1+上+下) ≤ 3。

回應結果

提交成功回傳 HTTP 202,任務 ID 在頂層 id,形如 kt57x<task-id>:

{
  "id": "ktEXAMPLE",
  "object": "image.generation.task",
  "model": "kling-image-v3",
  "status": "queued",
  "created": 1790000000,
  "billing_bucket": "img_1k",
  "requested_images": 1
}

用這個 id 輪詢 GET /v1/video/tasks/{task_id}。完成後的查詢結果:

{
  "id": "ktEXAMPLE",
  "object": "video.generation.task",
  "model": "kling-image-v3",
  "status": "completed",
  "progress": 100,
  "created": 1790000000,
  "outputs": [
    "https://api.hop-base.com/example-signed-image.png"
  ],
  "usage": { "bucket": "img_1k", "billed_images": 1 }
}
欄位類型說明
idstringHopBase 任務 ID,提交與查詢相同
objectstring提交為 image.generation.task,查詢為 video.generation.task
statusstringqueued → processing → completed 或 failed
progressinteger進度百分比,僅查詢回傳
requested_imagesinteger請求的張數,僅提交回傳
billing_bucketstring畫質對應的計費檔,僅提交回傳
outputsstring[]圖片位址陣列,僅 completed 時回傳
usage.billed_imagesinteger實際計費張數,等於實際產出張數
error.code / error.messagestring僅 failed 時回傳,見任務失敗

只有 completed 與 failed 是終態,其他任何值都按進行中處理。

任務結束後,查詢回應根物件的 usage 還會帶 cost(本任務從餘額實際扣除的金額,未扣費的失敗為 0)與幣別 currency。

範例

提交一個文生圖任務,輪詢到結束後下載第一張圖:

# 1. 提交
curl https://api.hop-base.com/v1/images/generations \
  -H "Authorization: Bearer sk-你的金鑰" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-image-v3",
    "prompt": "陽光下木桌上的一把陶瓷茶壺",
    "quality": "1k",
    "n": 1
  }'

# 2. 用回傳的 id 查詢,直到 status 為 completed 或 failed
curl https://api.hop-base.com/v1/video/tasks/ktYOUR_TASK_ID \
  -H "Authorization: Bearer sk-你的金鑰"

注意事項

  • 圖片位址在 api.hop-base.com 網域下,自任務完成起 6 小時有效,請及時下載保存。
  • 再次查詢返回同一位址、不會延長,過期存取回傳 410。
  • 任務建立 2 小時後仍未結束即判為失敗、不計費,任務不支援取消。
  • 可靈生圖不做餘額預留,只在餘額小於等於 0 時才會被攔截。
  • 正式產生付費任務前,先用 GET /v1/models 確認目前金鑰實際返回的模型 ID。

常見報錯

提交階段出錯不會建立任務,也不計費,原因寫在 error.message 裡:

報錯改法
request body does not match the JSON contract: json: unknown field "size"刪掉表外欄位,畫質用 quality
prompt and input images cannot both be empty補 prompt 或參考圖
images[0] must provide exactly one of url or file_id每項只留 url 或 file_id
images[0].url must be a publicly accessible absolute http(s) URL換成公網 HTTP(S) 位址
model "kling-image-v3" does not support quality tier "4k"換該型號支援的畫質檔
model "kling-image-v2-1-multi-ref" requires 2 to 4 input images依型號要求調整參考圖張數
model "<模型 ID>" is not an image model in this catalog用 GET /v1/models 核對 ID(404)

任務失敗

任務失敗時查詢介面仍回傳 HTTP 200,status 為 failed。請按錯誤碼 error.code 分支處理,並把錯誤說明展示給使用者。較早失敗的任務可能沒有錯誤碼。

情形error.code
提示詞或參考圖未通過審核input_sensitive
產出被審核攔下safety_rejected
並行已滿rate_limited
模型版本已下架unsupported_model
提示詞過長,或參數、素材不合規invalid_request
參考圖讀取失敗reference_input_invalid
生成失敗或中途被終止generation_failed
建立 2 小時後仍未結束timeout
任務結束但沒有產出no_output

計費

可靈生圖按實際產出張數計費,單價看型號與畫質檔;失敗的任務與輪詢查詢都不計費。各型號價格見上表的模型卡,你的實際單價以登入後的模型廣場為準。

下一步