Why did we open-source our inference engine? Read the post

Locate every object your agent can name in a photo

Superlinked gives your agent one API to name the objects it cares about and get a pixel box and score for each one it finds.

Get started
labels ["sale sign"]
Sauce aisle in a Colorado Springs supermarket: Grounding DINO boxed 10 of 14 hand-counted objects sale sign 0.35 sale sign 0.32 sale sign 0.29 sale sign 0.26 sale sign 0.32 sale sign 0.27 sale sign 0.37 sale sign 0.26 sale sign 0.26 sale sign 0.27

10 sale signs located in one call; the 4 it missed stay dashed

55 of 57 returned boxes sit on the object your agent asked for

View evidence

Almost every box it draws is one your agent can act on: 55 of the 57 boxes Grounding DINO returned sit on the object it was asked for, across all 9 recorded photos. Dashed outlines mark each miss on the hero and the cards below.

Container loading dock in Thailand: Grounding DINO boxed 4 of 4 hand-counted objects shipping container 0.44 forklift 0.39 person 0.41 forklift 0.35 · duplicate person 0.25 shipping container 0.25 · duplicate

Container loading dock in Thailand

  • forklift 1 of 1 found
  • shipping container 1 of 1 found
  • person 2 of 2 found

2 more boxes on objects already found

Goterrestrial on Wikimedia Commons · CC BY 4.0
Food box packing floor: Grounding DINO boxed 9 of 14 hand-counted objects safety vest 0.33 safety vest 0.33 safety vest 0.30 safety vest 0.31 safety vest 0.34 safety vest 0.27 safety vest 0.31 safety vest 0.29 safety vest 0.26

Food box packing floor

  • safety vest 9 of 14 found
U.S. Department of Agriculture · public domain
Supermarket produce department: Grounding DINO boxed 11 of 17 hand-counted objects person 0.50 person 0.52 person 0.48 person 0.46 person 0.45 person 0.40 person 0.37 person 0.39 shopping cart 0.37 yellow price sign 0.36 shopping cart 0.29 person 0.33 · duplicate

Supermarket produce department

  • person 8 of 8 found
  • shopping cart 2 of 2 found
  • yellow price sign 1 of 7 found

1 more box on objects already found

Dean Hochman on Flickr · CC BY 2.0
Soft drink shelf: Grounding DINO boxed 2 of 14 hand-counted objects 7 up bottle 0.27 7 up bottle 0.29 price tag 0.25 · wrong object

Soft drink shelf

  • price tag 0 of 11 found
  • 7 Up bottle 2 of 3 found

one box labelled price tag spans the whole photo

SMC on Wikimedia Commons · public domain
Distribution center in San Juan, Puerto Rico: Grounding DINO boxed 1 of 2 hand-counted objects forklift 0.57 pallet jack 0.27 · wrong object

Distribution center in San Juan, Puerto Rico

  • forklift 1 of 1 found
  • pallet jack 0 of 1 found

one box labelled pallet jack sits on another object

FEMA · public domain

8 of the 9 recorded photos appear on this page. Those 55 boxes cover 52 of the 88 objects counted by hand; Grounding DINO also drew 3 extra boxes on objects it had already found and put 2 on the wrong object.

Send the labels and get back pixel boxes to crop or flag

View on GitHub
from pathlib import Path
from sie_sdk import SIEClient
client = SIEClient(
api_key="API keysk-sie-…",
base_url="https://api.superlinked.com",
)
image = {"data": Path(imagehangar-pallet-jacks.jpgbrowse).read_bytes(), "format": "jpeg"}
result = client.extract(
"modelIDEA-Research/grounding-dino-base",
{"images": [image]},
labels=[
"querypallet jack",
],
)
for obj in result["objects"]:
print(obj["label"], obj["score"], obj["bbox"])
import { readFile } from 'node:fs/promises';
import { SIEClient } from '@superlinked/sie-sdk';

const client = new SIEClient('https://api.superlinked.com', {
  apiKey: 'sk-sie-…',
});

const image = await readFile("hangar-pallet-jacks.jpg");
const result = await client.extract(
  'IDEA-Research/grounding-dino-base',
  { images: [image] },
  { labels: ["pallet jack"] },
);
console.log(result.objects);
images_bytes=$(base64 < 'hangar-pallet-jacks.jpg' | tr -d '\n')
curl https://api.superlinked.com/v1/extract/IDEA-Research%2Fgrounding-dino-base \
  -H "Authorization: Bearer sk-sie-…" \
  -H "Content-Type: application/json" \
  -d "{\"items\":[{\"images\":[{\"data\":\"$images_bytes\",\"format\":\"jpeg\"}]}],\"params\":{\"labels\":[\"pallet jack\"]}}"
Build the "Detect" capability into my app using the Superlinked Inference Engine (SIE).

Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: IDEA-Research/grounding-dino-base (SIE primitive: /extract). Keep the model id configurable.

Task
- Input: an uploaded image plus the object labels to find.
- Behaviour: return the named objects with confidence scores and bounding boxes
- Call the selected SIE primitive once per request and map the response into your domain type.

Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.
Output
hangar-pallet-jacks.jpg
pallet jack0.44[349, 92, 392, 195]
pallet jack0.37[429, 390, 199, 307]
pallet jack0.30[87, 526, 233, 386]
pallet jack0.27[843, 287, 267, 281]
4 objects with bounding boxes

Object detection quality and latency

PRICE
$ / 1k images $ / 1M input tokens $ / 1M output tokens
$0.232 SIE OWLv2 Base
$0.309 SIE Grounding DINO
AWS Rekognition $1
Google Vision Labels $1.5
Google Vision Objects $2.25
OpenAI GPT-5.4 mini $0.75
OpenAI GPT-5.4 mini $4.5
QUALITY
AP · COCO
SIE Grounding DINO 0.58
0.56
0.55
SIE OWLv2 Base 0.43
0.42
0.41
LATENCY
p50 ms
SIE Grounding DINO 786ms
900ms
950ms
SIE OWLv2 Base 1008ms
1120ms
1180ms

Deploy your way

Self-host with K8s

Easy & scalable deployment in your own cloud.

  • Terraform to your cloud in minutes
  • Apache-2.0, same engine as Cloud
  • Scales to zero, no bill between jobs
  • Per-tenant pools, no noisy neighbors
Agent prompt
Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deploymentDeploy SIE to our GCP project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deploymentDeploy SIE to our Azure AKS cluster via helm install. Requirements: superlinked.com/docs/deployment
Deploy guide

Run locally

Run the same models on your own machine.

  • Runs on NVIDIA GPU or Apple Silicon
  • One command, no Docker or cluster
  • All 100+ Cloud models, fully offline
  • Same SDK and IDs, no code changes
pip install "sie-server[local]" && sie-server servepip install "sie-server[local]" && sie-server serve --device cuda
Quickstart

Contact us

Tell us about your use case and we'll get back to you shortly.

Apply for an inference grant

Free capacity on our hosted cluster for selected projects. Tell us what you run and we reply by email.