跳到正文

可灵生图

用可灵异步生成和扩展图片:参数、返回与注意事项。

项目值
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

计费

可灵生图按实际产出张数计费,单价看型号与画质档;失败的任务与轮询查询都不计费。各型号价格见上表的模型卡,你的实际单价以登录后的模型广场为准。

下一步