Segment Anything Model 3
ᠵᡠᠸᡝᠪᡠᠮᠪᡳ
sam-3/image
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/sam-3/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.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/sam-3/image?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/sam-3/image", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/mnc/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "sam-3/image",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
}
Segment Anything Model 3 ᠮᠣᠳᡝᠯ (sam-3/image) ᠪᡝ Doitong API ᠵᠠᠯᡳᠨᡩᡝ ᠠᠰᡠᠮᠪᡳ. ᠠᡤᡝᠨᡨᡳ ᡩᠠᡳᠯᠠᠨ: https://doitong.com/mnc/developers/models/sam-3/image.md
POST https://api.doitong.ru/v1/run/sam-3/image?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}
ᡝᡵᡝᠮᡝ ᠪᡠᠮᡝᠨᡳ ᠠᠨᠠᠮᡝ "queued" ᡳᠨᡠ "running" ᠪᡝ, GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 ᠪᡝ ᠠᠨᠠᠮᡝ "succeeded" ᠪᡝᠴᡳ ᠠᠰᡠᠮᠪᡳ; ᡶᡳᠯᡝ ᠪᡝ outputs[].url ᠪᡝᠴᡳ ᠣᠨᡩᠣᠮᡝ. POST https://api.doitong.ru/v1/quote/sam-3/image ᠪᡝ ᡝᠮᡠ ᠪᡠᠶᡝᠮᡝ ᠪᡝ ᠠᠰᡠᠮᠪᡳᡩᡝ ᠵᠠᠯᡤᠠᠨ ᠪᡝ ᠶᠠᠪᡠᠮᠪᡳ ᠰᡳᠨᡳ ᠠᠮᡤᠠ ᠠᠰᡠᠮᠪᡳ ᠣᠯᡥᠣᠮᡝ.
ᡝᠨᡳ ᠵᠠᠯᡳᠨ: ≈$0.005 5 API ᠺᠷᡝᡩᡳᠲ · ≈ ₽0.53 ᡝᡵᡝ ᠵᠠᠯᡳᠨᡩᡝ ᠠᠰᡠᠮᠪᡳ
ᠰᡳᠨᡳ ᠵᠠᠮᡠᠰᡳᠨ API ᠵᡳᡵᡤᠠ. ᡝᠯᡝ ᡝᠨᡩᡝ ᡳᠯᡤᠠᠮᠪᡳ ᡝᡵᡝ ᠮᡠᠨᡩᡝ ᡴᠣᡩᡝ ᡩᠠᠮᡠ ᠮᡝᠨᡩᡝᡵᡝ ᠪᠠᡩᡝᠯᡝᠨ ᠠᠮᡪᡳ ᡳᠨᡠ API ᠵᡳᡵᡤᠠ ᡩᡝᠪᡨᡝᡵᡝ ᡩᡝ ᠠᡴᡠ᠉ ᡳᠨᡠ ᡝᡵᡝᠩᡤᡝ ᠠᠮᠪᠠᠨ ᠮᡠᠨᡩᡝ ᠪᡝ ᠠᠰᡠᡵᠠᠮᠪᡳ: ᠮᡠᡵᡝ ᡩᠠᠮᡠ ᠪᡠᠶᡝᡵᡝ ᠪᠠᡩᡝᠯᡝᠨ ᡩᡝ ᠰᡳᠨᡩᡝᠮᡝ ᠠᠪᡠᠮᡝ ᠰᠠᠮᡪᡳ᠉
ᡳᠨᡝ ᡝᠮᡠᠨᡳᠩᡤᡝ ᡝᡵᡝᠮᡝ ᡩᡝ
ᡝᡵᡝ ᠵᡠᠯᡝᠨ ᡩᡝ ᡤᡝᡪᡳᠯᡝᠨ ᠪᠠᠶᠠᠨᠠᠮᡝ ᠠᠮᡪᠠᠯᠠ ᡶᡳᠯᡝᠮᡝ ᠪᡝᠶᡝᠮᡝ᠃ API ᠵᡳᡵᡤᠠᡳ ᡤᠠᡳᡥᠠᡩᡝ ᡤᡝᡪᡳᠯᡝᠨ ᠵᠠᠯᠠᠨᠠᠮᡝ ᠪᡠᠶᡝᠮᡝ ᠮᡠᠰᡝᡳ ᠰᡠᠯᡠᠨᡩᡝ ᠪᠠᠶᠠᠨᠠᠮᡝ᠂ ᠮᡤᡳ ᠮᡠᠰᡝ ᠠᠶᠠᠨ 7 ᡥᠠᠨ ᠰᠠᡳᠨᠠᠮᡝ᠃
ᡤᡳᠰᡠᠨ ᠪᡠᠶᡝᠮᡝ
ᠵᠠᡴᡠᠨᡳ ᠵᡠᠯᡝ ᡩᡝᡵᡤᡳ ᡩᡝᠪᡝᠰᡠᠮᡝ ᠵᡠᠯᡤᡝ ᠪᡠᠶᡝᠮᡝ᠈ ᡳᠨᡳ ᡤᡳᠰᡠᠨ ᠪᠠᡳ ᡝᠨᡝᠩᡤᡳ ᠠᠮᠪᡳ
/run/sam-3/image?wait=20
ᠵᠠᠯᡳᠨ → $0.005
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/sam-3/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.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/sam-3/image?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/sam-3/image", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "sam-3/image",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
},
"wait_seconds": 20
}
}
}
ᡝᠨᡳ ᠵᠠᠯᡳᠨ ᠪᡝ ᠵᠠᠯᠠᠨᠠᠮᡝ
ᡳᠨᡝ ᠵᠠᠯᠠᠨ ᡝᡵᡝ ᠪᡠᡵᡝᠪᡝᡵᡳ ᡩᡝ ᠪᡳᠮᡝ᠈ Doitong API ᡩᡝ ᠵᡝᠯᡤᡳ ᡩᠠᡵᠠᠮᡝ᠈ Remember ᠵᡠᠯᡝᠮᡝ ᡤᡳᠯᠠᠮᡝ localStorage ᡩᡝ ᠰᡠᠯᡝᠮᡝ ᠪᡳᠮᡝ API ᠵᠠᠯᠠᠨ ᠠᠪᠠᠮᡝ
Segment Anything Model 3 ᡠᡵᡝᠮᡝ
SAM 3 ᡳ ᡳᠨᡝᠩᡤᡳ ᠵᡠᠯᡝᡵᡳ ᠣᠨᠣᠯᠣᠮᠪᡳ᠉ ᠪᡳᡵᡝᠩᡤᡝ `prompt`᠂ `point_prompts` ᠨᡝᠮᡝ `box_prompts` ᠵᡠᠯᡝᡵᡳ ᠠᠰᡳᠯᠠᠮᠪᡳ᠉ `return_multiple_masks` ᠵᠠᠯᡤᠠᠪᡠᡥᠠ ᡝᠮᡠ ᡳᠨᡠ `max_masks` ᡩᡝ ᠵᠠᠯᡤᠠ ᠮᡠᠰᡝ 1 ᡩᡝᡵᡝ 32 ᠣᠨᠣᠯᠣᠮᠪᡳ᠉ ᡥᡡᠯᠠᠨ ᡩᡝᠰᡝ ᠨᡝᠮᡝ ᠪᠣᠺᠰᡳ ᡳ ᡝᠵᡝᠨ ᡩᡝ ᠣᠨᠣᠯᠣᠮᠪᡳ᠉ ᠣᠨᠣᠯᠣᠮᠪᡠᡥᠠ ᡥᡡᠯᠠᠮᠪᡳ jpeg᠂ png ᠨᡝᠮᡝ webp ᠪᡳ᠉
ᠵᠠᡴᡠᠨ
ᠵᠠᡴᡠᠨᡳ ᡤᡳᠰᡠᠨ ᠵᡝᠯᡤᡳ ᠠᠪᠠᠮᠪᡳ᠈ ᠨᡝᠮᡝ ᠮᡠᠰᡝ ᡠᠯᠠᠮᠪᡳ ᠵᠠᡴᡠᠨᡳ ᡤᡳᠰᡠᠨ
image_urlᡴᠠᠷᠠᡴᡡ
image
promptᠵᡠᠯᡝ
text_promptᠵᡠᠯᡝ
point_promptsᠵᡠᠯᡝ
point_prompts[].xᠵᡠᠯᡝ
point_prompts[].yᠵᡠᠯᡝ
point_prompts[].labelᠵᡠᠯᡝ
point_prompts[].object_idᠵᡠᠯᡝ
point_prompts[].frame_indexᠵᡠᠯᡝ
box_promptsᠵᡠᠯᡝ
box_prompts[].x_minᠵᡠᠯᡝ
box_prompts[].y_minᠵᡠᠯᡝ
box_prompts[].x_maxᠵᡠᠯᡝ
box_prompts[].y_maxᠵᡠᠯᡝ
box_prompts[].object_idᠵᡠᠯᡝ
box_prompts[].frame_indexᠵᡠᠯᡝ
apply_maskᠵᡠᠯᡝ
output_formatᠵᡠᠯᡝ
return_multiple_masksᠵᡠᠯᡝ
max_masksᠵᡠᠯᡝ
include_scoresᠵᡠᠯᡝ
include_boxesᠵᡠᠯᡝ
ᠪᡠᠮᠪᡳᠯᡝᠰᡝ ᡝᠮᡠ ᡤᡝᠮᡠᠨᡳ https:// URL᠈ 10 MB ᡩᡝ ᡩᡝᠷᡤᡳ data: URI ᠵᡝᡵᡤᡳ ᡝᠮᡝ᠈ ᡳᠨᡝ ᠪᡠᠮᠪᡳᠯᡝᠰᡝᠨᡳ file_url ᠠᠪᠠᠮᠪᡳ ᠪᡠᠮᠪᡳ
ᠪᡠᠶᡝᠮᡝ
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "sam-3/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": 5,
"usd": "0.005",
"charged": 5,
"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
},
"masks": [
{
"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
}
],
"metadata": [
{
"index": 1,
"score": 1.0,
"box": [
1.0
]
}
],
"scores": [
1.0
],
"boxes": [
[
1.0
]
]
},
"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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
ᠪᡠᠶᡝᠮᡝᠨᡳ ᡤᡳᠰᡠᠨ
- image
- object {url, content_type, file_name, file_size, width, height} | nullᡳᠯᠠᠮᡝ ᠵᡠᠯᡝ ᠰᡳᠯᡤᠠᠮᡝ ᡳ ᠵᡠᠯᡝ ᠮᠠᠰᡴ᠃
- masks
- array of object {url, content_type, file_name, file_size, width, height}ᠰᡳᠯᡤᠠᠮᡝ ᡳ ᠮᠠᠰᡴ ᠪᡳᠮᡝ ᡤᠠᠳᠠᠨ᠃
- metadata
- array of object {index, score, box} | nullᠮᠠᠰᡴ ᡳ ᠮᡝᡵᡤᡝᠨ ᠮᡠᠨᡳ ᠵᡠᠯᡝ ᠮᠠᠰᡴ ᡳ ᠪᡝᠵᡝ᠃
- scores
- array of number | nullᠮᠠᠰᡴ ᡳ ᠵᡠᠯᡝ ᠵᡠᠯᡝ ᡳ ᠣᠮᡳᠯᠣᠮᡝ ᠮᡝᡵᡤᡝᠨ᠃
- boxes
- array of array of number | nullᠮᠠᠰᡴ ᡳ ᠵᡠᠯᡝᠯᡝᠮᡝ ᠪᡝᠵᡝ, [cx, cy, w, h], ᠠᠴᠠᠨᠠᠮᡝ ᠪᡠᠴᡳ᠃
ᡝᠯᡤᡳ Sam3 ᡠᠯᡤᡳᠨ
ᡝᠯᡤᡳ ᡩᠠᠯᡳᠨ: ᡤᠠᠳᠠᠨ ᠵᠠᠰᡳᠨ
AI ᠠᡤᡝᠨᡨᡳ ᡠᠴᡠᠷᡳ᠈ ᡝᡵᡝ ᡩᡝᠪᡝᡵᡳ Markdown ᠰᡳᠨᡩᠠᡵᡳ https://doitong.com/mnc/developers/models/sam-3/image.md. ᡝᡵᡝ ᠮᠣᡩᡝᠯ ᠵᠠᡴᡠᠨ ᠰᡠᠯᡠᠮᡝ https://doitong.com/developers/llms.txt






