Foldbun Stack
中Get an API keyComing soon
Embeddings

DINOv3 API: image embeddings

PublicModel licence: DINOv3 LicenseBuilt with DINOv3

DINOv3 turns an image into a 768-dimensional, L2-normalised vector for similarity search, deduplication and retrieval. Built with DINOv3.

Read the docsGet an API keyComing soonAPI reference

Price

Billed itemUnitCredits
Image embedding
One image per request.
per image0.05
≈ US$0.00005 top-up

Included in the public pool: 100 calls per day after sign-up. Prices are in credits. Failed calls cost nothing.

Sample results

Recorded responses of the API on sample images.

Same product, different shots4 images, 4 callsA·B 0.71 · A·C 0.50 · A·D 0.09
Landmarks4 images, 4 callsA·B 0.66 · A·C 0.21 · A·D 0.00
Animals4 images, 4 callsA·B 0.70 · A·C -0.04 · A·D -0.05

Request and response

POST https://api.stack.foldbun.com/v1/embeddings with a Bearer API key. One image per call; the sample set below uses four calls.

API reference
# macOS: replace "base64 -w0 sneakers-a.webp" with "base64 -i sneakers-a.webp"
curl https://api.stack.foldbun.com/v1/embeddings \
  -H "Authorization: Bearer $FOLDBUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d @- <<EOF
{"model": "dinov3", "image": {"base64": "$(base64 -w0 sneakers-a.webp)"}}
EOF
import base64, os, requests

with open("sneakers-a.webp", "rb") as f:
    image = base64.b64encode(f.read()).decode()

r = requests.post(
    "https://api.stack.foldbun.com/v1/embeddings",
    headers={"Authorization": f"Bearer {os.environ['FOLDBUN_API_KEY']}"},
    json={"model": "dinov3",
          "image": {"base64": image}},
    timeout=60,
)
r.raise_for_status()
print(r.json())
# vectors are L2-normalised: similarity = dot product
Response (shortened)
{
  "id": "call_01a1913e-162f-7915-92f8-33cbb0c6aa73",
  "model": "dinov3",
  "image": {"height": 1008, "id": "img_b01f5818…d4a5", "width": 1621},
  "dimensions": 768,
  "embeddings": [
    {"index": 0, "vector": [0.0289, 0.0277, 0.0517, 0.001, …]}
  ],
  "cost": 0.05,
  "balance": 1234.51
}

Request fields

FieldDescription
modeldinov3.
image{"base64": "…"} or {"id": "img_…"} from an earlier response.

Pricing examples

CallCredits
1 image
0.05
0.05
≈ US$0.00005 top-up
1,000 images
1,000 × 0.05
50
≈ US$0.05 top-up

Limits

Images
JPEG, PNG, static WebP; up to 20 MiB and 40 megapixels
Coordinates
Pixels of the original image with EXIF orientation applied; masks can be smaller and carry their own size
Images per call
1
Vector
768 dimensions, L2-normalised float32
Rate limit
Depends on the account tier; see GET /v1/models

Frequently asked questions

What does DINOv3 return?

One 768-dimensional, L2-normalised vector per image. The dot product of two vectors is their cosine similarity.

How is DINOv3 billed?

Each image costs 0.05 credits. The model is in the public pool: 100 calls per day at no charge after sign-up. Failed calls cost nothing.

Does DINOv3 carry an attribution notice?

DINOv3 is distributed under the DINOv3 License. Built with DINOv3. The licence terms are listed on the model licences page.

Related models

Models and pricing

Foldbun Stack — pay-per-use vision model API

Call DINOv3 through the REST API; the docs list request and response formats.

Read the docsGet an API keyComing soon