Skip to content

Segment Anything Model 2 · Image

Integrate

Model id sam2/image
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/sam2/image?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

This request: ≈$0.002 2 API credits Run it on this page

Get API key
Meta Image Editing #segmentation#mask#real-time

Segments objects in a single image from point or box prompts, returning a mask or the masked image

Meta · Image

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required image_url
Drop a file, or

URL pointing to the image for segmentation.

Advanced output_format · apply_mask · prompts · box_prompts
output_format default png

File format for the resulting image.

default []

Prompts used for image segmentation.

default []

Box boundary coordinates.

POST /run/sam2/image?wait=20 quote → $0.002
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/sam2/image?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Segment Anything Model 2 · Image

Segments an image with SAM 2 using point prompts (`prompts`) or box coordinates (`box_prompts`). Set `apply_mask` to true to get the mask applied to the picture instead of only the mask. Output can be saved as jpeg, png or webp, with png as the default. Takes one image URL per request.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
image_urlrequired image
Typeurl · image
URL pointing to the image for segmentation.
promptsoptional
Typeobject[]
Default[]
Prompts used for image segmentation.
prompts[].xoptional
Typeinteger
Default305
Prompt position along the X axis.
prompts[].yoptional
Typeinteger
Default350
Prompt position along the Y axis.
prompts[].labeloptional
Typeenum
Default1
01
Prompt label: 1 indicates foreground, while 0 indicates background.
prompts[].frame_indexoptional
Typeinteger
Default0
Index identifying the frame for interaction.
box_promptsoptional
Typeobject[]
Default[]
Box boundary coordinates.
box_prompts[].x_minoptional
Typeinteger
Default0
Minimum x-coordinate for the box.
box_prompts[].y_minoptional
Typeinteger
Default0
Minimum y-coordinate for the box.
box_prompts[].x_maxoptional
Typeinteger
Default0
Maximum x-coordinate for the prompt.
box_prompts[].y_maxoptional
Typeinteger
Default0
Maximum y-coordinate for the prompt.
box_prompts[].frame_indexoptional
Typeinteger
Default0
Index identifying the frame for interaction.
apply_maskoptional
Typeboolean
Defaultfalse
Controls whether the image has the mask applied.
output_formatoptional
Typeenum
Defaultpng
jpegpngwebp
File format for the resulting image.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "sam2/image",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 2,
    "usd": "0.002",
    "charged": 2,
    "refunded": 0
  },
  "input": {
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "image": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_name": "0-output.jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768
    }
  },
  "outputs": [
    {
      "type": "image",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
      "content_type": "image/jpeg",
      "file_size": 1843200,
      "width": 1024,
      "height": 768,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
image
object {url, content_type, file_name, file_size, width, height}Image with segmentation applied.

More models: Image Editing

For AI agents: this page as Markdown is at https://doitong.com/en-GB/developers/models/sam2/image.md. All models and guides: https://doitong.com/developers/llms.txt