Mistral Embed 2312 API: toman pricing and code
mistralai/mistral-embed-2312
You are billed for the usage the request actually reported. Prices follow the market.Pricing and top-ups
Mistral Embed 2312 example: embeddings for semantic search
The example is picked from this model's own capabilities. Drop in your key and it runs as is.
curl https://api.uttapen.ir/v1/embeddings \
-H "Authorization: Bearer sk-up-…" \
-H "Content-Type: application/json" \
-d '{
"model": "mistralai/mistral-embed-2312",
"input": ["How long is the electric kettle warranty?", "Warranty period for kitchen appliances"]
}'from openai import OpenAI
import numpy as np
client = OpenAI(base_url="https://api.uttapen.ir/v1", api_key="sk-up-…")
docs = ["The electric kettle warranty is 18 months.", "Orders ship within 48 hours."]
question = "How long is the kettle guaranteed for?"
vecs = client.embeddings.create(model="mistralai/mistral-embed-2312", input=docs + [question]).data
M = np.array([v.embedding for v in vecs])
M /= np.linalg.norm(M, axis=1, keepdims=True)
scores = M[:-1] @ M[-1]
print(docs[int(scores.argmax())])import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.uttapen.ir/v1", apiKey: "sk-up-…" });
const docs = ["The electric kettle warranty is 18 months.", "Orders ship within 48 hours."];
const { data } = await client.embeddings.create({ model: "mistralai/mistral-embed-2312", input: [...docs, "How long is the kettle guaranteed for?"] });
const norm = (v) => { const n = Math.hypot(...v); return v.map((x) => x / n); };
const vecs = data.map((d) => norm(d.embedding));
const q = vecs.at(-1);
const dot = (a, b) => a.reduce((s, x, i) => s + x * b[i], 0);
const best = vecs.slice(0, -1).map((v, i) => [dot(v, q), i]).sort((a, b) => b[0] - a[0])[0][1];
console.log(docs[best]);What is Mistral Embed 2312 good for?
Mistral Embed 2312 is an embedding model from Mistral: it turns text into a vector rather than writing a reply. Call it as "mistralai/
It is multilingual, which matters for Persian text; still, measure it on a few dozen real questions against your own documents before committing.
Only input tokens are billed. Indexing a thousand 500-token documents (500k tokens) costs about 17,310.97 toman here; the vectors are built once and afterwards only queries cost anything. For an alternative at a similar price, look at Titan Embeddings G1 - Text from Amazon.
Mistral Embed is a specialized embedding model for text data, optimized for semantic search and RAG applications. Developed by Mistral AI in late 2023, it produces 1024-dimensional vectors that effectively...
Three real jobs, priced on this model
Each figure is derived from the prices above and moves when they do.
| Job | Tokens | Cost |
|---|---|---|
| One user search query | 30 in | 1.04 toman |
| Indexing 10,000 product titles | 300,000 in | 10,386.58 toman |
| Indexing 1,000 documents of 500 tokens | 500,000 in | 17,310.97 toman |
Frequently asked
- How do I get vectors from Mistral Embed 2312?
- Create an API key, point the official OpenAI SDK's base_url at https:/
/ api.uttapen.ir/ v1 and call client.embeddings.create with model "mistralai/ mistral-embed-2312" and an input string or list of strings. Each input comes back as one vector in data. - What does Mistral Embed 2312 cost in toman?
- 34,622 toman per 1M input tokens, and output is free. You pay for the input tokens the request reported; a failed request costs nothing.
- Can I use Mistral Embed 2312 for chat?
- No. An embedding model writes no text, so chat/
completions with it returns 400. For RAG, build the vectors here and let a chat model write the answer.