Codestral Embed 2505 API: toman pricing and code
mistralai/codestral-embed-2505
You are billed for the usage the request actually reported. Prices follow the market.Pricing and top-ups
Codestral Embed 2505 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/codestral-embed-2505",
"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/codestral-embed-2505", 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/codestral-embed-2505", 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 Codestral Embed 2505 good for?
"mistralai/
It is tuned for code retrieval: finding a function or file from a plain-language description. 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 25,966.45 toman here; the vectors are built once and afterwards only queries cost anything. For an alternative at a similar price, look at Gemini Embedding 001 from Google.
Mistral Codestral Embed is specially designed for code, perfect for embedding code databases, repositories, and powering coding assistants with state-of-the-art retrieval.
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.56 toman |
| Indexing 10,000 product titles | 300,000 in | 15,579.87 toman |
| Indexing 1,000 documents of 500 tokens | 500,000 in | 25,966.45 toman |
Frequently asked
- How do I get vectors from Codestral Embed 2505?
- 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/ codestral-embed-2505" and an input string or list of strings. Each input comes back as one vector in data. - What does Codestral Embed 2505 cost in toman?
- 51,933 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 Codestral Embed 2505 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.