Foldbun Stack
EN获取 API 密钥即将推出
分割

SAM 3 API:按文本提示分割

模型许可证:SAM License

SAM 3 根据简短的文本提示或样例框找出所有匹配的实例,并可通过包含和排除点选细化单个对象。结果为带含洞简化多边形的实例、框和分数;像素蒙版按需返回。

阅读文档获取 API 密钥即将推出API 参考

价格

计费项单位额度
图像编码
每次调用收取一次。同一图像的编码仍在该账户的缓存中时免收;缓存最长保留 7 天,也可能更早被清除。
每张图像0.5
按储值折合约 US$0.0005
文本提示
POST /v1/segment 中的每个文本短语。样例框不另外收费;只含样例框而无文本提示的请求按一个提示计。
每个文本提示0.05
按储值折合约 US$0.00005
点提示
POST /v1/segment 中的每个点。
每个点0.02
按储值折合约 US$0.00002
细化
每次 POST /v1/refine 调用:按一次解码计,与点的数量以及是否给出框无关。
每次细化0.02
按储值折合约 US$0.00002

有余额的账户可用(付费)。 价格以额度计。调用失败不收费。

示例结果

API 在示例图片上的实际响应记录。

街景:分割出 9 个“car”、18 个“person”。
街景提示:"car"、"person"27 个实例
水果摊:分割出 90 个相似对象。
水果摊提示:一个样例框,无文本90 个实例
客厅:分割出 1 个“cat”、5 个“cushion”。
客厅提示:"cushion"、"cat"6 个实例

请求与响应

POST https://api.stack.foldbun.com/v1/segment,使用 Bearer API 密钥。POST /v1/segment 中每个点提示返回一个对象;细化单个对象的点选使用 POST /v1/refine。

API 参考
# macOS:把 "base64 -w0 street.webp" 换成 "base64 -i street.webp"
curl https://api.stack.foldbun.com/v1/segment \
  -H "Authorization: Bearer $FOLDBUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d @- <<EOF
{"model": "sam3", "image": {"base64": "$(base64 -w0 street.webp)"},
 "prompts": [{"text": "car"}, {"text": "person"}],
 "options": {"defaults": {"filter": {"minScore": 0.5}}}}
EOF
import base64, os, requests

with open("street.webp", "rb") as f:
    image = base64.b64encode(f.read()).decode()

r = requests.post(
    "https://api.stack.foldbun.com/v1/segment",
    headers={"Authorization": f"Bearer {os.environ['FOLDBUN_API_KEY']}"},
    json={"model": "sam3",
          "image": {"base64": image},
          "prompts": [{"text": "car"}, {"text": "person"}],
          "options": {"defaults": {"filter": {"minScore": 0.5}}}},
    timeout=60,
)
r.raise_for_status()
print(r.json())
响应(节选)
{
  "id": "call_01a1913c-25a0-73fd-a074-7a6ac6154590",
  "model": "sam3",
  "image": {"height": 1008, "id": "img_312c4e3a…c6e2", "width": 1343},
  "cache": "miss",
  "imageFee": 0.5,
  "instances": [
    {
      "score": 0.9696,
      "bbox": [0, 716, 207, 889],
      "area": 27120,
      "prompt": 0,
      "label": "car",
      "polygon": [
        {"outer": [47, 718, 100, 728, 132, 743, …]}
      ]
    }
    … 26 more
  ],
  "dropStats": [],
  "cost": 0.6,
  "balance": 1233.96
}

请求字段

字段说明
image{"base64": "…"},或之前响应返回的 {"id": "img_…"}。
prompts[].text简短的英文名词短语,1–200 个字符。返回所有匹配的实例。
prompts[].box样例框 [x1, y1, x2, y2];positive: false 用于排除相似对象。最多 10 个。
prompts[].point对象上的点 {"x", "y"};只返回该对象。
options.defaults所有提示的后处理:geometry、polygon、mask、filter(minScore 默认 0.5)、cleanup、merge。prompts[].options 按提示覆盖。
options.maxInstances1–300,默认 100。
options.nms实例之间的重叠去除。

价格示例

调用额度
1 张图,1 个文本提示
0.5 + 0.05
0.55
按储值折合约 US$0.00055
1 张图,5 个文本提示
0.5 + 5 × 0.05
0.75
按储值折合约 US$0.00075
1 张图,2 个文本提示和 1 个样例框
0.5 + 2 × 0.05
0.6
按储值折合约 US$0.0006
1,000 张图,每张 2 个文本提示
1,000 × (0.5 + 2 × 0.05)
600
按储值折合约 US$0.60

按未命中缓存计算。缓存命中时可能减免 0.5 的编码费,不作保证。

限制

图片
JPEG、PNG、静态 WebP;最大 20 MiB、4,000 万像素
坐标
按 EXIF 摆正后的原图的像素;蒙版可以比图小,并附带自己的尺寸
每次调用的提示数
最多 50 个(文本、样例框和点),其中样例框最多 10 个
每次细化调用的点选数
最多 20 个点
速率限制
取决于账户档位,见 GET /v1/models

常见问题

SAM 3 如何计费?

每次调用收取图像编码费(0.5 额度),每个文本提示另收 0.05 额度,样例框不另外收费,只含样例框而无文本提示的请求按一个提示计;细化调用(POST /v1/refine)收取图像编码费,另按每次调用收取 0.02 额度,与点的数量无关;POST /v1/segment 中的点提示每个收取 0.02 额度。同一图像的编码仍在该账户的缓存中时免收编码费;缓存最长保留 7 天,也可能更早被清除。

sam3 和 sam-lite 有什么区别?

sam3 支持文本提示、样例框和点提示:文本和样例框返回所有匹配实例,点提示返回一个对象;sam-lite(SAM 2.1 Hiera-S)每个点或框分割一个对象,价格更低,并包含在免费池中。

返回什么几何数据?

默认返回图片像素坐标下的含洞简化多边形(容差为图片对角线的 0.001)。设置 geometry: ["mask"] 时按需返回蒙版:COCO 压缩 RLE 或无损 WebP 裁剪区域,蒙版网格的长边由 options.maskSize 设置(默认 2048 px)。

相关模型

模型与价格

Foldbun Stack — 按量计费的视觉模型 API

通过 REST API 调用 SAM 3,请求与响应格式见文档。

阅读文档获取 API 密钥即将推出