RMBG-2.0 图像抠图
通用模型 · RMBG20
返回接口首页
AI 一句话对接
把下面这句话复制给 AI 编程助手(Claude Code、Cursor、Codex 等),它会读取本文档并完成接口对接。
请帮我对接这个接口,接口说明文档为 https://api.tecmz.com/m/CloudGeneral/RMBG20
复制提示词
模型说明
模型 ID:RMBG20 通用模型 价格:1算力点/次
基于 BRIA RMBG-2.0(BiRefNet 架构)的高精度背景移除模型,上传一张图片即可自动分离主体并输出透明背景图片,保留发丝、毛发、半透明玻璃等细腻边缘,适用于人像、商品图、动物、Logo 等场景

输入要求

  • 待抠图图片必须是公网可访问的链接,支持 png、jpg、jpeg、webp、bmp 格式
  • 主体完整、边缘清晰、主体占比适中的图片效果最佳;主体被裁切时抠图结果同样会被裁切

输出说明

  • background=transparent(默认)输出带透明通道的图片,适合二次合成
  • 需要纯色底时可选 white / black / green(绿幕),服务端会直接合成底色
  • output_format 选 webp 体积更小,选 png 为无损
  • 发丝、毛发、半透明玻璃等细节由模型自动保留;背景残留噪点较多时可适当提高 mask_threshold,边缘生硬时可增加 edge_feather

计费说明

按次计费:1 算力点/次,每张图片计费一次。

接口地址
操作 请求方式 地址
提交任务 POST https://api.tecmz.com/open_api/cloud_general/queue
查询任务 POST https://api.tecmz.com/open_api/cloud_general/query
可用性检查 POST https://api.tecmz.com/open_api/cloud_general/available
请求头携带 Authorization: Bearer <AppSecret>(AppId / AppSecret 见 接口管理); 提交任务成功后建议每 10 秒调用一次查询任务接口,直到 status 为 SUCCESS 或 FAIL。
请求参数
通用参数
参数 必须 类型 说明
model 是 string 目标模型 ID,本模型固定为 RMBG20
config 否 object 模型专属字段(本模型的 config 参数见下表)
param 否 object 模型通用参数(本模型的 param 参数见下表)
outId 否 string 外部业务 ID,最长 100 字符,便于业务侧关联任务
callback 否 string 任务结果回调地址,最长 200 字符
config 参数
参数必须类型默认值说明
type是stringimageMatting模型类型
param 参数
参数必须类型默认值说明
image是string-待抠图图片;支持 png、jpg、jpeg、webp、bmp 格式,需公网可访问的文件链接
background否stringtransparent输出背景;透明背景输出 PNG/WebP 透明通道,其余背景会直接合成到对应底色;可选值:transparent(透明背景(保留透明通道))、white(白色背景)、black(黑色背景)、green(绿色背景(绿幕))
mask_threshold否number0蒙版阈值;用于去除背景残留噪点,0 表示不做阈值处理(保留全部半透明边缘)
edge_feather否number0边缘羽化;数值越大边缘越柔和,可消除硬锯齿;半透明材质建议保持 0
output_format否stringpng输出格式;可选值:png(PNG(无损,支持透明))、webp(WebP(体积更小,支持透明))
seed否number0随机种子;本模型为确定性推理,随机种子仅用于兼容平台参数规范
返回结果
提交任务返回
{
    "code": 0,
    "msg": "ok",
    "data": {
        "taskId": "1"
    }
}
查询任务返回
{
    "code": 0,
    "msg": "ok",
    "data": {
        "taskId": "1",
        "status": "SUCCESS",
        "statusRemark": "",
        "result": { }
    }
}
status 取值:QUEUE(排队中)、PROCESS(处理中)、 SUCCESS(成功)、FAIL(失败,失败原因见 statusRemark)。
result 字段
字段类型说明
result.urlstring抠图结果(文件链接)
调用示例
请求体(JSON)
{
    "model": "RMBG20",
    "config": {
        "type": "imageMatting"
    },
    "param": {
        "image": "https://example.com/image.png"
    }
}
PHP(提交任务 + 轮询结果)
<?php
$baseUrl = 'https://api.tecmz.com/open_api/cloud_general';
$token = '<YOUR_API_TOKEN>';

// 1. 提交任务
$data = [
    'model' => 'RMBG20',
    'config' => [
        'type' => 'imageMatting',
    ],
    'param' => [
        'image' => 'https://example.com/image.png',
    ],
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $baseUrl . '/queue');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer ' . $token,
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
if (empty($result) || $result['code'] != 0) {
    exit('提交失败:' . (isset($result['msg']) ? $result['msg'] : '未知错误'));
}
$taskId = $result['data']['taskId'];

// 2. 轮询查询结果(建议 10 秒一次)
while (true) {
    curl_setopt($ch, CURLOPT_URL, $baseUrl . '/query');
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['taskId' => $taskId]));
    $ret = json_decode(curl_exec($ch), true);
    $status = isset($ret['data']['status']) ? $ret['data']['status'] : '';
    if ($status == 'SUCCESS') {
        print_r($ret['data']['result']);
        break;
    }
    if ($status == 'FAIL') {
        exit('生成失败:' . $ret['data']['statusRemark']);
    }
    sleep(10);
}
curl_close($ch);
示例中的地址、Token 需替换为实际值;接口基础说明见 通用模型 接口文档。
展开
QQ
微信
公众号
客服