Skip to content

Sam 3 1 · Video RLE

Integrate

Model id sam-3-1/video-rle
# 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/sam-3-1/video-rle?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  }'

# 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"

Files like the example: $0.19 190 API credits your files are measured before the run Run it on this page

Get API key
Meta Video to Video #segmentation#mask#real-time

SAM 3.1 video segmentation with RLE masks, mask seeding and optional per-object masks per frame

Meta · Video

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.

default

Segmentation prompt supporting multiple tracked objects through comma-separated descriptions, such as 'person, cloth'.

•required video_url
Drop a file, or

Video URL for segmentation.

Advanced mask · detection_threshold · frame_index · max_num_objects · apply_mask · boundingbox_zip · return_object_rles · point_prompts · box_prompts
mask_url
Drop a file, or

Mask URL for the initial application.

default 0.5

Detection confidence cutoff with defaults of 0.5 for existing objects and 0.7 for new ones. Within the 0.0–1.0 range, smaller values trade precision for more detections; try 0.2–0.3 when text prompts fail.

default 0

Index of the frame for initial interaction when supplying mask_url.

default 16

Upper limit on how many objects are tracked in the video.

default []

Point prompt list specifying frame indices.

default []

Box prompt list, with an optional frame_index for each entry.

POST /run/sam-3-1/video-rle?wait=20 quote → $0.19
# 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/sam-3-1/video-rle?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  }'

# 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 Sam 3 1 · Video RLE

Segments video with SAM 3.1, seeded by a text `prompt`, point or box prompts, or a `mask_url` applied at `frame_index`. `max_num_objects` allows 1 to 128 tracked objects. Set `return_object_rles` to get each tracked object's own mask per frame with a stable id. `detection_threshold` goes from 0.01 to 1.

Parameters

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

NameType DefaultAllowed Description
video_urlrequired video
Typeurl · video
Video URL for segmentation.
mask_urloptional mask
Typeurl · image
Mask URL for the initial application.
promptoptional
Typestring
Default
Segmentation prompt supporting multiple tracked objects through comma-separated descriptions, such as 'person, cloth'.
point_promptsoptional
Typeobject[]
Default[]
Point prompt list specifying frame indices.
point_prompts[].xoptional
Typeinteger | null
Prompt position along the X axis.
point_prompts[].yoptional
Typeinteger | null
Prompt position along the Y axis.
point_prompts[].labeloptional
Typeenum
01
Foreground/background label: 1 indicates foreground; 0 indicates background.
point_prompts[].object_idoptional
Typeinteger | null
Optional identifier grouping prompts that refine a single object. If text is also supplied as a prompt, this identifier determines which detected object those points refine.
point_prompts[].frame_indexoptional
Typeinteger | null
Index identifying the frame for interaction.
box_promptsoptional
Typeobject[]
Default[]
Box prompt list, with an optional frame_index for each entry.
box_prompts[].x_minoptional
Typeinteger | null
Minimum x-coordinate for the box.
box_prompts[].y_minoptional
Typeinteger | null
Minimum y-coordinate for the box.
box_prompts[].x_maxoptional
Typeinteger | null
Maximum X coordinate for the box.
box_prompts[].y_maxoptional
Typeinteger | null
Maximum Y coordinate for the box.
box_prompts[].object_idoptional
Typeinteger | null
Optional identifier grouping boxes that refine a single object.
box_prompts[].frame_indexoptional
Typeinteger | null
Index identifying the frame for interaction.
apply_maskoptional
Typeboolean
Defaultfalse
Whether to apply masking to the video.
boundingbox_zipoptional
Typeboolean
Defaultfalse
Whether to return a ZIP archive containing bounding box overlays for each frame.
detection_thresholdoptional
Typenumber
Default0.5
0.01 – 1
Detection confidence cutoff with defaults of 0.5 for existing objects and 0.7 for new ones. Within the 0.0–1.0 range, smaller values trade precision for more detections; try 0.2–0.3 when text prompts fail.
frame_indexoptional
Typeinteger
Default0
Index of the frame for initial interaction when supplying mask_url.
max_num_objectsoptional
Typeinteger
Default16
1 – 128
Upper limit on how many objects are tracked in the video.
return_object_rlesoptional
Typeboolean
Defaultfalse
Whether to also return a separate mask per tracked object in every frame, using a stable object ID throughout the video. The response still includes the merged rle.
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": "sam-3-1/video-rle",
  "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": 190,
    "usd": "0.19",
    "charged": 190,
    "refunded": 0
  },
  "input": {
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "boundingbox_frames_zip": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "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
video
object {url, content_type, file_name, file_size}Video produced by segmentation.
boundingbox_frames_zip
object {url, content_type, file_name, file_size} | nullZIP archive of bounding box overlays for each frame.

More models: Video to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/sam-3-1/video-rle.md. All models and guides: https://doitong.com/developers/llms.txt