← All playgrounds
Text embedding model

BGE-M3 API

BAAI open multilingual text embeddings, 1024 dimensions, for retrieval across 100+ languages.

BGE-M3 is a text embedding model from BAAI, available on OttoPort's OpenAI-compatible API as the model ID bge-m3 at $0.011 per 1M input tokens as of 2026-10-14.

Provider

BAAI

Price

$0.011 per 1M input tokens

Model ID

bge-m3

Type

text embedding model

Semantic searchRetrieval (RAG)Clustering and dedup
Pricing

BGE-M3 API pricing

What OttoPort bills for BGE-M3, and what that works out to per unit. Rates are read from the same catalog the gateway meters against, and were current on 2026-10-14.

Per 1M tokens$0.011input text; the vectors are not billed
10,000 passages$0.055of about 500 tokens each, embedded once
Tokens per $190,909,090

No subscription and no minimum — OttoPort bills prepaid credits against usage. See the full rate card.

Quickstart

Call BGE-M3 in three lines

Send "model": "bge-m3" to POST https://ottoport.ai/api/v1/embeddings with an OttoPort key. No BAAI account, no waitlist, no separate SDK.

curl https://ottoport.ai/api/v1/embeddings \
  -H "Authorization: Bearer $OTTOPORT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "bge-m3",
    "input": ["How do refunds work?", "Refunds are issued within 5 days."]
  }'

Before you start

  1. 1. Create a key at /api-keys.
  2. 2. Top up credits — the smallest pack is $25.
  3. 3. Paste the request. It returns on the same request.

Full reference at /docs, or drive it from an agent with the MCP server and CLI.

Reference

Request parameters

The body POST https://ottoport.ai/api/v1/embeddings accepts for BGE-M3.

FieldTypeRequiredNotes
modelstringYesAlways bge-m3 for BGE-M3.
inputstring | arrayYesOne text, or an array of up to 256, each non-empty; 600,000 characters in all. One vector comes back per text, in order. Input tokens are the billed unit.
dimensionsintegerNoFixed at 1024; any other value is refused.
encoding_formatstringNo`float` (default) or `base64`, little-endian float32.
Comparison

BGE-M3 direct vs through OttoPort

BGE-M3 is the same model either way — what changes is how many accounts, keys, and integrations you carry to reach it.

BAAI directVia OttoPort
Accounts and keysA BAAI account, plus one more for every other model you addOne OttoPort account and one key for the whole catalog
Request shapeBAAI's own SDK and response formatOpenAI-compatible — point baseURL at OttoPort and change the model string
Switching modelsA new integration per providerReplace bge-m3 with any other model ID in the catalog
BillingA separate invoice and contract per providerPrepaid credits, no subscription, one usage ledger
Provider outagesYour call failsConfigured backup routes are tried in order on provider failure
01

Embed queries and documents with the same model.

02

Batch up to 256 texts in one request.

03

Pick `dimensions` once and keep it.

FAQ

BGE-M3 API questions

Cost, keys, and model IDs for BGE-M3 on OttoPort.

How much does the BGE-M3 API cost?

On OttoPort, BGE-M3 costs $0.011 per 1M input tokens as of 2026-10-14. For scale, 10,000 passages: $0.055. Billing is prepaid usage with no subscription and no minimum, and the current rate is always published at ottoport.ai/pricing.

How do I get a BGE-M3 API key?

You do not need a BAAI key. Create an OttoPort account, generate a key at ottoport.ai/api-keys, and send it as "Authorization: Bearer <key>" to POST https://ottoport.ai/api/v1/embeddings with "model": "bge-m3". The same key reaches every other model in the catalog.

What is the model ID for BGE-M3?

The OttoPort model ID for BGE-M3 is bge-m3. Pass it as the model field on POST https://ottoport.ai/api/v1/embeddings, or list it programmatically from GET https://ottoport.ai/api/v1/models.

Can I call BGE-M3 with the OpenAI SDK?

Yes. Set the OpenAI SDK's base URL to https://ottoport.ai/api/v1, use an OttoPort API key, and pass bge-m3 as the model. Embeddings follow the OpenAI embeddings shape, so existing code works after changing two lines.

How many dimensions does BGE-M3 return?

1,024, always: BGE-M3 is not trained to be shortened, so a dimensions value other than 1024 is refused. Embed every text you compare with the same model.

Do I need a BAAI account to use BGE-M3?

No. OttoPort connects to BAAI on your behalf, so one OttoPort account covers BGE-M3 and every other model in the catalog — no per-provider contracts, keys, or invoices.