请先登录
立即登录图层分解 API 文档
图层分解服务提供两类能力:通用图层分解与海报图层分解。两类服务共用一套异步调用流程:通过 submit_task 提交任务获取 task_id,再通过 query_task 查询结果;如需在提交任务前生成初始检测框,可调用 object_detect。
服务能力对照
| 能力 | model | version | 无框 pipeline_type | 有框 pipeline_type | image_boxes 限制 | steps 默认值 | 特有输出 |
|---|---|---|---|---|---|---|---|
| 通用图层分解 | reveal_layer | v2.1 | all | reveal_layer | 有框模式最少 1 个、最多 6 个;无框模式不传 | 30 | 返回 layers_fg_mask |
| 海报图层分解 | ecommerce_layer | v1.0 | all | ecommerce_layer | 有框模式最少 1 个、最多 20 个;无框模式不传 | 28 | 不返回 layers_fg_mask |
公共请求头
| Header | 类型 | 必填 | 说明 |
|---|---|---|---|
| accept | string | 是 | 固定为 application/json |
| Content-Type | string | 是 | 固定为 application/json |
| Authorization | string | 是 | Bearer your_key |
图片输入规范
input 为图片输入数组,每个元素表示一张输入图片,结构为 { "type": "input_image", "image_url": "..." }。
image_url支持 http/https 图片 URL。image_url也支持data:image/png;base64,...形式的 base64 图片。- URL 形式建议使用非 IP 域名,并以 jpg、jpeg、png 或 bmp 结尾。
坐标框规范
image_boxes 使用二维数组表示,格式为 [[x1, y1, x2, y2], [x3, y3, x4, y4]]。坐标以图片左上角为原点,x1,y1 为左上点,x2,y2 为右下点。
1. submit_task 提交任务
提交图层分解任务。服务端受理后返回 task_id,客户端使用该 ID 查询任务状态与输出结果。
Request Method
POST /submit_task
Request Body
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 服务模型标识:通用图层分解传 reveal_layer;海报图层分解传 ecommerce_layer。 |
| version | string | 是 | 模型版本:通用图层分解传 v2.1;海报图层分解传 v1.0。 |
| time_out | int | 是 | 任务期望过期时间,单位秒;示例值为 3600。 |
| input | object[] | 是 | 图片输入数组,元素结构为 { "type": "input_image", "image_url": "..." }。 |
| pipeline_type | string | 是 | 分解模式。无框自动检测传 all,此时不需要传 image_boxes;有框分解时按服务类型传 reveal_layer 或 ecommerce_layer,并同时传 image_boxes。 |
| image_boxes | number[][] | 条件必填 | 有框分解时必填,无框自动检测时不传。格式为 [[x1, y1, x2, y2]];通用图层分解最多 6 个框,海报图层分解最多 20 个框。 |
| seed | int | 否 | 随机种子,默认 42,范围 0 到 0xffffffffffffffff;用于控制结果的可复现性。 |
| cfg | float | 否 | Classifier-Free Guidance 参数,默认 1.0,范围 [0.0, 20.0]。 |
| steps | int | 否 | 采样步数,范围 [10, 50];通用图层分解默认 30,海报图层分解默认 28。 |
通用图层分解请求示例
{
"model": "reveal_layer",
"version": "v2.1",
"time_out": 3600,
"input": [
{
"type": "input_image",
"image_url": "https://example.com/input.jpg"
}
],
"pipeline_type": "reveal_layer",
"image_boxes": [[137, 224, 590, 1022], [523, 59, 988, 1022]],
"seed": 42,
"cfg": 1.0,
"steps": 30
}
海报图层分解请求示例
{
"model": "ecommerce_layer",
"version": "v1.0",
"time_out": 3600,
"input": [
{
"type": "input_image",
"image_url": "https://example.com/poster.jpg"
}
],
"pipeline_type": "all",
"seed": 42,
"cfg": 1.0,
"steps": 28
}
Response
| 字段 | 类型 | 说明 |
|---|---|---|
| version | string | 同输入版本 |
| model | string | 同输入模型名 |
| timestamp | int | 返回时间戳,单位毫秒 |
| task_id | string | 可供查询的任务 ID |
| message | string | 成功为 success,失败为具体原因 |
| response_status | int | 成功为 0,失败为 -1 |
2. query_task 查询任务
根据 task_id 查询任务状态。任务完成后,响应中的 output 字段会返回图层图片、检测框和处理后的辅助图片。
Request Method
POST /query_task
Request Body
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 通用图层分解传 reveal_layer;海报图层分解传 ecommerce_layer |
| version | string | 是 | 通用图层分解传 v2.1;海报图层分解传 v1.0 |
| task_id | string | 是 | submit_task 返回的任务 ID,需要完全一致 |
Response
| 字段 | 类型 | 说明 |
|---|---|---|
| version | string | 同输入版本 |
| model | string | 同输入模型名 |
| timestamp | int | 返回时间戳,单位毫秒 |
| task_id | string | 查询的任务 ID |
| message | string | 成功为 success,失败为具体原因 |
| response_status | int | 成功为 0,失败为 -1 |
| generation_time | number | 任务生成耗时,单位秒;任务成功时通常大于 0 |
| remaining_time | number | 任务预计剩余处理时间,单位秒 |
| status | string | 任务状态,见下方状态说明 |
| usage | object | 计费字段,包含 prompt_tokens 和 total_tokens |
| output | object/null | 任务完成后的图层分解结果 |
status 状态
| 状态 | 说明 |
|---|---|
| done | 任务处理结束并得到期望结果 |
| generating | 任务正在 GPU 服务推理 |
| in_queue | 任务正在排队 |
| not_found | 任务未找到,可能任务丢失、提交超过一个月或 task_id 不存在 |
| failed | 任务失败,具体原因查看 message |
output 字段
| 字段 | 类型 | 通用图层分解 | 海报图层分解 | 说明 |
|---|---|---|---|---|
| layers_base_count | int | 返回 | 返回 | 图层图片数量,比 image_boxes 数量多 1;第一张为背景图。 |
| layers_base | string[] | 返回 | 返回 | 图层分解基础结果,以 PNG 图片 URL 展示。 |
| layers_aug | string[] | 返回 | 返回 | 图层分解增强结果,以 PNG 图片 URL 展示。 |
| layers_fg_mask | string[] | 返回 | 不返回 | 通用图层分解的增强前景 mask,对应 layers_aug 的前景图层,数量通常为 layers_base_count - 1。 |
| resized_image | string | 返回 | 返回 | 图层分解流程 resize 后的原图。 |
| resized_bbox_image | string | 返回 | 返回 | 图片前处理后与 image_boxes 融合的带框图片 URL。 |
| image_boxes | number[][] | 返回 | 返回 | 检测框列表。无框提交时由模型检测得出;有框提交时返回用户输入框。 |
| resized_image_boxes | number[][] | 返回 | 返回 | image_boxes 经图层分解前处理 resize 后的框坐标。 |
3. object_detect 物体检测
输入图片并直接返回检测框,可用于在提交有框分解前生成初始画框。
Request Method
POST /object_detect
Request Body
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| version | string | 是 | 通用物体检测传 v2.1;海报物体检测传 v1.0 |
| model | string | 是 | 通用物体检测传 reveal_layer;海报物体检测传 ecommerce_layer |
| input | object[] | 是 | 图片输入数组,元素结构同 submit_task 的 input 字段 |
通用物体检测示例
{
"version": "v2.1",
"model": "reveal_layer",
"input": [
{
"type": "input_image",
"image_url": "https://example.com/input.jpg"
}
]
}
海报物体检测示例
{
"version": "v1.0",
"model": "ecommerce_layer",
"input": [
{
"type": "input_image",
"image_url": "https://example.com/poster.jpg"
}
]
}
Response
| 字段 | 类型 | 说明 |
|---|---|---|
| version | string | 同输入版本 |
| model | string | 同输入模型名 |
| image_boxes | number[][] | 检测出的图片框,格式同 submit_task 的 image_boxes |
| original_bbox_image | string | 用户输入图片和 image_boxes 融合后的带框图片 URL |
| usage | object | 计费字段,包含 prompt_tokens 和 total_tokens |
| message | string | 成功为 success,失败为具体原因 |
| response_status | int | 成功为 0,失败为 -1 |
通用图层提交任务
通用图层查询任务
海报图层提交任务
海报图层查询任务
通用图层物体检测
海报图层物体检测
复制
Response
复制