IronStratum

Robot vision API alternatives: who serves what, at which meter

No vendor sells a product named a robot vision API. The perception layer is sold anyway, by six kinds of seller. Their meters differ more than their model lists. Roboflow bills credits per image on routes built for labeling. Replicate bills per run, and its SAM 2 page prints a 42 second typical run. fal bills a media API per request. Meta serves its own segmenter one noun phrase at a time. Open weights split between free downloads and gated requests, and license splits decide the choice as often as speed does. This page maps every row, dated October 28 2026, then names the fit for each robot job.

Last verified: 2026-10-28. Every rate below is a US dollar amount unless the sentence names another unit. Every rate names its source and its read date.

The map, one table

Read the meter column first. Two sellers can serve the same model at two prices, because the meter differs. Each cell carries one basis, stated in its label. Every fact was read on the seller's own page, October 28 2026.

SellerWhat you sendWhat comes backThe meter, and its printed basisFit for a loop
Roboflow serverlessAn image, plus a prompt for SAM 3 routesMasks or boxes from SAM 3, RF-DETR, YOLO rows, Depth Anything V3Credit per image (SAM 3: 0.0005 credits per image, their pricing page)Labeling speed, not camera rate
Replicate, meta/sam-2An image, prompt drivenMasks, large variant only, image inputs onlyPer run (about 0.041 per run, 24 runs per US dollar, their model page)No: 42 second typical run
fal, SAM 3 imageAn image plus text, points, boxes, or a maskUp to 32 masks per request, 1024 by 1024Per request (0.005 per request, their model page)Bursty work, if the wait fits
Segmind, SAM v2 imageAn image plus points, boxes, or a maskMasksGPU second (0.0072 per GPU second, serverless, their pricing page)No: 1.57 second typical run
Meta media segmentationAn image plus one short noun phraseOne box and one mask per match, streamedPer 1,000 images (2.50 per 1,000 images, 0.20 per 1,000 frames, their pricing-rate-limits page, read 2026-10-29)No: one object type per request
Ultralytics deploymentsAn image, to your own modelBoxes, masks, or poses, per your modelPlatform credits (25 US dollars of credits at signup, their docs)Depends on your deployment
Hugging FaceNothing you can callWeights onlyNot served: the large SAM 2.1 row carries no providerN/A
Gemini, general multimodalAn image plus a text askMask polygons on a 0 to 1000 grid, via a response schemaTokens, 258 per 768 pixel tile (their docs)Occasional queries
Open weights, self hostedYour own framesEverything the model hasPower and your time (license split below)Yes, when the machine is
This platform's vision routeWhole frames as file parts, no prompt fieldsMasks or depth, plus a usage blockPer image (the platform's model data, via the pricing page)Built for it

One cell stays empty by rule. Roboflow prints no credit rate for Depth Anything V3, on its model page or its pricing page. Meta's rate sits on the pricing-rate-limits page, not the docs page. A missing rate is a question for the vendor, not a number to guess.

The sellers, one by one

Roboflow: the labeling platform that grew an API

Roboflow began as a labeling tool, and its API shows it. The serverless endpoint takes an image, plus a prompt where one applies. It serves the RF-DETR and YOLO detection rows, SAM 3 for open vocabulary masks, and Depth Anything V3 for depth (serverless API guide). The pricing page bills credits. SAM 3 costs 0.0005 credits per image, their printed 2,000 images per credit. A credit costs 3.90 at the entry paid tier, and 2.86 at the largest (Roboflow pricing, read 2026-10-28). The free tier carries 10 credits a month.

The strength is breadth under one account. The catch for a robot is the platform's shape. A prompt-driven route answers a question about one image. A loop asks about every image, at a rate no credit route is built for. Roboflow also streams SAM 3 at 0.4 credits per hour for video. That hour meter is the closest any labeling vendor here comes to a loop-shaped price.

Replicate: a model market, priced per run

Replicate serves Meta's own SAM 2 row. The page is candid about scope. Image inputs only. The large variant only. A typical run of 42 seconds (meta/sam-2 on Replicate). The meter is per run, about 0.041, with their printed math of 24 runs per US dollar. Community uploads add Depth Anything V3 in mono and metric forms. The mono row prints about 0.0012 per run.

Per-run pricing is honest for what it is. What it is, is a job market. A 42 second wait is a labeling wait. No loop pays that per frame. For one-off masks on single frames, the market works. Whether Replicate serves robot policies at all is a different question, with its own receipts on the Replicate robotics page.

fal and the media API class

fal is a media host, and it carries the SAM line as media APIs. The SAM 3 image route takes text, points, boxes, or a reference mask. It returns up to 32 masks a request, and prints 0.005 per request, their own math of 200 segmentations per US dollar (fal SAM 3). Segmind serves SAM v2 at 0.0072 per GPU second on the serverless tier, with a printed 1.57 second typical run (Segmind pricing). Slaice serves SAM 2 at 1 token per call, about 5 seconds a call (Slaice).

This class matters for a reason the robot census misses. The big media hosts carry no robot policies. That fact is eight hosts deep on the big hosts page. Two of them still carry perception primitives. fal serves the SAM line. Replicate serves SAM 2, one section up. A sentence that lumps the two facts into one claim is half wrong, and the wrong half is the perception half. For those two hosts the honest split reads: no policies, yes masks.

Ultralytics: bring the model, rent the endpoint

Ultralytics serves the YOLO family you deploy, on one endpoint per model. Detection, masks, and pose are among the tasks. Credits meter the use. Signup pays 25 US dollars of credits with a work email, top-ups run 5 to 1,000, and purchased credits never expire (Ultralytics docs). The license note weighs more than the price. Free and paid plans run under AGPL. Commercial use without AGPL needs a separate license from them.

Meta: the model owner, one noun phrase at a time

Meta serves its own current segmenter over the Responses API. The prompt law is printed on the docs page. Send a short noun phrase that names one concrete object. Want several object types, send several requests (Meta media segmentation). The endpoint now runs SAM 3.1. The public rate prints on the pricing-rate-limits page: 2.50 per 1,000 images and 0.20 per 1,000 frames, read 2026-10-29 (Meta pricing and rate limits). That shape is a labeling tool with a first-party model behind it. It is the same one-object-per-request class the category head describes.

The general multimodal row

A general vision language model can return masks. Gemini does it with a response schema, and the recipe is documented (image understanding docs). The meter is the catch. Images bill as tiles, 258 tokens per 768 by 768 tile. Every frame pays photo prices for geometry. The robot vision API page walks this row in full, so it stays one row here.

Hugging Face: the weights, not the wait

The SAM 2.1 checkpoints sit among the most downloaded mask models on Hugging Face, and the large one carries no serving provider. Its model API returned no provider mapping, read October 28 2026. The platform's own pricing docs say its first-party inference has focused on CPU work since July 2025, with GPU work routed to third parties (pricing docs). For perception, Hugging Face is where you download, not where you call.

The prompt question decides your class

Every hosted row above sorts onto one axis. Does the route want a prompt, or does it take the whole frame?

Prompt-driven routes are the majority. SAM 3 on Roboflow takes a text concept, though Roboflow's own detection rows take the whole frame. fal takes text, points, or boxes. Segmind takes points, boxes, or a mask. Meta takes a noun phrase. Prompts give precision, and precision is right when a pipeline already knows what it wants. The cost is the naming load. Prompts name what to find, and a whole frame needs many names. A loop pays that cost forever.

Whole-frame routes return everything they find. Your code filters. That is the loop-native shape, and it is rare. This platform's vision route takes frames as file parts and refuses prompt fields outright, a 400 with the field named (route contract). Automatic mask generation, no prompt at all, has been in the SAM line since its first generation (SAM 2 repository).

Latency sorts the same axis. A 42 second typical run on Replicate. 1.57 seconds on Segmind. About 5 seconds at Slaice. Those are human-patience numbers, printed by the sellers. A camera-rate loop wants answers in tens of milliseconds. The loop budget math lives on the category head. The short version: compare the wait before the price. A meter you can afford on a per-second endpoint can still break you on a per-frame deadline.

The license split, stated once

The open weights of this layer are not one license.

WeightsLicenseWhere it is printed
SAM 2 and SAM 2.1Apache 2.0, checkpoints free to downloadSAM 2 repository
SAM 3The custom SAM License, updated November 19 2025, checkpoints behind an access requestSAM 3 repository
Depth Anything 3 small and baseApache 2.0DA3 repository
Depth Anything 3 large and giantCC BY-NC 4.0, not a commercial grantSame repository's model table
YOLO family on hosted plansAGPL on Ultralytics free and paid plans, separate commercial license otherwiseUltralytics docs

The SAM 3 row is the one that surprises teams. The SAM 2 line is Apache 2.0, and that license made masks cheap to self host. Its successor ships under custom terms, with checkpoints behind an access request. So "we self host SAM" stopped being one answer in 2025. A hosted route absorbs the question. The operator carries the license, you carry the call. That is a real argument for hosted rows on young families. It is worth exactly the operator's right to serve the model, and that right is a question to ask any vendor, this one included.

Where self host wins, and where it does not

Self host wins the steady loop. A robot that runs a camera at frame rate for hours, near its data, under a latency ceiling, is the case the open weights were built for. SAM 2.1 downloads with one command. DA3 small runs on a laptop class machine, and the CPU tier page carries the measured band. The glue between a segmenter and a depth model is yours to write and yours to keep. The Jetson versus cloud guide prices the onboard trade.

Hosted rows win the burst, the trial, and the no GPU team. Evaluation batches. A new model tried before any hardware arrives. A second opinion on hard frames. Those are per-image jobs, and per-image meters fit them. The two halves are not rivals. A stack can host the burst and own the loop, then pull a row in house when its bill says it is steady.

This platform's rows, dated

The state as of October 28 2026, mirrored from the platform's own model data. The models index is the live catalog, and it beats this page's date.

The vision route serves two rows on the public list, listed since the October 6 2026 requests. Those rows are sam2.1-base, the mask model, and da3-small, the depth model. The large mask tier, sam2.1-large, is not on the public list, and no date rides with that fact. Scene reasoning rides molmo2-er on the chat route, token metered, listed the same day. The action half of the stack is a different lane, and the VLA versus VLM guide draws that line.

The route contract is published and short. Frames go as file parts in one request. The fields are model, file, and a format switch, nothing else, and a prompt field of any name is refused with a 400 that names it. A request with three file parts bills three images. A request the route refuses bills nothing. Every live rate renders on the pricing page from the platform's model data, never typed by hand:

ModelContext$/1M in$/1M out$/1M cached
Qwen
qwen3.8-27b262K$0.35$2.55$0.105
qwen3.6-35b131K$0.11$0.8$0.044
Minimax
minimax-m2.7197K$0.24$0.95$0.072
Muse
muse-glimmer-30b131K$0.28$1.2$0.084
Ornith
ornith-1.5-35b100K$0.35$2.55$0.105
ornith-1.5-9b100K$0.1$0.3$0.03
Glm
glm-5.3-flash1049K$0.11$0.35$0.033
Deepseek
deepseek-v4-flash-07311311K$0.15$0.42$0.045
Gemma
gemma-4-31b-it262K$0.22$0.49$0.066
Deepseek
deepseek-v4-pro1000K$1.13$2.21$0.339
deepseek-v4.1-flash1000K$0.19$0.71$0.06
deepseek-v4.1-flash-10171049K$0.16$0.65$0.003
Glm
glm-5.31000K$1.32$4.25$0.4
Flux
flux-1-schnell—$0.003/image
flux-pro-1.1—$0.04/image
Chatterbox
chatterbox-tts—$25/1M chars
Kokoro
kokoro-tts—$15/1M chars
Pocket
pocket-tts—$16/1M chars
Audio
audio8-tts—$8/1M chars
Hayamimi
hayamimi-stt—$0.6/audio-hr
Bge
bge-m3—$0.05/1M tokens
bge-reranker-v2-m3—$1.5/1k searches
Ocr
ocr-print—$1/1k pages
ocr-archival—$3/1k pages
Whisper
whisper—$0.12/audio-hr
Iab
iab-2x—$0.7/1k pages
iab-3x—$0.7/1k pages
Gliner
gliner-extract—$0.9/1k searches
Jev
jev-fast1K$0.03$0—
jev-causal1K$0.03$0—
jev-batch1K$0.03$0—
Wemm
wemm-embed—$0.09/1M tokens
Molmo
molmo2-er8K$1$5$0.5
Cosmos
cosmos-reason2-2b4K$0.1$0.4$0.05
Sam
sam2.1-base—$0.02/image
Da
da3-small—$0.05/image
Smolvla
smolvla—$0.001/call
Openvla
openvla-oft—$0.006/call
Act
act—$0.001/call

A first call, on a row that serves:

curl -sS $IRONSTRATUM_BASE_URL/v1/vision \
  -H "Authorization: Bearer $IRONSTRATUM_API_KEY" \
  -F "model=sam2.1-base" \
  -F "file=@cam0.jpg" \
  -F "response_format=json"

The answer carries the model's findings and a usage block with the billed image count. Spend draws down one prepaid wallet across every lane, and the balance is the hard stop. Keys start at the signup page. The robot lanes are young on every platform, this one included. Read the dated state, run the first call, and watch the meter before scaling anything.

Pick by job

Your jobThe row that fitsWhy
Label a batch tonightRoboflow serverlessCredit per image, broad model list, labeling-first tooling
One mask, one frame, no setupReplicate or falPer run or per request, one key, nothing else
Feed a loop at camera rateA whole-frame route, or self hostPrompt-driven routes are not built for per-frame deadlines
Depth on a CPU budgetSelf host DA3 small, or the hosted da3-small rowApache 2.0 weights, measured CPU band on the tier page
Try SAM 3 before licensing itA hosted SAM 3 rowThe operator carries the SAM License question
Ship a product on masksSAM 2.1 weights, or a hosted SAM 2 routeApache 2.0 end to end, no custom terms
Scene reasoning, not geometryA vision language model on a token meterA different output class

Frequently asked questions

Is there a robot vision API?

Not under that name. The search results for the phrase are a hobby library, generic cloud docs, and integrator pages, captured October 28 2026. What exists is the perception layer in other wrappers. Labeling platform credits. Per-run model markets. Media APIs per request. One noun-phrase endpoint from the model owner. Per-image robot routes. The table above is that market.

Is Roboflow a robot vision API?

Partly. Roboflow serves SAM 3, its own detection rows, and Depth Anything V3 on one serverless endpoint, billed in credits per image. Among the third-party sellers in the table, it comes closest to a one-stop perception shop. Its shape stays labeling-first. One object per prompt, and credits that fit label budgets more naturally than loop budgets.

Can I call SAM 2 or SAM 3 through an API?

Yes, several ways, with different meters. Replicate serves the official SAM 2 row per run. fal serves SAM 2 and SAM 3 on image routes. Segmind serves SAM v2 per GPU second. Meta serves its own SAM 3.1 per noun phrase. Hugging Face serves neither. Its flagship SAM 2.1 checkpoint carried no provider mapping, read October 28 2026. Licenses differ by generation, Apache 2.0 for SAM 2.1, custom terms for SAM 3. The split sits on the license table above.

Is a hosted perception API fast enough for a control loop?

None of the prompt-driven ones advertise that they are. The sellers' own pages print 42 seconds typical on Replicate's SAM 2, 1.57 seconds on Segmind, and about 5 seconds at Slaice. A control loop wants answers in tens of milliseconds at camera rate. Whole-frame per-image routes are built for that budget. For anything else, measure the wait on your own frames first.

What does a robot vision API cost?

It depends on the meter, not the model. The same SAM family bills per run, per request, per GPU second, or per credit, depending on the counter above the model. Rates here are named relations with sources and dates. For this platform's rows, every live rate renders on the pricing page from the platform's model data. The pricing units glossary explains the per-image and per-call shapes.

Can I call robot vision on this platform today?

Yes, on two vision rows. As of October 28 2026, sam2.1-base and da3-small are on the public list and serve on the vision route, listed since the October 6 2026 requests. The route meters per image, takes multipart form data, and returns the model's findings plus a usage block. The large mask tier, sam2.1-large, is not on the public list, and no date rides with that fact. The models index is the live catalog.

Last verified: 2026-10-28