Qwen3-Embedding-8B
Specifically designed for text embedding and ranking tasks. Building upon the dense foundational models of the Qwen3 series... This series inherits the exceptional multilingual capabilities, long-text understanding, and reasoning skills of its foundational model.
Qwen’s own description of the model, from
Qwen3-Embedding-8B model card.
Served here as qwen/qwen3-embedding-8b.
What Qwen built it for
in the vendor’s words- “The 8B size embedding model ranks No.1 in the MTEB multilingual leaderboard (as of June 5, 2025, score 70.58).”
- “the embedding model allows for flexible vector definitions across all dimensions, and both embedding and reranking models support user-defined instructions to enhance performance for specific tasks, languages, or scenarios.”
- “The Qwen3 Embedding series offer support for over 100 languages... This includes various programming languages, and provides robust multilingual, cross-lingual, and code retrieval capabilities.”
Quoted from Qwen3-Embedding-8B model card, retrieved 2026-08-27.
Published benchmarks
Qwen’s figures, not ours| Benchmark | What it measures | Score | How Qwen states it |
|---|---|---|---|
| MTEB multilingual leaderboard | Text embedding, multilingual | 70.58 | The card states the rank and score as of June 5, 2025: "ranks No.1 in the MTEB multilingual leaderboard". |
Every score above is Qwen’s own published result for this model, copied from Qwen3-Embedding-8B model card on 2026-08-27 — we did not run these benchmarks and we do not restate them as our own. Each vendor ran its own harness with its own judge, so these tables are not a league table: scores from two different cards are not comparable, even where the benchmark name matches.
Recommended usage
what Qwen recommendsInstructions
“using instructions (instruct) typically yields an improvement of 1% to 5% compared to not using them. Therefore, we recommend that developers create tailored instructions specific to their tasks and scenarios.”
“In multilingual contexts, we also advise users to write their instructions in English, as most instructions utilized during the model training process were originally written in English.”
On this endpoint: prepend the vendor’s instruction format to QUERY
texts yourself (Instruct: <task>\nQuery: <text>);
documents are embedded as-is.
Dimensions
Native vectors are 4096-dimension, L2-normalized. The model is trained
matryoshka-style: the request’s dimensions field
truncates to any size from 32 to 4096, re-normalized — smaller indexes,
same API call.
Context length
Qwen gives the window as 33K tokens per input, which is what we serve — long documents go in whole instead of pre-truncated.
What to point it at
Qwen names these capabilities for the series:
- “text retrieval, code retrieval, text classification, text clustering, and bitext mining”
- “support for over 100 languages”, including programming languages
Recommendations on this page are Qwen’s, from Qwen3-Embedding-8B model card, retrieved 2026-08-27.
What it does on this endpoint
our gates · not vendor figuresNo speed figure is published for this model on purpose: throughput is best-effort by contract (see the price section). What IS gated, on every deploy, is byte-level correctness — the served vectors are checked against the fp16 transformers reference for cosine and retrieval-rank parity on the exact artifact and binary serving, before cutover.
Price, and the scheduling contract behind it
per million tokens · input only · no request fee| Input | Output |
|---|---|
| $0.01 | $0.00 — an embedding request generates nothing |
This is a batch-class surface by design:
embedding traffic rides the serving valleys of the
generation models and is shed with a retryable 429 when their lanes
are busy. The paying interactive lanes are never taxed — and that
subordinate scheduling is exactly what this price buys. Retry with backoff;
throughput is best-effort, correctness is gated.
One price, no tiers, prepaid credit — the same balance as every other model here. Full price sheet.
Capabilities
qwen/qwen3-embedding-8bOpenAI wire format
The standard /v1/embeddings schema: a string or array of strings in, vectors out. Point an existing OpenAI client at https://api.tiyuvta.ai/v1 and set the model id.
Same key, same balance
One base URL, https://api.tiyuvta.ai/v1; the model field routes. A RAG
stack runs embedding, retrieval and generation on a single prepaid credit — no second vendor, no second bill.
Deterministic output
The same (input, dimensions) pair returns the same vector, byte-for-byte — safe to cache on your side, and index migrations diff cleanly.
Pairs with
Qwen3-Reranker-8B — embed with this, rerank with it: the complete retrieval stack from one vendor family, on one key.
Where it fits best
use it for- RAG and agent-memory pipelines: embed once here, retrieve forever — 4096-dim vectors, MRL-truncatable to any smaller dimension
- Multilingual and code corpora: one embedder for 100+ languages
- Batch corpus indexing, where per-token price matters more than latency
Generating over what you retrieve? Ornith-1.5 35B-A3B and Qwen3.8 27B — same key, same balance.
First request
qwen/qwen3-embedding-8bcurl https://api.tiyuvta.ai/v1/embeddings \
-H "Authorization: Bearer $TIYUVTA_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "qwen/qwen3-embedding-8b",
"input": ["first passage", "second passage"],
"dimensions": 1024}' dimensions is optional — omit it for the full 4096.
# a 429 means the interactive lanes are busy — retry with backoff
for i in 1 2 3 4 5; do
code=$(curl -s -o out.json -w "%{http_code}" https://api.tiyuvta.ai/v1/embeddings \
-H "Authorization: Bearer $TIYUVTA_KEY" \
-H "Content-Type: application/json" -d @request.json)
[ "$code" != 429 ] && break
sleep $((i * i))
done
A 429 is the batch-class contract working, not an outage:
the interactive lanes were busy and your request should come back with
backoff.