Sam V2.1 Hiera Large Serverless API
Meta's next-gen segmentation model for images and video.
POST /v2/sam-v21-hiera-large · submit + poll 1# pip install "segmind>=1.1.0"
2# export SEGMIND_API_KEY="YOUR_API_KEY"
3import segmind
4
5# Async (v2): submit to the queue and block until COMPLETED.
6# run() returns the final result dict (600s deadline, 1.0s poll by default).
7result = segmind.run(
8 "sam-v21-hiera-large",
9 image="https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg",
10 make_overlay=True,
11 save_polygons=True,
12 save_rle=True,
13 save_pngs=True,
14 points_per_side=32,
15 points_per_batch=64,
16 pred_iou_thresh=0.86,
17 stability_score_thresh=0,
18 min_mask_region_area=0,
19 nms_iou_thresh=0.7,
20 max_masks=0,
21 polygon_epsilon=0,
22 tile_size=0,
23 tile_stride=0,
24)
25print(result["status"]) # COMPLETED
26print(result.get("output")) # model output (e.g. media URL)
27print(result["metrics"]["inference_time"]) # server compute seconds
28
29# --- Or submit + poll manually (track request_id, control the cadence) ---
30from segmind import SegmindClient, InferenceFailed, InferenceTimeout
31
32client = SegmindClient() # reads SEGMIND_API_KEY
33payload = {
34 "image": "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg",
35 "make_overlay": True,
36 "save_polygons": True,
37 "save_rle": True,
38 "save_pngs": True,
39 "points_per_side": 32,
40 "points_per_batch": 64,
41 "pred_iou_thresh": 0.86,
42 "stability_score_thresh": 0,
43 "min_mask_region_area": 0,
44 "nms_iou_thresh": 0.7,
45 "max_masks": 0,
46 "polygon_epsilon": 0,
47 "tile_size": 0,
48 "tile_stride": 0,
49}
50job = client.submit_async("sam-v21-hiera-large", **payload)
51print(job.request_id) # available immediately
52try:
53 result = job.wait(timeout=600, interval=1.0)
54except InferenceTimeout as e:
55 print("still running:", e.request_id)
56except InferenceFailed as e:
57 print("failed:", e.detail) 1# pip install "segmind>=1.1.0"
2# export SEGMIND_API_KEY="YOUR_API_KEY"
3import segmind
4
5# Async (v2): submit to the queue and block until COMPLETED.
6# run() returns the final result dict (600s deadline, 1.0s poll by default).
7result = segmind.run(
8 "sam-v21-hiera-large",
9 image="https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg",
10 make_overlay=True,
11 save_polygons=True,
12 save_rle=True,
13 save_pngs=True,
14 points_per_side=32,
15 points_per_batch=64,
16 pred_iou_thresh=0.86,
17 stability_score_thresh=0,
18 min_mask_region_area=0,
19 nms_iou_thresh=0.7,
20 max_masks=0,
21 polygon_epsilon=0,
22 tile_size=0,
23 tile_stride=0,
24)
25print(result["status"]) # COMPLETED
26print(result.get("output")) # model output (e.g. media URL)
27print(result["metrics"]["inference_time"]) # server compute seconds
28
29# --- Or submit + poll manually (track request_id, control the cadence) ---
30from segmind import SegmindClient, InferenceFailed, InferenceTimeout
31
32client = SegmindClient() # reads SEGMIND_API_KEY
33payload = {
34 "image": "https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg",
35 "make_overlay": True,
36 "save_polygons": True,
37 "save_rle": True,
38 "save_pngs": True,
39 "points_per_side": 32,
40 "points_per_batch": 64,
41 "pred_iou_thresh": 0.86,
42 "stability_score_thresh": 0,
43 "min_mask_region_area": 0,
44 "nms_iou_thresh": 0.7,
45 "max_masks": 0,
46 "polygon_epsilon": 0,
47 "tile_size": 0,
48 "tile_stride": 0,
49}
50job = client.submit_async("sam-v21-hiera-large", **payload)
51print(job.request_id) # available immediately
52try:
53 result = job.wait(timeout=600, interval=1.0)
54except InferenceTimeout as e:
55 print("still running:", e.request_id)
56except InferenceFailed as e:
57 print("failed:", e.detail)API Endpoint
https://api.segmind.com/v1/sam-v21-hiera-largeParameters
imagerequiredstring (uri)Input image URL or base64 encoded image
"https://huggingface.co/datasets/hf-internal-testing/sam2-fixtures/resolve/main/truck.jpg"make_overlayoptionalbooleanGenerate overlay image with masks
truemax_masksoptionalintegerMaximum number of masks to return (0 = no limit)
0Range: 0 - 100min_mask_region_areaoptionalintegerMinimum mask area in pixels
0Range: 0 - 10000nms_iou_threshoptionalnumberNon-Maximum Suppression IoU threshold
0.7Range: 0 - 1points_per_batchoptionalintegerNumber of points per batch for processing
64Range: 16 - 128points_per_sideoptionalintegerNumber of points per side for mask generation
32Range: 8 - 64polygon_epsilonoptionalnumberEpsilon for polygon simplification
0Range: 0 - 10pred_iou_threshoptionalnumberPrediction IoU threshold for mask filtering
0.86Range: 0.5 - 1save_pngsoptionalbooleanGenerate individual PNG masks in ZIP
truesave_polygonsoptionalbooleanInclude polygon coordinates in output
truesave_rleoptionalbooleanInclude COCO RLE format in output
truestability_score_threshoptionalnumberStability score threshold for mask filtering
0Range: 0 - 1tile_sizeoptionalintegerTile size for large images (0 = disabled)
0Range: 0 - 2048tile_strideoptionalintegerTile stride for large images (0 = use tile_size)
0Range: 0 - 2048Response Type
Returns: Text/JSON
Asynchronous requests (v2)
Use Async for video, long-running (>~60s), or high-concurrency workloads; Sync is simplest for fast image & LLM calls. Async submits a request and you poll it to completion.
- 1
POST /v2/sam-v21-hiera-largeSubmit — returns request_id, status_url, response_url
- 2
GET /v2/requests/{id}/statusPoll — until COMPLETED or FAILED
- 3
GET /v2/requests/{id}Result — final response body
Status states
- A FAILED request is served as HTTP 422 — the body still carries the error detail.
- An unknown or expired request_id returns HTTP 404.
- Results are retained for 1 hour, then expire.
- Content / RAI blocks surface as FAILED, not a separate state.
- Track completion by polling the status endpoint.
Common Error Codes
The API returns standard HTTP status codes. Detailed error messages are provided in the response body.
Bad Request
Invalid parameters or request format
Unauthorized
Missing or invalid API key
Forbidden
Insufficient permissions
Not Found
Model or endpoint not found
Insufficient Credits
Not enough credits to process request
Rate Limited
Too many requests
Server Error
Internal server error
Bad Gateway
Service temporarily unavailable
Timeout
Request timed out