SAM 2.1 Hiera-S (sam-lite)
sam-lite is SAM 2.1 Hiera-S, the small variant of the Segment Anything Model 2.1 by Meta. It segments one object per prompt from a box or a point, costs less than sam3, and is part of the free pool. It does not accept text prompts, and it has no “find more like this” mode.
| Model ID | sam-lite |
| Model | SAM 2.1 Hiera-S (Meta) |
| Weights | Official SAM 2.1 Hiera-S checkpoint by Meta |
| Use cases | Interactive segmentation |
| Endpoints | POST /v1/segment, POST /v1/refine |
| Pool | Free (after the first top-up): the first 1,000 calls per UTC day are free, then billed from the balance |
| Billing units | encode_image (waived on a cache hit), box, point, refine. Units and prices: Billing |
| Licence | Apache-2.0 |
How it works
Section titled “How it works”A call has two stages: the image is encoded once, and every prompt is then decoded separately. Billing follows these two stages.
Image encoding. The image is resized to 1024 × 1024 pixels and passed through the Hiera-S image encoder, a hierarchical vision transformer that turns the image into feature maps. This is billed once per call as encode_image. The result is cached per account and image, on a best-effort basis (deleted after at most 7 days); when a later call finds the encoding in the cache, the stage is skipped and the fee is waived. The cached encoding is stored compactly, so a result on a cache hit can differ very slightly from a fresh encode.
Prompts. A light prompt encoder turns points and boxes into embeddings, and a light mask decoder produces the mask. The prompts of a /v1/segment call are batched through the decoder, but each prompt yields its own mask, so each prompt is billed (point or box). Each mask also needs post-processing, upsampling to the image size and polygon tracing, and this work grows with the size of the image. A single point is ambiguous, so the decoder predicts 3 candidate masks for it and the best one by predicted IoU is returned; the score of an instance is that predicted IoU.
Refinement. POST /v1/refine is one decode for one object. All points and the optional box are inputs of that single pass, so a call is billed once as refine, however many points it carries. With options.multimask, the candidates of the pass (up to 3) are returned instead of the best one.
In each use case
Section titled “In each use case”Interactive segmentation
Section titled “Interactive segmentation”POST /v1/segmenttakesbox(the object inside the box) andpoint(the object under the point) prompts, mixed in one call, and returns exactly one instance per prompt. Each instance holdsprompt,score,bbox,areaandpolygon, and nolabel.positiveis not used: a box always marks the object and a point is always positive. Negative points belong toPOST /v1/refine.- Text prompts and exemplar boxes are not accepted, and there is no “find more like this” mode. Concept prompts are served by
sam3. - Every prompt is an object prompt, so it is always returned:
filter,nmsandoptions.maxInstancesdo not apply.cleanup, the geometry options andmergedo; see Post-processing. POST /v1/refinetakes up to 20 positive and negative points and an optional box for one object. The response holds the best mask, or up to 3 candidates withoptions.multimask. The whole call is one decode. The call has interactive priority with a 2 second deadline.
Comparison with sam3: Interactive segmentation.
Use case guide and example call: Interactive segmentation.
Concept segmentation
Section titled “Concept segmentation”Not supported. sam-lite accepts neither text prompts nor exemplar boxes. Use sam3 to find every instance of a concept.
Limits and notes
Section titled “Limits and notes”- 1 to 50 prompts per segment call (boxes and points together); at most 20 points per refine call, with at least one point or a box.
- Boxes and points must be non-negative and lie inside the image.
- Image limits: see Images. All coordinates are pixels of the oriented original. Polygons and boxes are in image pixels. A requested mask lies on a grid whose long side is at most
options.maskSize(default 2048 px): scale it bymask.size. - Latency: recorded Playground calls had
timing.processingMsof about 180 ms. The figure depends on the image, on queueing and on node load, and it is not a guarantee.