ModelSheep
All models

BGE M3 API

BGE M3 embeds text in more than 100 languages for multilingual search and RAG, from $0.009.

  • 1024 dim vectors
  • MTEB mean 59.56
  • 8K token inputs
  • MIT licensed weights
from openai import OpenAI

client = OpenAI(
    base_url="https://api.modelsheep.com",
    api_key=API_KEY_MODELSHEEP,
)

response = client.embeddings.create(
    model="BAAI/bge-m3",
    input="The quick brown fox jumps over the lazy dog.",
)

print(response.data[0].embedding)

How to use the BGE M3 API

  1. 1

    Create a ModelSheep account and copy an API key from the dashboard.

  2. 2

    Point the OpenAI SDK at https://api.modelsheep.com and set the model to BAAI/bge-m3.

  3. 3

    Call /embeddings with your text and no dimensions argument, which this model rejects, and the answer is one vector of 1024 values.

What BGE M3 is

BGE M3 is a multilingual embedding model from BAAI, built on the XLM-RoBERTa backbone. Its model card lists more than 100 working languages and inputs up to 8K tokens, where the English BGE v1.5 models before it stop at 512. One pass produces three representations: a dense vector, lexical weights for sparse matching, and ColBERT vectors for late interaction. The MTEB figure on this page comes from a leaderboard snapshot of 24 May 2025, because the live leaderboard publishes no mean for BGE M3.

What it does well

  • Matches a query in one language against passages in another, across the languages the card lists.
  • Embeds a full report up to 8K tokens. A long document needs no chunking first.
  • Indexes a corpus without a query prefix. BGE M3 drops the instruction that earlier BGE models need.

What it is not for

  • Hybrid indexes off one call. The endpoint returns the dense vector. The lexical weights and the ColBERT vectors need the FlagEmbedding library or the vLLM pooling API.
  • Top of the leaderboard work. Newer embedding models in this catalogue post a higher MTEB mean.

Calling it

Post to /embeddings with the model string BAAI/bge-m3. Do not send a dimensions argument. BGE M3 is not a Matryoshka model, so the server rejects the request, and every vector comes back 1024 values wide.

BAAI/bge-m3 /embeddings

SDKs and languages

BGE M3 answers on an HTTP endpoint, so any language that can post JSON reaches it. These are the ones the box above writes out.

OpenAI SDK
PythonTypeScriptGoJavaC#PHPRust
HTTP
cURLPythonTypeScriptGoRustJavaC#PHP

Specifications

AuthorBAAI
Categoryembedding
Acceptstext
Returnsvector
Total parameters0.568B
Active parametersdense, all of them
Score59.56 on MTEB multilingual v2
Languages100+BAAI writes "more than 100 working languages" and warns that its training data is unbalanced across them, so quality differs.
Precision servedFP8
Context8K tokens
Vector1024 dimensions
LicenseMIT

Price

Input

$0.009

per million tokens

Output

n/a

this model returns a vector

Against OpenRouter

10%

below the cheapest of 1 provider

The cheapest OpenRouter price for this model was $0.010 in and n/a out, with a median of $0.010 and n/a across the comparable providers. Read on 2026-09-17.

License

MIT covers the weights. You can use, change and redistribute them in a commercial product, and no vendor terms sit on top.

Similar models

Start using BGE M3

Point the OpenAI SDK at api.modelsheep.com. Your prompts stay in Germany, and nothing is retained.